The model
Your balance never changes. Buy 1,000 units and you hold 1,000 units for the life of the instrument. What moves is the price the Market quotes for that asset:balance x price, and that figure grows every second with no
transaction, no gas and no action from you.
Three properties worth knowing:
- Simple interest, pro-rated by the second. It does not compound between checkpoints. A rate change re-checkpoints at the price accrued so far, which is the only point where earlier accrual folds into the base.
- Accrual stops at maturity. A matured note does not keep earning. Assets with no maturity — funds and equity — accrue indefinitely.
- A rate of 0 means no accrual. Equity sits flat by design.
Which instruments accrue
An equity cannot be given a rate:
set_rate refuses one unless the instrument’s own
interest_rate_bps (recorded on the token at mint) is non-zero, so the table is enforced on
chain rather than being a convention. Note the test is the DECLARED RATE, not maturity — a fund
is perpetual and accrues anyway, so maturity would be the wrong question.
The rate a holder earns is the Market’s rate. The token’s interest_rate_bps is the
instrument’s declared rate: set at mint, and restated by the multisig when a rate is reset, in
the same proposal as the Market change. Whether an instrument accrues at all cannot change after
mint — a declared rate can move between non-zero values, but never to or from 0.
Reading the value
The price lives on the Market, not on the token. Read it there.Ethereum (Base)
Solana
There is no oracle program to call — everything needed is on theAsset PDA
(["asset", mint] under rwa_market), so any consumer can compute the price from the account:
rwa_market crate and calling
rwa_market::current_price_scaled(&asset, now) — the same function every pricing path inside
the program uses.
What the price is denominated in
Hundredths of the asset’s own payout token — not dollars. ReadpayoutToken() on EVM or
payout_mint from the Asset PDA on Solana, and label it wherever you display it. GetEquity’s
assets are currently quoted in cNGN, so a price of 100 means ₦1.00. Reading that as
$1.00 is a ~1,500x error.
The payout token is also the settlement currency: it is what you spend to buy, receive when
you sell, and are paid in at redemption.
Realising the value
1
Sell on the Market
Available at any time, at the accreted price less the asset’s fee. This works for every
instrument type, including perpetual funds.
2
Redeem at maturity
Only for assets with a maturity, and only after it passes. Self-service — you call it
yourself, nothing is pushed to you. Pays principal plus all accrued interest in one
transfer, gross, with no fee charged at maturity.It returns
0 and does nothing for a perpetual asset.3
Issuer wind-down
The issuer may retire an asset early — a prepayment, or a default. Every holder is burned
and paid at a single snapshot price, and trading halts when it begins. You do not need to
call anything.
Integrating a price feed
If you are building a pool, a lending market or a structured product on top of one of these assets, you need a price that tracks accrual — a constant-product pool priced off its own reserves will be arbitraged against the accreted value continuously, at the liquidity provider’s expense. Pair the asset against its own payout token. The Market prices in that token, so the feed and the pool agree with no FX leg. Pairing against anything else needs a second rate between the payout token and the other side.Talk to us before integrating. Feeds are provisioned per asset and we will point you at the
right one for the chain you are on.
