Authentication
Most API endpoints are public and don't require authentication. When bearer token auth is enabled on the server, write endpoints (order submission, cancellation) require an API key.
Public Endpoints
All GET endpoints are public and do not require authentication, including:
/api/v1/markets/api/v1/orderbook/{marketId}/api/v1/trades/{marketId}/api/v1/stats/{marketId}/api/v1/platform/stats/api/v1/quick-markets/{asset}/api/v1/resolution/{marketId}/api/v1/stream(WebSocket)
Bearer Token Authentication
When enabled, write endpoints require an Authorization header with a signed bearer token.
Token Format
Tokens use Ed25519 signatures and have the form:
The payload is a JSON object:
kid
string
API key ID (matches your registered key)
ts
int64
Unix timestamp when token was created
n
string
Random 32-character hex nonce (replay prevention)
Tokens are valid for 5 minutes from the ts timestamp.
Ensure your system clock is accurate when generating tokens. Tokens older than 5 minutes will be rejected.
Making Authenticated Requests
Include the token in the Authorization header:
Registering an API Key
Register for API credentials by proving wallet ownership with an Ethereum signature.
POST to:
This endpoint does not require bearer authentication — it uses wallet signature verification instead.
Request: Register API Key
Request body (JSON):
address
address
Yes
Your Ethereum wallet address
signature
string
Yes
Signature of the message below
name
string
No
Friendly name for the key
The message to sign:
Sign this message using a standard Ethereum personal sign (eth_sign or personal_sign).
Error Responses
Error responses for token/auth related failures
401
missing authorization header
No Authorization header provided
401
invalid authorization format
Must be Bearer <token>
401
invalid token format
Token is malformed
401
token expired
Token ts is older than 5 minutes
401
API key not found
The kid doesn't match any registered key
401
API key is inactive
Key has been revoked
401
API key has expired
Key's expiration time has passed
401
invalid signature
Ed25519 signature verification failed
Last updated
