Skip to main content
Phase one of on-chain trading runs on a preview host against Base Sepolia. It is a test environment: the tokens have no value and the database can be reset. On this host every order in OOM or USDC must carry an EIP-712 LimitOrderIntent signed by the Safe owner. HMAC alone cannot create an order. Production (https://api.futuur.com) does not accept the on-chain fields yet.

Host

Paths end with a trailing slash, for example POST /v2.0/orders/.

Chain

chain_id is optional on every endpoint that takes it and defaults to the active chain. A different value is rejected. Base mainnet (8453) is not active on this host.

Tokens and pool

Treat the API as the source of truth for these addresses. POST /orders/signing-context/ and GET /me/safe/trading-status/ return poolAddress and collateralToken for your request. Use those values when you build an approve, and stop if they differ from this table.
Amounts on-chain use 6 decimals for both tokens: 1 USDC = 1000000 raw units.

Get test funds

Check what arrived with GET /me/safe-wallet/?refresh=1 and GET /me/balances/.

Account requirements

  • Your account has a wallet_address (the owner EOA). You get one by signing in with that wallet.
  • Your Safe is registered and deployed. See Safe wallet.
  • Trading is enabled once per currency (a standing approve to the pool).
  • For USDC orders signed with HMAC, Real money trading is turned on for the API key, and the event allows real money. Otherwise create returns 403 RealMoneyBetNotAllowed.

What is live

What is not live

Next steps