Skip to main content
Plain JSON over HTTP and WebSocket, for bots and other clients. The web app uses a separate internal API; this one is versioned, and fields documented here won’t change meaning within v1.
  • HTTP: https://api.paramx.xyz/v1. The OpenAPI document is at /v1/openapi.json.
  • WebSocket: wss://ws.paramx.xyz/v1.
  • Signing: orders, cancels and withdrawals are signed by the account’s trading key, as described in the signing spec.
Devnet: the same API at https://api.paramx.xyz/devnet/v1 and wss://ws.paramx.xyz/devnet/v1, plus POST /v1/faucet {"address": "0x…"}. That mints 1,000 test USDC to the address’s wallet, once a day per address; deposit it with POST /v1/deposits. Devnet is wiped about weekly and redeploys itself, after which accounts must be set up again.

Formats

  • Big integers (contract ids, nonces) are decimal strings.
  • Prices and amounts are decimal strings in USDC and shares, with at most 6 decimals, e.g. "0.43", "10". Onchain, the same values are micro units.
  • Times are Unix milliseconds, except the tile window inside a contract id, which is in seconds.
  • Addresses are 0x followed by 64 hex digits.

Errors

Errors return a non-2xx status and a body like this. Match on code; the message is for humans.
More codes may be added: treat an unknown one as a rejection and read message.