Skip to main content
Tokenized Assets lets users buy real ERC-20 tokens that represent stocks and real-world assets, and hold them in their own Tokenized Assets Account. Four issuers with different settlement models sit behind one API and one account: you always call the same endpoints and read the same positions. This is different from Perpetual Trading, where users trade contracts with leverage and own no token.

What users can buy

The markets endpoint returns the live catalog with prices, 24h change, APY and TVL for yield assets, and whether each market is open right now.

Before you start

1. Find a market

Read symbol, current_price_usd, asset_class and status.is_open. Equities follow US market hours, and status.next_open says when a closed market reopens. Filter with provider, asset_class, chain, category or search.

2. Buy

Which call you make depends on asset_class. Equities use signed orders. Everything else is one transaction.

Equities: place an order

1

Build the order

Buy 100 USDC of TSLAon:
slippage_bps is in basis points: 50 is 0.5%.
2

Approve the input token (first order per token only)

If the response includes approval_safe_tx_eip712, the user signs it as EIP-712 typed data, and you relay it through POST /v2/gas_sponsorship/prepare with product: "tokenized_assets". Wait for that transaction to confirm before submitting the order. Later orders with the same input token skip this step.
3

Sign and submit the order

The user signs order.safe_message_eip712 as EIP-712 typed data. This signature never goes on-chain: it authorizes market makers to fill the order.
Pass order_message, extension and quote_id back exactly as you received them.
4

Poll for the fill

status is pending, then filled (with fill_tx_hash), expired if no market maker filled it in time, or cancelled. The tokens land in the user’s account when the order fills. To cancel a pending or expired order, call POST /v2/tokenized_assets/order/{order_hash}/cancel and relay the returned typed data like the approval.

RWA tokens, vaults and deRWA: one transaction

Buy 1,000 USDC of mTBILL on Ethereum:
For an IXS vault or a Centrifuge deRWA token, set token_out to the vault address or the token symbol from the markets list, and chain to bsc or base. slippage is in percent: 0.5 is 0.5%.

3. Track positions

Each position has balance, current_price_usd, balance_usd and a pnl block, and the account has a total_usd. The read is per chain: pass chain=base or chain=bsc for holdings there.

4. Sell

  • Equities: build an order with the equity as from_token and USDC as to_token, then submit and poll as above.
  • Everything else: call POST /v2/tokenized_assets/transact/sell with the token as token_in and USDC as token_out. Midas and Centrifuge sells settle in the same transaction. An IXS redemption is async: the vault operator settles it later, so poll GET /v2/tokenized_assets/redemptions until it’s finalized.
The USDC lands in the Tokenized Assets Account. Send it to the user’s wallet with transfer. See Withdraw Funds.

Good to know

  • Two trade flows, enforced. An RWA symbol on /order returns 422 Wrong trade flow, and an equity on /transact/buy returns 422. Branch on asset_class.
  • Fees. Add a fee to transact/sell to take a share of the USDC proceeds. For equities, call POST /v2/tokenized_assets/order/{order_hash}/charge_fee after a sell fills. See Embedded Fees.
  • Gas sponsorship. transact/buy, transact/sell and transfer accept gas_sponsorship: true. Equity approvals and cancels are always relayed through prepare. See Gas Sponsorship.
  • deRWA tokens are Regulation S instruments. Their markets carry restricted_jurisdictions (["US"]). The API reports it but doesn’t enforce it. Geo-gating is your responsibility.
  • APYs here are fractions (0.0512 is 5.12%), unlike Earn and Credit, which return percentages.
  • USDC on BNB Smart Chain has 18 decimals. Amounts are always in token units, so "1000" still means 1,000 USDC.

Errors

Endpoints

Next

Perpetual Trading

Stocks, commodities and forex as perps, with leverage.

Embedded Fees

Earn a fee on every sale.

Gas Sponsorship

Pay gas for your users so they never need ETH.