Admin

Protocol administration

Bounded configuration for the index, Reserve, Depth, Engine, pricing and rebalancing. Every operation names the call it maps to and the role that call requires.

Nothing deployed
Contract-enforcedAdmin cannot move Reserve assets outside contract limits. There is no governor withdrawal path on the Vault — not a disabled one, an absent one — and a test reads the Vault ABI and fails if such a function ever appears. Every parameter below is bounded by an immutable cap, timelocked, versioned and emitted onchain.
Authority
Not deployed

Who holds each role on the live deployment. Read from the contracts, not from this page’s configuration — a console that displayed its own idea of who governs would be describing an intention rather than a fact.

ContractGovernorPendingGuardianPausedGuardian action
IndexVaultNot live
IndexRouterNot live
ReserveControllerNot live
EngineControllerNot live
AssetRegistryNot live

Governor

Configures. Transferred in two steps.
  • Propose and commit methodology and Engine configuration
  • Approve markets, set Depth ceilings and per-market caps
  • Appoint operators, redeemers and the guardian
  • Unpause
  • Withdraw Reserve assets — no such function exists
  • Skip a timelock, or mint shares directly

Guardian

Stops things. Cannot start them.
  • Pause any contract
  • Halt a market adapter against new Depth
  • Cancel a rebalance proposal mid-ramp
  • Unpause — deliberately governor-only
  • Change any configuration value
  • Move capital in any direction
What is not hereOnly guardian actions are exposed in this console, and only pausing. Unpause is absent by design — a guardian that could unpause would simply be a governor. Every governor action — transferring governance, changing configuration, setting limits, appointing operators — carries a timelock precisely because it is meant to be slow and witnessed, and belongs in a multisig rather than behind a browser button.
Governance operations
  • Transfer governanceNominates a successor. Nothing changes until the nominee accepts, so a typo cannot orphan the protocol.
    transferGovernance(address)GovernorTwo-step
  • Accept governanceCalled by the nominee. This is the step that actually moves the role.
    acceptGovernance()AnyoneNominee only
  • Set guardianReplaces the pause-only role.
    setGuardian(address)GovernorImmediate
  • PauseStops state-changing entry points on a contract. Redemption paths are deliberately excluded.
    pause()GuardianImmediate
  • UnpauseGovernor only. A guardian that could unpause would be a governor.
    unpause()GovernorImmediate
Read-only
category
UTILITY
targetConstituents
10
maxMarketCap
<$50M
minMarketCap
Configured
maxWeightBps
Concentration cap
weighting
Market cap / sqrt / equal / liquidity-adjusted
minLiquidity
Configured
minVolume24h
Configured
minAgeSeconds
Configured
maxMetricsAge
Staleness bound
reviewPeriod
30 days
version
Review due
How a methodology change lands
  1. ProposeParameters are validated on submission, not on commit. An impossible methodology cannot be queued, let alone enacted.
  2. WaitThe timelock runs in full. There is no expedited path, because the delay is the entire protection.
  3. CommitPermissionless once the delay has elapsed — after the wait there is nothing left to deliberate, so the governor is not a bottleneck.
  4. VersionThe version number increments and is emitted. Every screening result and weight computation is attributable to one version.
Operations
  • Propose methodologyQueues a new parameter set behind the timelock. Validated now, enacted later.
    propose(Parameters,uint64)GovernorTimelocked
  • Commit methodologyEnacts the queued set once its delay has run.
    commit()AnyoneAfter delay
  • Cancel proposalDrops a queued set without enacting it.
    cancelProposal()GovernorImmediate
  • Record reviewMarks the periodic review as performed and restarts the clock.
    recordReview()GovernorImmediate
  • Set metrics sourceRepoints the market-cap, liquidity and volume feed.
    setMetricsSource(address)GovernorImmediate