Skip to main content
IX RWA assets earn by renting out compute. That revenue, net of costs, is split between investors and the protocol — and the investor share accrues into IX-CORE’s net asset value (NAV) rather than being paid out as a separate claim. Your yield shows up as a rising NAV-per-share, realized when you redeem.

From gross rental to investor yield

1

Gross revenue

The asset’s compute is rented at market rates over a period.
2

Net revenue

Operator and protocol fees (management / performance / creation-redemption) are deducted.
3

Accrual, not payout

The investor share is deposited into the vault via notifyRevenue(cohortId, amount), raising the cash term of totalAssets — so IX-CORE’s NAV-per-share rises for every holder at once, no claim transaction required.
4

Realize on redeem

You realize accrued yield by redeeming shares at the higher NAV.

How accrual moves the price

NAV has two terms — cash and hardware value — and revenue moves the cash term:
Because notifyRevenue simply transfers USDC into the vault (tagged with a cohort id for the indexer), the price change is trustless: anyone can watch the balance rise on-chain. The REVENUE_DEPOSITOR_ROLE (the off-chain EconomicsFeeder) is the only caller.

Fee model

Investor-facing vault fees follow OpenZeppelin’s ERC-4626 fees pattern, so previews equal actuals: These sit on top of the operator and protocol economics that determine net revenue before it ever reaches the vault. See Fees & terms for the full schedule.

Yield

Yield is dynamictotal revenue ÷ total NAV, shown as a trailing-window realized figure, with NAV-per-share displayed alongside so depreciation stays visible. A smoothing reserve buffers period-to-period swings and also serves as the redemption buffer. If an asset’s feed goes stale or diverges, it is auto-quarantined in the asset registry — dropped from NAV and yield until healthy (the oracle sums only cohorts with ≥1 Active asset).
Yield and NAV shown in the app are simulated in settlement but driven by live market data on testnet: a LiveDataNAVOracle behind a swappable INAVOracle seam is fed from live Vast.ai rates and real hardware cost/depreciation, settled in test tokens. They are not a promise of realized return; the mainnet oracle is the same code with an operator-attested feed. See the roadmap.

The smoothing reserve

A dedicated SmoothingReserve contract holds USDC that:
  • Smooths distributions — topped up from a skim of revenue so good periods cushion weaker ones.
  • Funds redemptions — the vault pulls from it (coverShortfall, SPENDER_ROLE) when a queued exit exceeds the vault’s own balance.
Its balance is public on-chain, so reserve coverage is verifiable rather than asserted.

Why accrual instead of Merkle claims

The BNB-era design paid distributions via Merkle claims. IX-CORE retires that for ongoing payouts: revenue compounds into NAV automatically, which is gas-free for holders, keeps every share equal, and removes the per-distribution claim step. The Merkle mechanism now exists only for the one-time migration airdrop.

Auto-compounding by design

Because IX-CORE is an accumulating vault, distributions are effectively auto-reinvested — you don’t opt in. Your position grows as NAV-per-share rises; withdrawing means redeeming at the higher NAV.
Status: the vault, accrual, and redemption paths are live on testnet with simulated settlement. The first real revenue accrual runs as part of the verified money-path milestone on the roadmap. Until then, figures illustrate the model, not realized payouts.