Base URL
Authentication
All endpoints exceptPOST /v1/auth/register require a Bearer token.
dk_live_ prefix. You receive your key exactly once during registration.
Permissions
Each API key has four permission scopes.| Permission | What it controls |
|---|---|
read | Balances, positions, markets, actions, and transfer status |
trade | Order placement |
transfer | Venue-to-venue transfers |
strategies | Reserved for coming soon strategy endpoints |
Rate limits
| Tier | Limit |
|---|---|
| Standard | 60 requests/minute |
| Premium | 300 requests/minute |
Retry-After header in seconds and a retryAfter field in milliseconds.
Asynchronous execution
Orders and transfers run through durable workflows.- Call
POST /v1/orders/perp,POST /v1/orders/spot,POST /v1/orders/polymarket, orPOST /v1/transfers. - Docent returns an
actionIdfor orders or atransferIdfor transfers. - The workflow handles funding and execution in the background.
- Poll
GET /v1/actions?actionId=...for orders orGET /v1/transfers?transferId=...for transfers.
Error format
All errors follow the same shape.| Status | Code | Meaning |
|---|---|---|
| 400 | BAD_REQUEST | Invalid query params or business-rule failure |
| 400 | VALIDATION_ERROR | Invalid request body |
| 400 | ORDER_REJECTED | Order could not be accepted |
| 400 | ORDER_FAILED | Order request failed before execution |
| 400 | TRANSFER_FAILED | Transfer request failed before execution |
| 401 | UNAUTHORIZED | Missing, invalid, or expired API key |
| 403 | FORBIDDEN | Key lacks the required permission |
| 404 | NOT_FOUND | Requested action or transfer was not found |
| 429 | RATE_LIMITED | Too many requests |
| 501 | NOT_IMPLEMENTED | Endpoint exists but is not live yet |
Supported venues
| Venue | What you can trade |
|---|---|
| Hyperliquid perpetuals | BTC, ETH, SOL, and other perpetual markets |
| Hyperliquid spot | PURR, HFUN, and other Hyperliquid spot tokens |
| Polymarket | Prediction markets with Yes/No outcomes |