You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Model owners should pay for the network services they consume, with a slice of every flow sustaining a real treasury. Today only ETH registration/manifest fees exist in DINModelRegistry, withdrawable by owner() — no per-GI service fees, no treasury, no routing.
Fee lines: model registration fee (open-source vs proprietary tiers, reroute to treasury), manifest update fee, per-GI service fee (one flow with the reward-pool deposit: 95% validator pool / 5% treasury), storage-cost line item (design the routing slot now, hold at 0 until Filecoin migration — RES-1), dispute bond (returned + bounty if upheld, treasury if frivolous)
Fee-router contract: single router with DAO-settable basis-point split fractions modelOwner → {validatorPool, treasury, burn, storage} summing to 100%; sane hard bounds only (e.g., treasury cut ≤ 20%). ✅ Resolved (Abraham, 2026-07-21): add a publicGoods slot to the split ({validatorPool, treasury, burn, storage, publicGoods}) now — it doesn't need to be funded immediately, but the slot needs to exist or it never gets built later.
Denomination: registration fees are ETH today, staking/rewards are DIN. ✅ Resolved as a split, not "DIN for all protocol fees" as previously recommended here (Abraham, 2026-07-21): on-chain protocol fees (registration, manifest updates, staking, rewards) → DIN; validator network fees (model owner → validator, i.e. the per-GI service fee, storage line item, dispute bond) → stay in ETH — model owners already pay gas in ETH, and requiring DIN just to pay validators adds friction the depositAndMint on-ramp doesn't fully remove. Migration path: DIN params for the protocol-fee lines only, deprecate their ETH variants after one release; the network-fee lines have no ETH-to-DIN migration. The fee router must handle both assets going forward — accepted complexity, not deferred.
Part of the P3 mechanism-design push (#36).
Summary
Model owners should pay for the network services they consume, with a slice of every flow sustaining a real treasury. Today only ETH registration/manifest fees exist in
DINModelRegistry, withdrawable byowner()— no per-GI service fees, no treasury, no routing.Scope (from MECHANISM_DESIGN §8)
modelOwner → {validatorPool, treasury, burn, storage}summing to 100%; sane hard bounds only (e.g., treasury cut ≤ 20%). ✅ Resolved (Abraham, 2026-07-21): add apublicGoodsslot to the split ({validatorPool, treasury, burn, storage, publicGoods}) now — it doesn't need to be funded immediately, but the slot needs to exist or it never gets built later.depositAndMinton-ramp doesn't fully remove. Migration path: DIN params for the protocol-fee lines only, deprecate their ETH variants after one release; the network-fee lines have no ETH-to-DIN migration. The fee router must handle both assets going forward — accepted complexity, not deferred.Design sources
MECHANISM_DESIGN §8 · issues/tokenomics.md (fee routing scope) · whitepaper-summary §5 (network fees as validator revenue; quadratic public-goods funding stance)
Roadmap anchors: P3-5.3 (fee mechanism), P3-5.1 (governance hooks), RES-1 (Filecoin storage cost slot)