Protocol
Architecture
Four on-chain components and one read-only data path.
Components
- Fee router — verifies eligible creator-fee receipts and forwards SOL into the reserve.
- Reserve (Asset Backing Pool) — a program-owned SOL account with no arbitrary withdrawal path.
- Redemption engine — computes proportional payouts from execution-time state.
- Eligibility ledger — tracks verified purchases, sales and cumulative SOL redeemed per wallet.
Data layer
Blockchain ↓ RPC / indexing layer ↓ Protocol data service (typed reads, caching, retries) ↓ Frontend (renders slot + timestamp of last read)
The frontend caches read-only data briefly and always displays how old that data is. On RPC failure it renders an explicit error state rather than stale numbers presented as live.
Integration boundary
Where the external fee infrastructure cannot natively route fees to a program-owned account, the protocol uses a verification layer: it observes receipts to the designated fee destination and forwards eligible SOL into the reserve, recording the receipt.
Oracle and data requirements
- Reserve balance — getBalance on the pool account.
- Circulating supply — getTokenSupply on the mint.
- Fee receipts — signature history of the designated fee destination.
- Market price — external market data, always labelled separately from backing.
