Requirements
1
A self-held signing key
An EOA on Base whose private key is available to the client for signing. See Choosing a wallet, which covers exporting the key for a Noise app wallet.
2
An API credential
Sign a one-off attestation with that wallet to mint an API key and secret. See Authentication.
3
An exchange account with funds
Register the wallet, approve collateral, and fund it. See Getting Tradeable.
Base URL and environments
Every route is under the base path/api/trader/v1, and the WebSocket is at /ws. Hostnames are published with each deployment.
The development deployment is the sandbox: it issues real API credentials against test funds, which allows an integration to be exercised end to end before capital is at risk. Start there.
The sandbox runs against a testnet, so its chainId and contract addresses differ from production. Take both from GET /status on the deployment being targeted; the chain IDs in the examples below are illustrative.
Each deployment also serves its own live reference. Both sit at the host root, outside the /api/trader/v1 prefix:
Those are generated from the same specification that serves the API, so where these guides and the explorer ever disagree, the explorer is right.
Read the deployment before signing
GET /status publishes the chain IDs and contract addresses that signatures commit to, plus the live rate-limit table.
Read it at startup rather than hardcoding the values. A signature built against a stale clearing-house address is rejected, and the collateral token is not always canonical Circle USDC.
Conventions
- All monetary and quantity values are decimal strings, in both requests and responses, never JSON numbers. Parse them with a decimal library, not floating-point arithmetic.
GET /account/ordersandGET /account/tradesuse cursor pagination. Passbefore=<cursor>and readnextCursor, which isnullon the last page. There are no offsets: new fills insert at the head, so an offset would skip or repeat rows. Other list routes return a single unpaginated response and carry nonextCursor.- Timestamp units vary by field, so check the field rather than assuming one convention. In Unix seconds:
x-noise-timestamp, the attestationtimestamp, an order’sexpiry(in both directions, matching what was signed), and thex-ratelimit-resetheader. In epoch milliseconds:serverTimeonGET /statusand onsystem:heartbeat, and price-point timestamps. Do not compare across the two without converting. - The API uses the internal names for the two prices:
midPriceis what the app calls market price, andmarkPriceis what it calls relevance. See How It Works.
Endpoints at a glance
All paths are relative to/api/trader/v1. Public routes need no credential, Attestation routes are authorized by a wallet signature instead of a key, and Key routes need signed request headers.
Terms
These guides describe the API contract. Nothing here is trading, investment, or tax advice, and
running a bot against a live market risks real capital.