On-chain CLOB trading is coming soon. Today’s production API still uses HMAC-only ledger settlement. This page describes the builder flow so you can prepare. The endpoints below are not live on
https://api.futuur.com yet.LimitOrderIntent. HMAC keys alone cannot create OOM or USDC orders once on-chain settlement is on.
If you do not have credentials yet, start with Get your API keys. For the matching and settlement model, see On-chain trading.
Prerequisites
- A Futuur account with
wallet_addresslinked and a registered Safe (POST /me/safe/). - HMAC public and private keys for L2 request signing.
- The owner EOA private key — the same key that owns the Safe.
- The Safe funded with OOM and/or USDC on the active chain.
- Trading enabled once per collateral token.
Step 1 — Enable trading
Grant the pool a standing allowance so bids do not need a per-order approve.
After this succeeds, signing-context returns
needsApproval: false and creates are intent-only.
Step 2 — Signing context
Call this once at submit time, not on every UI keystroke.Step 3 — Sign LimitOrderIntent
Signeip712 with the owner EOA, not the Safe contract address. Domain: FutuurLimitOrder v1, verifyingContract is the zero address.
eip712 object from signing-context as-is. maxUsdcRaw must match exactly.
Step 4 — Create the order
settlement_status is ready (standing allowance confirmed). Asks become ready as soon as the intent verifies.
Selling
Do not sell on-chain OOM or USDC withPATCH /wagers/{id}/. That path only moves the internal ledger. Use a signed side=ask create instead.
When on-chain settlement is on, PATCH /wagers/ returns onchain_sell_requires_limit_order.