This reference is self-contained and safe to drop into another repo. You only need a
wallet, the addresses on these pages, and an RPC endpoint.
How trading works
You trade against a vault, not against other users. Each asset has:- A token — the ERC-20 (Base) or SPL Token-2022 (Solana) representing the asset.
- A vault — holds the payment token (for buy-backs) and unsold token inventory.
- A market — one contract/program serving all assets, with a single admin-set price per asset.
Pricing & fees
- Price is an integer in USD cents per whole token (
PRICE_PRECISION = 100). A price of150means $1.50 per token. - Fees are in basis points (
100 bps = 1%), taken off your buy cost and sell proceeds.
Settlement currency
Each asset settles in its own payment token — e.g. USDC or CNGN. Always read it per asset (payoutToken() on EVM, payout_token in the token metadata on Solana) rather
than assuming USDC.
Slippage protection
Every buy/sell takes a guard argument. Quote first, then pass the guard so the trade reverts if the price moved against you:- Buy:
maxCost/max_cost— the most payment token you’re willing to spend. - Sell:
minPayout/min_proceeds— the least payment token you’ll accept.
Payouts & redemption
Some tokens are debt/fund tokens that accrue interest and pay it out on a schedule; you receive those payouts automatically (or claim them). At end-of-life a token is redeemed at a final price. See each chain’s page for how to claim.Ethereum (Base)
Addresses, then the
Market / token surface you call to trade.Solana
Program IDs & PDAs, then the
rwa_market instructions you call to trade.