Docs · lifecycle

How it works

A Fides index is defined by a fixed set of assets and a per-token backing amount for each — the units. Hold one index token and the vault holds, at minimum, one unit of every asset on your behalf. Everything below is about keeping that sentence true.

Mint — enter with the basket

You deposit the per-token amount of every asset in the basket and the vault mints your index tokens against them. Deposits round up(in the vault's favor), so backing can only ever be met or exceeded. A mint fee (hard-capped at 0.50%) is taken in newly minted tokens, never from the basket.

  • Supply is capped: a hard ceiling fixed at deploy, and an active cap that the guardian can only lower.
  • Minting can be paused in an emergency — but pausing mint never affects redemption.

Redeem — exit in-kind, always

Burn tokens, receive the underlying stocks — all of them, in one transaction, rounded down. Redemption is deliberately the least-privileged path in the system:

  • No admin, guardian, or agent can pause or gate it. There is no code path for that.
  • It needs no oracle and no router — even if every external dependency dies, redemption still works.
  • It is all-or-nothing by design: you always get the whole basket, never a partial IOU.

Honest limitation · issuer freeze

Robinhood stock tokens are issuer-controlled instruments. If the issuer freezes transfers of one asset in the basket, in-kind redemption of the whole basket reverts until it unfreezes. This is inherited from the underlying tokens — not created by Fides — and we chose all-or-nothing over partial redemptions to avoid bank-run dynamics and oracle dependence in the exit path.

Rebalance — the agent's only power

On a schedule, the agent computes target weights (momentum strategy), plans the minimal set of swaps, and submits them to the vault. The vault — not the agent — enforces the rails:

RailWhat the contract enforces
WhitelistSwaps may only touch assets already in the basket. The set is fixed at deploy.
Slippage capPortfolio value (by oracle) may not drop more than the fixed tolerance in one rebalance.
Turnover capTotal value moved per rebalance is bounded — no full-portfolio churn.
CooldownA minimum time gap between rebalances, enforced onchain.
RecomputeAfter the swaps, units are recomputed from actual balances — fully backed by construction.

Each rebalance emits an event with a hash of the agent's rationale, so every move ships with its reasoning. If the agent goes rogue or its strategy is wrong, the worst it can do is a bad-but-bounded trade inside the rails — it cannot withdraw, and it cannot block your exit.