Skip to main content
This section shows you how to buy and sell RWA (Real-World Asset) tokens directly against the smart contracts — no backend API in the middle. The same product is deployed on two chains, Ethereum (Base) and Solana, so pick the one your wallet is on. The trading model is identical on both.
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.
Every trade is with the vault: you buy tokens from it and sell them back to it at a single admin-set price, minus a fee. Because this isn’t an AMM, the price is fixed per trade — it doesn’t shift with your order size or with market depth. One token or a million, you get the same per-token price with zero slippage from your own trade.

Pricing & fees

  • Price is an integer in USD cents per whole token (PRICE_PRECISION = 100). A price of 150 means $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.