RFV & redemption
Every IndexPad token has an on-chain backing floor: a share of all trade fees accrues as USDG plus tokenized stocks in the index's IndexTreasury. Any holder can burn index tokens for a pro-rata slice of that whole backing basket, at any time, with no oracle and no permission — minus a small spread.
What backs the token
Two of the three non-protocol fee destinations are backing:
- the USDG reserve (
rfvShareBpsof each fee), and - the basket stocks (the remainder that buys RWAs).
The third — the in-kind buyback inventory — is the index's own token, so it is deliberately not counted as backing (it can't back itself) and is not paid out on redemption. It only feeds bond markets.
Redeeming (multi-asset, oracle-free)
IERC20(index).approve(address(treasury), amount);
(uint256 reserveOut, address[] memory stocks, uint256[] memory stockOuts)
= treasury.redeem(amount); // burns `amount`, pays USDG + every stock
Redeeming pays you a pro-rata slice of every backing asset — USDG and each basket stock — each less the fixed 5% spread that stays in the vault. Read the quote first:
treasury.quoteReserveOut(amount); // USDG you'd receive (net of spread)
treasury.quoteStockOuts(amount); // per-stock amounts (net of spread)
treasury.backingPerTokenUsdg(); // display NAV per token (Chainlink-priced)
Properties worth knowing:
- Oracle-free. Payouts are pure pro-rata arithmetic over the treasury's raw balances — always available, even if every price feed is down. (The
backingPerTokenUsdgdisplay uses Chainlink; the payout never does.) - Per-asset isolation. A stock that reverts on transfer (paused / blocklisted / frozen RWA) is skipped — its share stays as backing and you still receive every other asset.
stockOuts[i] == 0marks a skipped leg. No all-or-nothing brick. - Redemption burns. Supply shrinks and the 5% spread stays behind, so every redemption weakly raises backing-per-token for the holders who remain — the floor can't be drained below pro-rata.
- Rounds in the floor's favour and refuses zero-payout dust burns.
Why the floor matters
Backing gives every index token an arbitrage-anchored lower bound. If the market price falls below backing-per-token (net of the spread), buying and redeeming is profitable, which bids the price back up. Meanwhile every trade fee pushes backing upward, so the token's worst case improves monotonically with volume.
A creator tunes the character of that floor at launch via the fee split — mostly-USDG (stable), mostly-stocks (equity-correlated), or a mix — but the redemption mechanism is identical for every index.