Download OpenAPI specification:Download
OpenAPI Specification for Algo724 Cadenza Fermata API
Root endpoint providing API metadata, version information, and available endpoints
{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "name": "Algo724 Cadenza Fermata API",
- "version": "3.0.1",
- "description": "Unified trading platform for connecting to multiple venues, executing orders, and accessing real-time market data",
}
}Health check endpoint for monitoring service status and dependencies. No authentication required - designed for load balancers, Kubernetes probes, and monitoring systems.
{- "status": "healthy",
- "timestamp": 1632933600000,
- "isoDateTime": "2023-09-29T12:00:00.000Z",
- "version": "3.0.1",
- "checks": {
- "database": {
- "status": "healthy"
}, - "temporal": {
- "status": "healthy"
}, - "redis": {
- "status": "healthy"
}
}
}Create a new user account with email and password
| email required | string <email> User email address |
| password required | string >= 8 characters User password (minimum 8 characters) |
object Optional user metadata |
{- "email": "user@example.com",
- "password": "securepassword123",
- "metadata": { }
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "accessToken": "string",
- "refreshToken": "string",
- "tokenType": "bearer",
- "expiresIn": 3600,
- "expiresAt": 0,
- "user": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "email": "user@example.com",
- "phone": "string",
- "emailConfirmedAt": "2019-08-24T14:15:22Z",
- "phoneConfirmedAt": "2019-08-24T14:15:22Z",
- "lastSignInAt": "2019-08-24T14:15:22Z",
- "role": "authenticated",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "appMetadata": {
- "tenantId": "string",
- "environments": [
- "string"
]
}, - "userMetadata": { },
- "identities": [
- {
- "id": "string",
- "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
- "identityData": { },
- "provider": "string",
- "lastSignInAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}
}
}Authenticate user and return access/refresh tokens
| email required | string <email> User email address |
| password required | string User password |
{- "email": "user@example.com",
- "password": "securepassword123"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "accessToken": "string",
- "refreshToken": "string",
- "tokenType": "bearer",
- "expiresIn": 3600,
- "expiresAt": 0,
- "user": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "email": "user@example.com",
- "phone": "string",
- "emailConfirmedAt": "2019-08-24T14:15:22Z",
- "phoneConfirmedAt": "2019-08-24T14:15:22Z",
- "lastSignInAt": "2019-08-24T14:15:22Z",
- "role": "authenticated",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "appMetadata": {
- "tenantId": "string",
- "environments": [
- "string"
]
}, - "userMetadata": { },
- "identities": [
- {
- "id": "string",
- "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
- "identityData": { },
- "provider": "string",
- "lastSignInAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}
}
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": "ok"
}Get new access token using refresh token
| refreshToken required | string Refresh token from previous login |
{- "refreshToken": "string"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "accessToken": "string",
- "refreshToken": "string",
- "tokenType": "bearer",
- "expiresIn": 3600,
- "expiresAt": 0,
- "user": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "email": "user@example.com",
- "phone": "string",
- "emailConfirmedAt": "2019-08-24T14:15:22Z",
- "phoneConfirmedAt": "2019-08-24T14:15:22Z",
- "lastSignInAt": "2019-08-24T14:15:22Z",
- "role": "authenticated",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "appMetadata": {
- "tenantId": "string",
- "environments": [
- "string"
]
}, - "userMetadata": { },
- "identities": [
- {
- "id": "string",
- "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
- "identityData": { },
- "provider": "string",
- "lastSignInAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}
}
}Get the currently authenticated user's information
{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "email": "user@example.com",
- "phone": "string",
- "emailConfirmedAt": "2019-08-24T14:15:22Z",
- "phoneConfirmedAt": "2019-08-24T14:15:22Z",
- "lastSignInAt": "2019-08-24T14:15:22Z",
- "role": "authenticated",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "appMetadata": {
- "tenantId": "string",
- "environments": [
- "string"
]
}, - "userMetadata": { },
- "identities": [
- {
- "id": "string",
- "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
- "identityData": { },
- "provider": "string",
- "lastSignInAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}
}Update the currently authenticated user's information
string <email> New email address | |
| password | string >= 8 characters New password (minimum 8 characters) |
object User metadata to update |
{- "email": "user@example.com",
- "password": "stringst",
- "metadata": { }
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "email": "user@example.com",
- "phone": "string",
- "emailConfirmedAt": "2019-08-24T14:15:22Z",
- "phoneConfirmedAt": "2019-08-24T14:15:22Z",
- "lastSignInAt": "2019-08-24T14:15:22Z",
- "role": "authenticated",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "appMetadata": {
- "tenantId": "string",
- "environments": [
- "string"
]
}, - "userMetadata": { },
- "identities": [
- {
- "id": "string",
- "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
- "identityData": { },
- "provider": "string",
- "lastSignInAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}
}Send password recovery email to user
| email required | string <email> Email address to send recovery link |
{- "email": "user@example.com"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": "ok"
}Submit a new trade order
| tradingAccountId required | string <uuid> (uuidString) UUID string |
| instrumentId | string (instrumentId) Instrument ID in format {VENUE}:{BASE}/{QUOTE} |
| idempotencyKey | string (idempotencyKey) Idempotency key to prevent duplicate request processing |
| clientOrderId | string (clientOrderId) Client-provided order ID, used as idempotency key |
| orderSide required | string (orderSide) Enum: "BUY" "SELL" "UNKNOWN" Order side (buy or sell) |
| orderType required | string or null (orderType) Enum: "MARKET" "LIMIT" "LIMIT_MAKER" "STOP" "STOP_LIMIT" "STOP_LOSS" "STOP_LOSS_LIMIT" "TAKE_PROFIT" "TAKE_PROFIT_LIMIT" "TRAILING_STOP" "QUOTED" "UNKNOWN" Order type |
| limitPrice | string (decimal) ^-?\d+(\.\d+)?$ Decimal value as string to preserve precision |
| stopPrice | string (decimal) ^-?\d+(\.\d+)?$ Decimal value as string to preserve precision |
| quantity required | string (decimal) ^-?\d+(\.\d+)?$ Decimal value as string to preserve precision |
| quantityType | string (orderQuantityType) Enum: "BASE" "QUOTE" "POSITION_RATIO" "POSITION_PERCENTAGE" How order quantity is specified |
| quantityRounding | string (quantityRounding) Default: "" Enum: "" "UP" "DOWN" "NEAREST" "CEIL" "FLOOR" "HALF_UP" "HALF_DOWN" "HALF_EVEN" Quantity rounding strategy to meet lot size requirements. Empty string means no rounding. |
| positionId | string <uuid> (uuidString) UUID string |
| timeInForce | string or null (timeInForce) Enum: "GTC" "IOC" "FOK" "GTD" "DAY" "GTX" "OPG" "CLS" "GFA" "GFS" "GTM" "MOO" "MOC" "EXT" "UNKNOWN" Time in force - specifies how long an order remains active |
| expireAt | integer <int64> (millisecond) Unix timestamp in milliseconds |
| quoteId | string <uuid> (uuidString) UUID string |
| leverage | integer Leverage |
| awaitClosed | boolean Default: false If true, the API will wait up to 1 second for the order to reach a closed/finalized state (FILLED, REJECTED, EXPIRED, CANCELLED) before responding. If false or omitted, returns immediately with the initial order state. Useful for market orders that typically fill immediately. |
| takeProfitPrice | string (decimal) ^-?\d+(\.\d+)?$ Decimal value as string to preserve precision |
| takeProfitLimitPrice | string (decimal) ^-?\d+(\.\d+)?$ Decimal value as string to preserve precision |
| stopLossPrice | string (decimal) ^-?\d+(\.\d+)?$ Decimal value as string to preserve precision |
| stopLossLimitPrice | string (decimal) ^-?\d+(\.\d+)?$ Decimal value as string to preserve precision |
| takeProfitTimeInForce | string or null (timeInForce) Enum: "GTC" "IOC" "FOK" "GTD" "DAY" "GTX" "OPG" "CLS" "GFA" "GFS" "GTM" "MOO" "MOC" "EXT" "UNKNOWN" Time in force - specifies how long an order remains active |
| stopLossTimeInForce | string or null (timeInForce) Enum: "GTC" "IOC" "FOK" "GTD" "DAY" "GTX" "OPG" "CLS" "GFA" "GFS" "GTM" "MOO" "MOC" "EXT" "UNKNOWN" Time in force - specifies how long an order remains active |
{- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "instrumentId": "BINANCE:BTC/USDT",
- "idempotencyKey": "my_unique_request_id",
- "clientOrderId": "client_order_12345",
- "orderSide": "BUY",
- "orderType": "LIMIT",
- "limitPrice": "1234.56789000",
- "stopPrice": "1234.56789000",
- "quantity": "1234.56789000",
- "quantityType": "BASE",
- "quantityRounding": "DOWN",
- "positionId": "da3402dc-13f8-45f9-83a6-bde06dd8eb35",
- "timeInForce": "GTC",
- "expireAt": 1632933600000,
- "quoteId": "826e5192-f8c6-4e24-aab3-3910e46c52b7",
- "leverage": 0,
- "awaitClosed": true,
- "takeProfitPrice": "1234.56789000",
- "takeProfitLimitPrice": "1234.56789000",
- "stopLossPrice": "1234.56789000",
- "stopLossLimitPrice": "1234.56789000",
- "takeProfitTimeInForce": "GTC",
- "stopLossTimeInForce": "GTC"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": [
- {
- "tradeOrderId": "85df4133-2159-4db1-a117-d20455178752",
- "orderListId": "2042488",
- "contingencyType": "OCO",
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "venue": "BINANCE",
- "positionId": "da3402dc-13f8-45f9-83a6-bde06dd8eb35",
- "instrumentId": "BINANCE:BTC/USDT",
- "quoteId": "826e5192-f8c6-4e24-aab3-3910e46c52b7",
- "baseAsset": "BTC",
- "quoteAsset": "USDT",
- "orderSide": "BUY",
- "orderType": "LIMIT",
- "timeInForce": "GTC",
- "status": "FILLED",
- "rejectReason": "string",
- "cancelReason": "string",
- "limitPrice": "1234.56789000",
- "stopPrice": "1234.56789000",
- "takeProfitPrice": "1234.56789000",
- "takeProfitLimitPrice": "1234.56789000",
- "stopLossPrice": "1234.56789000",
- "stopLossLimitPrice": "1234.56789000",
- "takeProfitTimeInForce": "GTC",
- "stopLossTimeInForce": "GTC",
- "quantity": "1234.56789000",
- "orderQuantityType": "BASE",
- "quantityRounding": "DOWN",
- "executedPrice": "1234.56789000",
- "executedQuantity": "1234.56789000",
- "executedCost": "1234.56789000",
- "fees": [
- {
- "security": "BINANCE:BTC",
- "asset": "BTC",
- "venue": "BINANCE",
- "quantity": "1234.56789000"
}
], - "executions": [
- {
- "executionId": "fc49a52d-e069-4441-83c6-8d779c937dd9",
- "externalTradeId": "binance-exec-12345",
- "venue": "BINANCE",
- "instrumentId": "BINANCE:BTC/USDT",
- "orderSide": "BUY",
- "executedQuantity": "1234.56789000",
- "executedPrice": "1234.56789000",
- "executedCost": "1234.56789000",
- "fees": [
- {
- "security": "BINANCE:BTC",
- "asset": "BTC",
- "venue": "BINANCE",
- "quantity": "1234.56789000"
}
], - "executedAt": 1632933600000,
- "executedAtDateTime": "2019-08-24T14:15:22Z"
}
], - "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z",
- "expireAt": 1632933600000,
- "expireAtDateTime": "2019-08-24T14:15:22Z",
- "canceledAt": 1632933600000,
- "canceledAtDateTime": "2019-08-24T14:15:22Z"
}
]
}Cancel an existing trade order
| tradingAccountId required | string <uuid> (uuidString) UUID string |
| tradeOrderId required | string <uuid> (uuidString) UUID string |
{- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "tradeOrderId": "85df4133-2159-4db1-a117-d20455178752"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "tradeOrderId": "85df4133-2159-4db1-a117-d20455178752",
- "orderListId": "2042488",
- "contingencyType": "OCO",
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "venue": "BINANCE",
- "positionId": "da3402dc-13f8-45f9-83a6-bde06dd8eb35",
- "instrumentId": "BINANCE:BTC/USDT",
- "quoteId": "826e5192-f8c6-4e24-aab3-3910e46c52b7",
- "baseAsset": "BTC",
- "quoteAsset": "USDT",
- "orderSide": "BUY",
- "orderType": "LIMIT",
- "timeInForce": "GTC",
- "status": "FILLED",
- "rejectReason": "string",
- "cancelReason": "string",
- "limitPrice": "1234.56789000",
- "stopPrice": "1234.56789000",
- "takeProfitPrice": "1234.56789000",
- "takeProfitLimitPrice": "1234.56789000",
- "stopLossPrice": "1234.56789000",
- "stopLossLimitPrice": "1234.56789000",
- "takeProfitTimeInForce": "GTC",
- "stopLossTimeInForce": "GTC",
- "quantity": "1234.56789000",
- "orderQuantityType": "BASE",
- "quantityRounding": "DOWN",
- "executedPrice": "1234.56789000",
- "executedQuantity": "1234.56789000",
- "executedCost": "1234.56789000",
- "fees": [
- {
- "security": "BINANCE:BTC",
- "asset": "BTC",
- "venue": "BINANCE",
- "quantity": "1234.56789000"
}
], - "executions": [
- {
- "executionId": "fc49a52d-e069-4441-83c6-8d779c937dd9",
- "externalTradeId": "binance-exec-12345",
- "venue": "BINANCE",
- "instrumentId": "BINANCE:BTC/USDT",
- "orderSide": "BUY",
- "executedQuantity": "1234.56789000",
- "executedPrice": "1234.56789000",
- "executedCost": "1234.56789000",
- "fees": [
- {
- "security": "BINANCE:BTC",
- "asset": "BTC",
- "venue": "BINANCE",
- "quantity": "1234.56789000"
}
], - "executedAt": 1632933600000,
- "executedAtDateTime": "2019-08-24T14:15:22Z"
}
], - "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z",
- "expireAt": 1632933600000,
- "expireAtDateTime": "2019-08-24T14:15:22Z",
- "canceledAt": 1632933600000,
- "canceledAtDateTime": "2019-08-24T14:15:22Z"
}
}List trade orders with filtering options
| tradeOrderId | string <uuid> (uuidString) Trade order ID |
| orderListId | string Filter by order list ID to retrieve child orders of an OCO/OTO/OTOCO parent |
| orderStatus | string or null (orderStatus) Enum: "CREATED" "SUBMITTED" "ACCEPTED" "PARTIALLY_FILLED" "FILLED" "CANCELLED" "PENDING_CANCEL" "REPLACED" "PENDING_REPLACE" "REJECTED" "EXPIRED" "REVOKED" "UNKNOWN" Example: orderStatus=FILLED Order status |
| tradingAccountId | string <uuid> (uuidString) Trading account ID |
| instrumentId | string (instrumentId) Example: instrumentId=BINANCE:BTC/USDT Instrument ID |
| startTime | integer <int64> (millisecond) Example: startTime=1632933600000 Start time (in unix milliseconds), of the created at field |
| endTime | integer <int64> (millisecond) Example: endTime=1632933600000 End time (in unix milliseconds), of the created at field |
| limit | integer [ 1 .. 1000 ] Default: 50 Example: limit=100 Limit the number of returned results |
| offset | integer >= 0 Default: 0 Example: offset=0 Offset of the returned results |
| cursor | string Cursor for next page |
| ascending | boolean Default: false Return records in ascending order |
{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": [
- {
- "tradeOrderId": "85df4133-2159-4db1-a117-d20455178752",
- "orderListId": "2042488",
- "contingencyType": "OCO",
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "venue": "BINANCE",
- "positionId": "da3402dc-13f8-45f9-83a6-bde06dd8eb35",
- "instrumentId": "BINANCE:BTC/USDT",
- "quoteId": "826e5192-f8c6-4e24-aab3-3910e46c52b7",
- "baseAsset": "BTC",
- "quoteAsset": "USDT",
- "orderSide": "BUY",
- "orderType": "LIMIT",
- "timeInForce": "GTC",
- "status": "FILLED",
- "rejectReason": "string",
- "cancelReason": "string",
- "limitPrice": "1234.56789000",
- "stopPrice": "1234.56789000",
- "takeProfitPrice": "1234.56789000",
- "takeProfitLimitPrice": "1234.56789000",
- "stopLossPrice": "1234.56789000",
- "stopLossLimitPrice": "1234.56789000",
- "takeProfitTimeInForce": "GTC",
- "stopLossTimeInForce": "GTC",
- "quantity": "1234.56789000",
- "orderQuantityType": "BASE",
- "quantityRounding": "DOWN",
- "executedPrice": "1234.56789000",
- "executedQuantity": "1234.56789000",
- "executedCost": "1234.56789000",
- "fees": [
- {
- "security": "BINANCE:BTC",
- "asset": "BTC",
- "venue": "BINANCE",
- "quantity": "1234.56789000"
}
], - "executions": [
- {
- "executionId": "fc49a52d-e069-4441-83c6-8d779c937dd9",
- "externalTradeId": "binance-exec-12345",
- "venue": "BINANCE",
- "instrumentId": "BINANCE:BTC/USDT",
- "orderSide": "BUY",
- "executedQuantity": "1234.56789000",
- "executedPrice": "1234.56789000",
- "executedCost": "1234.56789000",
- "fees": [
- {
- "security": "BINANCE:BTC",
- "asset": "BTC",
- "venue": "BINANCE",
- "quantity": "1234.56789000"
}
], - "executedAt": 1632933600000,
- "executedAtDateTime": "2019-08-24T14:15:22Z"
}
], - "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z",
- "expireAt": 1632933600000,
- "expireAtDateTime": "2019-08-24T14:15:22Z",
- "canceledAt": 1632933600000,
- "canceledAtDateTime": "2019-08-24T14:15:22Z"
}
], - "pagination": {
- "offset": 0,
- "limit": 20,
- "total": 100,
- "cursor": "string",
- "hasNext": true
}
}Request a firm quote from the RFQ dealer. The quote is a bilateral contract between the user and the dealer with a guaranteed execution price and validity period.
| dealerAccountId required | string <uuid> (uuidString) UUID string |
| traderAccountId | string <uuid> (uuidString) UUID string |
| instrumentId | string (instrumentId) Instrument ID in format {VENUE}:{BASE}/{QUOTE} |
| baseAsset | string Base asset to trade. Used with quoteAsset for symbol-based venues. |
| quoteAsset | string Quote asset (payment currency). Used with baseAsset for symbol-based venues. |
| orderSide required | string (orderSide) Enum: "BUY" "SELL" "UNKNOWN" Order side (buy or sell) |
| quantity | string (positiveDecimal) ^\d+(\.\d+)?$ Positive decimal value as string |
| quoteQuantity | string (positiveDecimal) ^\d+(\.\d+)?$ Positive decimal value as string |
| quoteRequestId | string Client-provided reference for idempotency and tracking |
| ttl | integer (quoteTtl) [ 1 .. 300 ] Default: 10 Time to live in seconds |
| expireAt | string <date-time> Absolute expiry timestamp (ISO 8601). Mutually exclusive with ttl. If neither ttl nor expireAt is set, defaults to 10 seconds from quote creation. |
| pricingProfileId | string <uuid> (uuidString) UUID string |
{- "dealerAccountId": "5e0fc0f8-d3b2-4073-bd08-7b6f82f0cfdd",
- "traderAccountId": "2e173e50-ed49-4269-84d6-d3463e0bb168",
- "instrumentId": "BINANCE:BTC/USDT",
- "baseAsset": "BTC",
- "quoteAsset": "USDT",
- "orderSide": "BUY",
- "quantity": "100.50",
- "quoteQuantity": "100.50",
- "quoteRequestId": "my-quote-request-001",
- "ttl": 10,
- "expireAt": "2026-03-31T12:00:10Z",
- "pricingProfileId": "b18fd0b4-983a-433d-9bff-9f0bc5f09b3e"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "quoteId": "826e5192-f8c6-4e24-aab3-3910e46c52b7",
- "quoteRequestId": "my-quote-request-001",
- "externalQuoteId": "string",
- "venue": "BINANCE",
- "instrumentId": "BINANCE:BTC/USDT",
- "dealerAccountId": "5e0fc0f8-d3b2-4073-bd08-7b6f82f0cfdd",
- "traderAccountId": "2e173e50-ed49-4269-84d6-d3463e0bb168",
- "baseAsset": "BTC",
- "quoteAsset": "USDT",
- "orderSide": "BUY",
- "quantityType": "BASE",
- "quantity": "100.50",
- "quoteQuantity": "100.50",
- "price": "100.50",
- "status": "CREATED",
- "rejectReason": "string",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z",
- "expireAt": 1632933600000,
- "expireAtDateTime": "2019-08-24T14:15:22Z",
- "pricingProfileId": "b18fd0b4-983a-433d-9bff-9f0bc5f09b3e"
}
}Connect to a trading account. Returns 409 Conflict if the external account is already connected by another user.
| venue | string (venue) Enum: "BINANCE" "B2C2" "WINTERMUTE" "BLOCKFILLS" "STONEX" "CUMBERLAND" "IBKR" "DERIBIT" "BITFINEX" "OKX" "BINANCE_UAT" "B2C2_UAT" "WINTERMUTE_UAT" "BLOCKFILLS_UAT" "STONEX_UAT" "CUMBERLAND_UAT" "IBKR_UAT" "DERIBIT_UAT" "BITFINEX_UAT" "OKX_UAT" "BINANCE_SANDBOX" "B2C2_SANDBOX" "IBKR_PAPER" "FERMATA" "MOCK" "PAPER" Trading venue identifier. UAT/sandbox environments are treated as separate venues. Note: _SANDBOX and _PAPER suffixes are deprecated. Use _UAT suffix for new integrations. |
| credentialIds | Array of strings <uuid> (uuidString) [ items <uuid > ] Credential IDs for exchange venues. Not required for Fermata. |
| externalTradingAccountId | string External trading account ID. Not required for Fermata. |
| dealerAccountId | string <uuid> (uuidString) UUID string |
| nickname | string Nickname of the trading account |
{- "venue": "BINANCE",
- "credentialIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "externalTradingAccountId": "string",
- "dealerAccountId": "5e0fc0f8-d3b2-4073-bd08-7b6f82f0cfdd",
- "nickname": "string"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "externalTradingAccountId": "string",
- "venue": "BINANCE",
- "nickname": "string",
- "accountType": "SPOT",
- "externalAccountType": "string",
- "positionMode": "NETTING",
- "collateralMode": "CROSS",
- "marginMode": "CROSS",
- "credentials": [
- {
- "credentialId": "f568fec0-10b6-4b94-9daf-e62c50c9bf3e",
- "venue": "BINANCE",
- "credentialType": "API_KEY",
- "nickname": "api_key_for_binance",
- "status": "CREATED",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z",
- "revokedAt": 1632933600000,
- "revokedAtDateTime": "2019-08-24T14:15:22Z"
}
], - "status": "ACTIVE",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z"
}
}Disconnect from a trading account, all trading functions and the event stream notification will be stopped. The trading account will be archived and no longer available for trading. If the same trading account need to be connected again, please use the connect trading account API to create another new trading account.
| tradingAccountId required | string <uuid> (uuidString) UUID string |
{- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "externalTradingAccountId": "string",
- "venue": "BINANCE",
- "nickname": "string",
- "accountType": "SPOT",
- "externalAccountType": "string",
- "positionMode": "NETTING",
- "collateralMode": "CROSS",
- "marginMode": "CROSS",
- "credentials": [
- {
- "credentialId": "f568fec0-10b6-4b94-9daf-e62c50c9bf3e",
- "venue": "BINANCE",
- "credentialType": "API_KEY",
- "nickname": "api_key_for_binance",
- "status": "CREATED",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z",
- "revokedAt": 1632933600000,
- "revokedAtDateTime": "2019-08-24T14:15:22Z"
}
], - "status": "ACTIVE",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z"
}
}Update trading account information
| tradingAccountId required | string <uuid> (uuidString) UUID string |
| nickname | string New nickname for the trading account |
{- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "nickname": "string"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "externalTradingAccountId": "string",
- "venue": "BINANCE",
- "nickname": "string",
- "accountType": "SPOT",
- "externalAccountType": "string",
- "positionMode": "NETTING",
- "collateralMode": "CROSS",
- "marginMode": "CROSS",
- "credentials": [
- {
- "credentialId": "f568fec0-10b6-4b94-9daf-e62c50c9bf3e",
- "venue": "BINANCE",
- "credentialType": "API_KEY",
- "nickname": "api_key_for_binance",
- "status": "CREATED",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z",
- "revokedAt": 1632933600000,
- "revokedAtDateTime": "2019-08-24T14:15:22Z"
}
], - "status": "ACTIVE",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z"
}
}List all trading accounts
| tradingAccountId | string <uuid> (uuidString) Trading account ID |
| venue | string (venue) Enum: "BINANCE" "B2C2" "WINTERMUTE" "BLOCKFILLS" "STONEX" "CUMBERLAND" "IBKR" "DERIBIT" "BITFINEX" "OKX" "BINANCE_UAT" "B2C2_UAT" "WINTERMUTE_UAT" "BLOCKFILLS_UAT" "STONEX_UAT" "CUMBERLAND_UAT" "IBKR_UAT" "DERIBIT_UAT" "BITFINEX_UAT" "OKX_UAT" "BINANCE_SANDBOX" "B2C2_SANDBOX" "IBKR_PAPER" "FERMATA" "MOCK" "PAPER" Example: venue=BINANCE Exchange type |
| accountStatus | string (tradingAccountStatus) Enum: "NEW" "CREATED" "ACTIVE" "INACTIVE" "LOCKED" "DISCONNECTED" "UNAVAILABLE" Example: accountStatus=ACTIVE Account status |
| userId | string <uuid> (uuidString) Filter by user ID |
| tenantId | string Filter by tenant ID |
| limit | integer [ 1 .. 1000 ] Default: 50 Example: limit=100 Limit the number of returned results |
| offset | integer >= 0 Default: 0 Example: offset=0 Offset of the returned results |
{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": [
- {
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "externalTradingAccountId": "string",
- "venue": "BINANCE",
- "nickname": "string",
- "accountType": "SPOT",
- "externalAccountType": "string",
- "positionMode": "NETTING",
- "collateralMode": "CROSS",
- "marginMode": "CROSS",
- "credentials": [
- {
- "credentialId": "f568fec0-10b6-4b94-9daf-e62c50c9bf3e",
- "venue": "BINANCE",
- "credentialType": "API_KEY",
- "nickname": "api_key_for_binance",
- "status": "CREATED",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z",
- "revokedAt": 1632933600000,
- "revokedAtDateTime": "2019-08-24T14:15:22Z"
}
], - "status": "ACTIVE",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z"
}
], - "pagination": {
- "offset": 0,
- "limit": 20,
- "total": 100,
- "cursor": "string",
- "hasNext": true
}
}Disable a trading account, the trading account will be disabled and no longer available for trading.
| tradingAccountId required | string <uuid> (uuidString) UUID string |
{- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "externalTradingAccountId": "string",
- "venue": "BINANCE",
- "nickname": "string",
- "accountType": "SPOT",
- "externalAccountType": "string",
- "positionMode": "NETTING",
- "collateralMode": "CROSS",
- "marginMode": "CROSS",
- "credentials": [
- {
- "credentialId": "f568fec0-10b6-4b94-9daf-e62c50c9bf3e",
- "venue": "BINANCE",
- "credentialType": "API_KEY",
- "nickname": "api_key_for_binance",
- "status": "CREATED",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z",
- "revokedAt": 1632933600000,
- "revokedAtDateTime": "2019-08-24T14:15:22Z"
}
], - "status": "ACTIVE",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z"
}
}Enable a trading account, the trading account will be enabled and available for trading.
| tradingAccountId required | string <uuid> (uuidString) UUID string |
{- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "externalTradingAccountId": "string",
- "venue": "BINANCE",
- "nickname": "string",
- "accountType": "SPOT",
- "externalAccountType": "string",
- "positionMode": "NETTING",
- "collateralMode": "CROSS",
- "marginMode": "CROSS",
- "credentials": [
- {
- "credentialId": "f568fec0-10b6-4b94-9daf-e62c50c9bf3e",
- "venue": "BINANCE",
- "credentialType": "API_KEY",
- "nickname": "api_key_for_binance",
- "status": "CREATED",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z",
- "revokedAt": 1632933600000,
- "revokedAtDateTime": "2019-08-24T14:15:22Z"
}
], - "status": "ACTIVE",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z"
}
}List operations history for trading accounts
| tradingAccountId | string <uuid> (uuidString) Trading account ID |
| operationType | string (operationType) Enum: "CONNECT" "DISCONNECT" "ENABLE" "DISABLE" "UPDATE" "CREDENTIAL_REVOKE" "CREDENTIAL_ROTATE" Operation type |
| startTime | integer <int64> (millisecond) Example: startTime=1632933600000 Start time (in unix milliseconds), of the created at field |
| endTime | integer <int64> (millisecond) Example: endTime=1632933600000 End time (in unix milliseconds), of the created at field |
| limit | integer [ 1 .. 1000 ] Default: 50 Example: limit=100 Limit the number of returned results |
| offset | integer >= 0 Default: 0 Example: offset=0 Offset of the returned results |
| cursor | string Cursor for next page |
{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": [
- {
- "operationId": "3051932a-fdd2-48fa-b330-7e7d41535969",
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "operationType": "CONNECT",
- "status": "PENDING",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z"
}
], - "pagination": {
- "offset": 0,
- "limit": 20,
- "total": 100,
- "cursor": "string",
- "hasNext": true
}
}List all credentials for a trading account
| credentialType | string or null (credentialType) Enum: "API_KEY" "TOKEN" "HMAC" "OAUTH" "RSA" "ED25519" Example: credentialType=API_KEY Credential type |
| credentialStatus | string (credentialStatus) Enum: "CREATED" "ACTIVE" "EXPIRED" "REVOKED" Example: credentialStatus=CREATED Credential status |
| credentialIds | Array of strings credentialId array |
{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": [
- {
- "credentialId": "f568fec0-10b6-4b94-9daf-e62c50c9bf3e",
- "venue": "BINANCE",
- "credentialType": "API_KEY",
- "nickname": "api_key_for_binance",
- "status": "CREATED",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z",
- "revokedAt": 1632933600000,
- "revokedAtDateTime": "2019-08-24T14:15:22Z"
}
], - "pagination": {
- "offset": 0,
- "limit": 20,
- "total": 100,
- "cursor": "string",
- "hasNext": true
}
}Create credentials for a trading account
| venue required | string (venue) Enum: "BINANCE" "B2C2" "WINTERMUTE" "BLOCKFILLS" "STONEX" "CUMBERLAND" "IBKR" "DERIBIT" "BITFINEX" "OKX" "BINANCE_UAT" "B2C2_UAT" "WINTERMUTE_UAT" "BLOCKFILLS_UAT" "STONEX_UAT" "CUMBERLAND_UAT" "IBKR_UAT" "DERIBIT_UAT" "BITFINEX_UAT" "OKX_UAT" "BINANCE_SANDBOX" "B2C2_SANDBOX" "IBKR_PAPER" "FERMATA" "MOCK" "PAPER" Trading venue identifier. UAT/sandbox environments are treated as separate venues. Note: _SANDBOX and _PAPER suffixes are deprecated. Use _UAT suffix for new integrations. |
| nickname | string Nickname of the credential |
| credentialType required | string or null (credentialType) Enum: "API_KEY" "TOKEN" "HMAC" "OAUTH" "RSA" "ED25519" Type of API credential |
| apiKey | string |
| apiSecret | string |
| apiPassphrase | string |
{- "venue": "BINANCE",
- "nickname": "string",
- "credentialType": "API_KEY",
- "apiKey": "my_api_key",
- "apiSecret": "my_api_secret",
- "apiPassphrase": "my_api_passphrase"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "credentialId": "f568fec0-10b6-4b94-9daf-e62c50c9bf3e",
- "venue": "BINANCE",
- "credentialType": "API_KEY",
- "nickname": "api_key_for_binance",
- "status": "CREATED",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z",
- "revokedAt": 1632933600000,
- "revokedAtDateTime": "2019-08-24T14:15:22Z"
}
}Revoke credentials for a trading account.
| credentialId required | string <uuid> (uuidString) UUID string |
{- "credentialId": "f568fec0-10b6-4b94-9daf-e62c50c9bf3e"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "credentialId": "f568fec0-10b6-4b94-9daf-e62c50c9bf3e",
- "venue": "BINANCE",
- "credentialType": "API_KEY",
- "nickname": "api_key_for_binance",
- "status": "CREATED",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z",
- "revokedAt": 1632933600000,
- "revokedAtDateTime": "2019-08-24T14:15:22Z"
}
}Rotate credentials for a trading account, the credential will be rotated to the new api key, api secret and api passphrase, other fields are not editable.
| credentialId required | string <uuid> (uuidString) UUID string |
| apiKey | string |
| apiSecret | string |
| apiPassphrase | string |
{- "credentialId": "f568fec0-10b6-4b94-9daf-e62c50c9bf3e",
- "apiKey": "my_api_key",
- "apiSecret": "my_api_secret",
- "apiPassphrase": "my_api_passphrase"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "credentialId": "f568fec0-10b6-4b94-9daf-e62c50c9bf3e",
- "venue": "BINANCE",
- "credentialType": "API_KEY",
- "nickname": "api_key_for_binance",
- "status": "CREATED",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z",
- "revokedAt": 1632933600000,
- "revokedAtDateTime": "2019-08-24T14:15:22Z"
}
}Verify credentials and list all supported trading accounts that the credential have permissions to access. Each returned account includes a status indicating its state relative to Cadenza: NEW (not yet connected), ACTIVE or current status (connected by the current user), or UNAVAILABLE (connected by another user).
| credentialIds required | Array of strings <uuid> (uuidString) [ items <uuid > ] |
{- "credentialIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": [
- {
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "externalTradingAccountId": "string",
- "venue": "BINANCE",
- "nickname": "string",
- "accountType": "SPOT",
- "externalAccountType": "string",
- "positionMode": "NETTING",
- "collateralMode": "CROSS",
- "marginMode": "CROSS",
- "credentials": [
- {
- "credentialId": "f568fec0-10b6-4b94-9daf-e62c50c9bf3e",
- "venue": "BINANCE",
- "credentialType": "API_KEY",
- "nickname": "api_key_for_binance",
- "status": "CREATED",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z",
- "revokedAt": 1632933600000,
- "revokedAtDateTime": "2019-08-24T14:15:22Z"
}
], - "status": "ACTIVE",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z"
}
]
}Subscribe to real-time trading account updates
| tradingAccountId required | string <uuid> (uuidString) UUID string |
{- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "subscriptionId": "d079718b-ff63-45dd-947b-4950c023750f",
- "venue": "BINANCE",
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "instrumentId": "BINANCE:BTC/USDT",
- "subscriptionType": "MARKET.SUBSCRIPTION.ORDERBOOK",
- "status": "ACTIVE",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z",
- "lastEventTimestamp": 1632933600000
}
}Unsubscribe from real-time trading account updates
| subscriptionId | string <uuid> (uuidString) UUID string |
| tradingAccountId | string <uuid> (uuidString) UUID string |
| instrumentId | string (instrumentId) Instrument ID in format {VENUE}:{BASE}/{QUOTE} |
{- "subscriptionId": "d079718b-ff63-45dd-947b-4950c023750f",
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "instrumentId": "BINANCE:BTC/USDT"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "subscriptionId": "d079718b-ff63-45dd-947b-4950c023750f",
- "venue": "BINANCE",
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "instrumentId": "BINANCE:BTC/USDT",
- "subscriptionType": "MARKET.SUBSCRIPTION.ORDERBOOK",
- "status": "ACTIVE",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z",
- "lastEventTimestamp": 1632933600000
}
}List active trading account subscriptions
| tradingAccountId | string <uuid> (uuidString) Trading account ID |
| limit | integer [ 1 .. 1000 ] Default: 50 Example: limit=100 Limit the number of returned results |
| offset | integer >= 0 Default: 0 Example: offset=0 Offset of the returned results |
| cursor | string Cursor for next page |
{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": [
- {
- "subscriptionId": "d079718b-ff63-45dd-947b-4950c023750f",
- "venue": "BINANCE",
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "instrumentId": "BINANCE:BTC/USDT",
- "subscriptionType": "MARKET.SUBSCRIPTION.ORDERBOOK",
- "status": "ACTIVE",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z",
- "lastEventTimestamp": 1632933600000
}
]
}List portfolios across all trading accounts
| tradingAccountId | string <uuid> (uuidString) Trading account ID |
| venue | string (venue) Enum: "BINANCE" "B2C2" "WINTERMUTE" "BLOCKFILLS" "STONEX" "CUMBERLAND" "IBKR" "DERIBIT" "BITFINEX" "OKX" "BINANCE_UAT" "B2C2_UAT" "WINTERMUTE_UAT" "BLOCKFILLS_UAT" "STONEX_UAT" "CUMBERLAND_UAT" "IBKR_UAT" "DERIBIT_UAT" "BITFINEX_UAT" "OKX_UAT" "BINANCE_SANDBOX" "B2C2_SANDBOX" "IBKR_PAPER" "FERMATA" "MOCK" "PAPER" Example: venue=BINANCE Exchange type |
| currency | string (assetSymbol) Example: currency=USDT Currency |
| limit | integer [ 1 .. 1000 ] Default: 50 Example: limit=100 Limit the number of returned results |
| offset | integer >= 0 Default: 0 Example: offset=0 Offset of the returned results |
{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": [
- {
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "venue": "BINANCE",
- "positions": [
- {
- "positionId": "da3402dc-13f8-45f9-83a6-bde06dd8eb35",
- "securitySymbol": "BTC",
- "externalPositionId": "string",
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "instrumentId": "BINANCE:BTC/USDT",
- "securityType": "CRYPTO",
- "status": "OPEN",
- "positionSide": "LONG",
- "quantity": "1234.56789000",
- "entryPrice": "1234.56789000",
- "exitPrice": "1234.56789000",
- "currentPrice": "1234.56789000",
- "unrealizedPnl": "1234.56789000",
- "realizedPnl": "1234.56789000",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z",
- "closedAt": 1632933600000,
- "closedAtDateTime": "2019-08-24T14:15:22Z"
}
], - "balances": [
- {
- "securitySymbol": "USDT",
- "securityType": "CRYPTO",
- "externalBalanceId": "string",
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "status": "ACTIVE",
- "positionId": "da3402dc-13f8-45f9-83a6-bde06dd8eb35",
- "free": "1234.56789000",
- "locked": "1234.56789000",
- "borrowed": "1234.56789000",
- "total": "1234.56789000",
- "net": "1234.56789000",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z"
}
], - "summary": {
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "currency": "USDT",
- "leverage": 0,
- "equity": "1234.56789000",
- "margin": "1234.56789000",
- "marginLoan": "1234.56789000",
- "marginUsage": "1234.56789000",
- "marginRequirement": "1234.56789000",
- "marginLevel": "1234.56789000",
- "credit": "1234.56789000",
- "riskExposure": "1234.56789000",
- "maxRiskExposure": "1234.56789000",
- "riskExposureRate": "1234.56789000"
}, - "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z"
}
], - "pagination": {
- "offset": 0,
- "limit": 20,
- "total": 100,
- "cursor": "string",
- "hasNext": true
}
}List available market venues/exchanges
{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": [
- {
- "venue": "BINANCE",
- "status": "ONLINE"
}
]
}Synchronize market instruments from exchanges
| venue required | string (venue) Enum: "BINANCE" "B2C2" "WINTERMUTE" "BLOCKFILLS" "STONEX" "CUMBERLAND" "IBKR" "DERIBIT" "BITFINEX" "OKX" "BINANCE_UAT" "B2C2_UAT" "WINTERMUTE_UAT" "BLOCKFILLS_UAT" "STONEX_UAT" "CUMBERLAND_UAT" "IBKR_UAT" "DERIBIT_UAT" "BITFINEX_UAT" "OKX_UAT" "BINANCE_SANDBOX" "B2C2_SANDBOX" "IBKR_PAPER" "FERMATA" "MOCK" "PAPER" Trading venue identifier. UAT/sandbox environments are treated as separate venues. Note: _SANDBOX and _PAPER suffixes are deprecated. Use _UAT suffix for new integrations. |
| symbols required | Array of strings symbol list, example ["BTC/ETH","BTC/USDT"] |
{- "venue": "BINANCE",
- "symbols": [
- "string"
]
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "total": 100
}
}Delete a market instrument
| instrumentId required | string (instrumentId) Instrument ID in format {VENUE}:{BASE}/{QUOTE} |
{- "instrumentId": "BINANCE:BTC/USDT"
}{- "errno": 0,
- "error": "string",
- "data": "ok"
}Enable a market instrument for trading
| instrumentId required | string (instrumentId) Instrument ID in format {VENUE}:{BASE}/{QUOTE} |
{- "instrumentId": "BINANCE:BTC/USDT"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "instrumentId": "BINANCE:BTC/USDT",
- "venue": "BINANCE",
- "symbol": "BTC/USDT",
- "externalSymbol": "BTCUSDT",
- "description": "string",
- "instrumentType": "SPOT",
- "status": "ACTIVE",
- "baseAsset": "BTC",
- "quoteAsset": "USD",
- "baseSecurityType": "CRYPTO",
- "quoteSecurityType": "CRYPTO",
- "basePrecision": 0,
- "quotePrecision": 0,
- "baseMaxSignificant": 0,
- "quoteMaxSignificant": 0,
- "lotSize": "1234.56789000",
- "pipSize": "1234.56789000",
- "baseScale": 0,
- "quoteScale": 0,
- "minQuantity": "1234.56789000",
- "maxQuantity": "1234.56789000",
- "minNotional": "1234.56789000",
- "maxNotional": "1234.56789000",
- "orderFilters": { },
- "orderTypes": [
- "LIMIT"
], - "timeInForceOptions": [
- "GTC"
], - "tradingHours": { },
- "isIcebergAllowed": true,
- "icebergMinQuantity": "1234.56789000",
- "deliveryDate": 1632933600000,
- "deliveryDateTime": "2019-08-24T14:15:22Z",
- "exerciseStyle": "EUROPEAN",
- "strikePrice": "1234.56789000"
}
}Disable a market instrument for trading
| instrumentId required | string (instrumentId) Instrument ID in format {VENUE}:{BASE}/{QUOTE} |
{- "instrumentId": "BINANCE:BTC/USDT"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "instrumentId": "BINANCE:BTC/USDT",
- "venue": "BINANCE",
- "symbol": "BTC/USDT",
- "externalSymbol": "BTCUSDT",
- "description": "string",
- "instrumentType": "SPOT",
- "status": "ACTIVE",
- "baseAsset": "BTC",
- "quoteAsset": "USD",
- "baseSecurityType": "CRYPTO",
- "quoteSecurityType": "CRYPTO",
- "basePrecision": 0,
- "quotePrecision": 0,
- "baseMaxSignificant": 0,
- "quoteMaxSignificant": 0,
- "lotSize": "1234.56789000",
- "pipSize": "1234.56789000",
- "baseScale": 0,
- "quoteScale": 0,
- "minQuantity": "1234.56789000",
- "maxQuantity": "1234.56789000",
- "minNotional": "1234.56789000",
- "maxNotional": "1234.56789000",
- "orderFilters": { },
- "orderTypes": [
- "LIMIT"
], - "timeInForceOptions": [
- "GTC"
], - "tradingHours": { },
- "isIcebergAllowed": true,
- "icebergMinQuantity": "1234.56789000",
- "deliveryDate": 1632933600000,
- "deliveryDateTime": "2019-08-24T14:15:22Z",
- "exerciseStyle": "EUROPEAN",
- "strikePrice": "1234.56789000"
}
}List available market instruments
| venue | string (venue) Enum: "BINANCE" "B2C2" "WINTERMUTE" "BLOCKFILLS" "STONEX" "CUMBERLAND" "IBKR" "DERIBIT" "BITFINEX" "OKX" "BINANCE_UAT" "B2C2_UAT" "WINTERMUTE_UAT" "BLOCKFILLS_UAT" "STONEX_UAT" "CUMBERLAND_UAT" "IBKR_UAT" "DERIBIT_UAT" "BITFINEX_UAT" "OKX_UAT" "BINANCE_SANDBOX" "B2C2_SANDBOX" "IBKR_PAPER" "FERMATA" "MOCK" "PAPER" Example: venue=BINANCE Exchange type |
| symbols | Array of strings Example: symbols=BTC/USDT Instrument Symbols array |
| securityType | string (securityType) Enum: "STOCK" "CRYPTO" "CURRENCY" "COMMODITY" "INDEX" "BOND" "OPTION" "FUTURES" "PERPETUAL" Example: securityType=CRYPTO Security type |
| instrumentStatus | string (instrumentStatus) Enum: "ACTIVE" "INACTIVE" "DISABLED" "DELISTED" Instrument status |
| limit | integer [ 1 .. 1000 ] Default: 50 Example: limit=100 Limit the number of returned results |
| offset | integer >= 0 Default: 0 Example: offset=0 Offset of the returned results |
{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": [
- {
- "instrumentId": "BINANCE:BTC/USDT",
- "venue": "BINANCE",
- "symbol": "BTC/USDT",
- "externalSymbol": "BTCUSDT",
- "description": "string",
- "instrumentType": "SPOT",
- "status": "ACTIVE",
- "baseAsset": "BTC",
- "quoteAsset": "USD",
- "baseSecurityType": "CRYPTO",
- "quoteSecurityType": "CRYPTO",
- "basePrecision": 0,
- "quotePrecision": 0,
- "baseMaxSignificant": 0,
- "quoteMaxSignificant": 0,
- "lotSize": "1234.56789000",
- "pipSize": "1234.56789000",
- "baseScale": 0,
- "quoteScale": 0,
- "minQuantity": "1234.56789000",
- "maxQuantity": "1234.56789000",
- "minNotional": "1234.56789000",
- "maxNotional": "1234.56789000",
- "orderFilters": { },
- "orderTypes": [
- "LIMIT"
], - "timeInForceOptions": [
- "GTC"
], - "tradingHours": { },
- "isIcebergAllowed": true,
- "icebergMinQuantity": "1234.56789000",
- "deliveryDate": 1632933600000,
- "deliveryDateTime": "2019-08-24T14:15:22Z",
- "exerciseStyle": "EUROPEAN",
- "strikePrice": "1234.56789000"
}
], - "pagination": {
- "offset": 0,
- "limit": 20,
- "total": 100,
- "cursor": "string",
- "hasNext": true
}
}Synchronize financial securities from exchanges
| venue required | string (venue) Enum: "BINANCE" "B2C2" "WINTERMUTE" "BLOCKFILLS" "STONEX" "CUMBERLAND" "IBKR" "DERIBIT" "BITFINEX" "OKX" "BINANCE_UAT" "B2C2_UAT" "WINTERMUTE_UAT" "BLOCKFILLS_UAT" "STONEX_UAT" "CUMBERLAND_UAT" "IBKR_UAT" "DERIBIT_UAT" "BITFINEX_UAT" "OKX_UAT" "BINANCE_SANDBOX" "B2C2_SANDBOX" "IBKR_PAPER" "FERMATA" "MOCK" "PAPER" Trading venue identifier. UAT/sandbox environments are treated as separate venues. Note: _SANDBOX and _PAPER suffixes are deprecated. Use _UAT suffix for new integrations. |
{- "venue": "BINANCE"
}{- "errno": 0,
- "error": "string",
- "data": "ok"
}Delete a financial security
| securityId required | string Security ID in the format of venue:symbol |
{- "securityId": "BINANCE:BTC"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "securityId": "BINANCE:BTC",
- "symbol": "USDT",
- "venue": "BINANCE",
- "securityType": "CRYPTO",
- "precision": 8,
- "scale": 10,
- "minQuantity": "1234.56789000",
- "lotSize": "1234.56789000"
}
}List available financial securities
| venue | string (venue) Enum: "BINANCE" "B2C2" "WINTERMUTE" "BLOCKFILLS" "STONEX" "CUMBERLAND" "IBKR" "DERIBIT" "BITFINEX" "OKX" "BINANCE_UAT" "B2C2_UAT" "WINTERMUTE_UAT" "BLOCKFILLS_UAT" "STONEX_UAT" "CUMBERLAND_UAT" "IBKR_UAT" "DERIBIT_UAT" "BITFINEX_UAT" "OKX_UAT" "BINANCE_SANDBOX" "B2C2_SANDBOX" "IBKR_PAPER" "FERMATA" "MOCK" "PAPER" Example: venue=BINANCE Exchange type |
| securityId | string (securityId) Example: securityId=BINANCE:BTC Security ID |
| limit | integer [ 1 .. 1000 ] Default: 50 Example: limit=100 Limit the number of returned results |
| offset | integer >= 0 Default: 0 Example: offset=0 Offset of the returned results |
{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": [
- {
- "securityId": "BINANCE:BTC",
- "symbol": "USDT",
- "venue": "BINANCE",
- "securityType": "CRYPTO",
- "precision": 8,
- "scale": 10,
- "minQuantity": "1234.56789000",
- "lotSize": "1234.56789000"
}
], - "pagination": {
- "offset": 0,
- "limit": 20,
- "total": 100,
- "cursor": "string",
- "hasNext": true
}
}Get order book for a specific instrument.
| instrumentId | string (instrumentId) Example: instrumentId=BINANCE:BTC/USDT Instrument ID |
| depth | integer [ 1 .. 1000 ] Default: 10 Order book depth |
{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "updateType": "SNAPSHOT",
- "instrumentId": "BINANCE:BTC/USDT",
- "venue": "BINANCE",
- "symbol": "BTC/USDT",
- "orderBookType": "L2",
- "columns": [
- "price",
- "quantity",
- "orderCount"
], - "bids": [
- [
- "50000.00",
- "1.5",
- "3"
]
], - "asks": [
- [
- "50000.00",
- "1.5",
- "3"
]
], - "timestamp": 1632933600000
}
}List order books for multiple instruments. Filter by instrumentIds.
| instrumentIds | Array of strings (instrumentId) Example: instrumentIds=BINANCE:BTC/USDT Instrument ID array. Repeat the param to pass multiple values. |
| depth | integer [ 1 .. 1000 ] Default: 10 Order book depth |
{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": [
- {
- "updateType": "SNAPSHOT",
- "instrumentId": "BINANCE:BTC/USDT",
- "venue": "BINANCE",
- "symbol": "BTC/USDT",
- "orderBookType": "L2",
- "columns": [
- "price",
- "quantity",
- "orderCount"
], - "bids": [
- [
- "50000.00",
- "1.5",
- "3"
]
], - "asks": [
- [
- "50000.00",
- "1.5",
- "3"
]
], - "timestamp": 1632933600000
}
]
}Get ticker for a specific instrument.
| instrumentId | string (instrumentId) Example: instrumentId=BINANCE:BTC/USDT Instrument ID |
{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "instrumentId": "BINANCE:BTC/USDT",
- "venue": "BINANCE",
- "symbol": "BTC/USDT",
- "lastPrice": "1234.56789000",
- "lastQuantity": "1234.56789000",
- "bidPrice": "1234.56789000",
- "bidQuantity": "1234.56789000",
- "askPrice": "1234.56789000",
- "askQuantity": "1234.56789000",
- "timestamp": 1632933600000
}
}List tickers for screening — filter by instrumentIds.
| instrumentIds | Array of strings (instrumentId) Example: instrumentIds=BINANCE:BTC/USDT Instrument ID array. Repeat the param to pass multiple values. |
| limit | integer [ 1 .. 1000 ] Default: 50 Example: limit=100 Limit the number of returned results |
| offset | integer >= 0 Default: 0 Example: offset=0 Offset of the returned results |
| cursor | string Cursor for next page |
{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": [
- {
- "instrumentId": "BINANCE:BTC/USDT",
- "venue": "BINANCE",
- "symbol": "BTC/USDT",
- "lastPrice": "1234.56789000",
- "lastQuantity": "1234.56789000",
- "bidPrice": "1234.56789000",
- "bidQuantity": "1234.56789000",
- "askPrice": "1234.56789000",
- "askQuantity": "1234.56789000",
- "timestamp": 1632933600000
}
], - "pagination": {
- "offset": 0,
- "limit": 20,
- "total": 100,
- "cursor": "string",
- "hasNext": true
}
}Get klines (candlestick data) for a specific instrument and interval.
Returns a single kline object containing an array of OHLCV candles.
Returns isClosed: true for historical-only queries; isClosed: false only when
the queried range includes the live (currently forming) bar.
| instrumentId | string (instrumentId) Example: instrumentId=BINANCE:BTC/USDT Instrument ID |
| interval required | string (klineInterval) Enum: "1s" "1m" "3m" "5m" "15m" "30m" "1h" "2h" "4h" "6h" "8h" "12h" "1d" "3d" "1w" "1M" Example: interval=1m Kline interval (e.g. |
| from | integer <int64> (millisecond) Example: from=1632933600000 Range start (Unix timestamp in milliseconds, inclusive) |
| to | integer <int64> (millisecond) Example: to=1632933600000 Range end (Unix timestamp in milliseconds, inclusive) |
| limit | integer [ 1 .. 1000 ] Default: 50 Example: limit=100 Limit the number of returned results |
{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "instrumentId": "BINANCE:BTC/USDT",
- "venue": "BINANCE",
- "symbol": "BTC/USDT",
- "interval": "1m",
- "candles": [
- [
- 1703052540000,
- "50000",
- "50050",
- "49990",
- "50010",
- "12.34"
]
], - "isClosed": true,
- "timestamp": 1632933600000
}
}Subscribe to real-time order book updates
| instrumentId required | string (instrumentId) Instrument ID in format {VENUE}:{BASE}/{QUOTE} |
{- "instrumentId": "BINANCE:BTC/USDT"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "subscriptionId": "d079718b-ff63-45dd-947b-4950c023750f",
- "venue": "BINANCE",
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "instrumentId": "BINANCE:BTC/USDT",
- "subscriptionType": "MARKET.SUBSCRIPTION.ORDERBOOK",
- "status": "ACTIVE",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z",
- "lastEventTimestamp": 1632933600000
}
}Unsubscribe from real-time order book updates
| subscriptionId | string <uuid> (uuidString) UUID string |
| tradingAccountId | string <uuid> (uuidString) UUID string |
| instrumentId | string (instrumentId) Instrument ID in format {VENUE}:{BASE}/{QUOTE} |
{- "subscriptionId": "d079718b-ff63-45dd-947b-4950c023750f",
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "instrumentId": "BINANCE:BTC/USDT"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "subscriptionId": "d079718b-ff63-45dd-947b-4950c023750f",
- "venue": "BINANCE",
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "instrumentId": "BINANCE:BTC/USDT",
- "subscriptionType": "MARKET.SUBSCRIPTION.ORDERBOOK",
- "status": "ACTIVE",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z",
- "lastEventTimestamp": 1632933600000
}
}List active order book subscriptions
| instrumentId | string (instrumentId) Example: instrumentId=BINANCE:BTC/USDT Instrument ID |
{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": [
- {
- "subscriptionId": "d079718b-ff63-45dd-947b-4950c023750f",
- "venue": "BINANCE",
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
- "instrumentId": "BINANCE:BTC/USDT",
- "subscriptionType": "MARKET.SUBSCRIPTION.ORDERBOOK",
- "status": "ACTIVE",
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z",
- "lastEventTimestamp": 1632933600000
}
]
}Create a new dealer account in the Fermata venue. Admin only. Provisions a Trading Account (venue=FERMATA), a dealer wallet in the Formance Ledger, and dealer configuration.
| name required | string Human-readable dealer name |
| baseCurrencies required | Array of strings Base currencies the dealer settles in |
| riskThreshold | string (positiveDecimal) ^\d+(\.\d+)?$ Positive decimal value as string |
object Additional dealer configuration |
{- "name": "Main Dealer",
- "baseCurrencies": [
- "USDT",
- "USDC"
], - "riskThreshold": "100.50",
- "config": { }
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "dealerAccountId": "5e0fc0f8-d3b2-4073-bd08-7b6f82f0cfdd",
- "name": "Main Dealer",
- "status": "ACTIVE",
- "baseCurrencies": [
- "USD",
- "USDT",
- "USDC"
], - "riskThreshold": "100.50",
- "linkedAccountIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "config": { },
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z"
}
}Get a single dealer by ID, including configuration and linked accounts.
| dealerAccountId required | string <uuid> (uuidString) Dealer account ID |
{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "dealerAccountId": "5e0fc0f8-d3b2-4073-bd08-7b6f82f0cfdd",
- "name": "Main Dealer",
- "status": "ACTIVE",
- "baseCurrencies": [
- "USD",
- "USDT",
- "USDC"
], - "riskThreshold": "100.50",
- "linkedAccountIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "config": { },
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z"
}
}List dealers with optional status filter. Admin only.
| status | string (dealerStatus) Enum: "ACTIVE" "PAUSED" "ARCHIVED" Example: status=ACTIVE Filter by dealer status |
| limit | integer [ 1 .. 1000 ] Default: 50 Example: limit=100 Limit the number of returned results |
| offset | integer >= 0 Default: 0 Example: offset=0 Offset of the returned results |
| cursor | string Cursor for next page |
{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": [
- {
- "dealerAccountId": "5e0fc0f8-d3b2-4073-bd08-7b6f82f0cfdd",
- "name": "Main Dealer",
- "status": "ACTIVE",
- "baseCurrencies": [
- "USD",
- "USDT",
- "USDC"
], - "riskThreshold": "100.50",
- "linkedAccountIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "config": { },
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z"
}
], - "pagination": {
- "offset": 0,
- "limit": 20,
- "total": 100,
- "cursor": "string",
- "hasNext": true
}
}Pause a dealer — stops quoting but continues hedging open positions. Admin only.
| dealerAccountId required | string <uuid> (uuidString) UUID string |
{- "dealerAccountId": "5e0fc0f8-d3b2-4073-bd08-7b6f82f0cfdd"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "dealerAccountId": "5e0fc0f8-d3b2-4073-bd08-7b6f82f0cfdd",
- "name": "Main Dealer",
- "status": "ACTIVE",
- "baseCurrencies": [
- "USD",
- "USDT",
- "USDC"
], - "riskThreshold": "100.50",
- "linkedAccountIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "config": { },
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z"
}
}Resume a paused dealer — restores quoting capability. Admin only.
| dealerAccountId required | string <uuid> (uuidString) UUID string |
{- "dealerAccountId": "5e0fc0f8-d3b2-4073-bd08-7b6f82f0cfdd"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "dealerAccountId": "5e0fc0f8-d3b2-4073-bd08-7b6f82f0cfdd",
- "name": "Main Dealer",
- "status": "ACTIVE",
- "baseCurrencies": [
- "USD",
- "USDT",
- "USDC"
], - "riskThreshold": "100.50",
- "linkedAccountIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "config": { },
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z"
}
}Archive a dealer — permanently stops all operations. All open positions must be closed before archiving. Admin only.
| dealerAccountId required | string <uuid> (uuidString) UUID string |
{- "dealerAccountId": "5e0fc0f8-d3b2-4073-bd08-7b6f82f0cfdd"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "dealerAccountId": "5e0fc0f8-d3b2-4073-bd08-7b6f82f0cfdd",
- "name": "Main Dealer",
- "status": "ACTIVE",
- "baseCurrencies": [
- "USD",
- "USDT",
- "USDC"
], - "riskThreshold": "100.50",
- "linkedAccountIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "config": { },
- "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z"
}
}Link an existing exchange trading account to the dealer as a liquidity provider for hedging.
| dealerAccountId required | string <uuid> (uuidString) UUID string |
| tradingAccountId required | string <uuid> (uuidString) UUID string |
{- "dealerAccountId": "5e0fc0f8-d3b2-4073-bd08-7b6f82f0cfdd",
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391"
}{- "errno": 0,
- "error": "string",
- "data": "ok"
}Unlink an exchange trading account from the dealer.
| dealerAccountId required | string <uuid> (uuidString) UUID string |
| tradingAccountId required | string <uuid> (uuidString) UUID string |
{- "dealerAccountId": "5e0fc0f8-d3b2-4073-bd08-7b6f82f0cfdd",
- "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391"
}{- "errno": 0,
- "error": "string",
- "data": "ok"
}Create a new wallet in the Fermata ledger.
| nickname | string Nickname for the new wallet |
{- "nickname": "string"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "walletId": "0ecad4a2-3549-43fb-807e-9ff033247480",
- "walletType": "CLIENT",
- "status": "ACTIVE",
- "allowNegative": true,
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z"
}
}Get a single wallet by ID, including balances and status.
| walletId required | string <uuid> (uuidString) Wallet ID |
{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "walletId": "0ecad4a2-3549-43fb-807e-9ff033247480",
- "walletType": "CLIENT",
- "status": "ACTIVE",
- "allowNegative": true,
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z"
}
}List wallets by type, owner, or dealer.
| walletType | string (walletType) Enum: "DEALER" "CLIENT" "EXCHANGE" "ACCOUNTING" Example: walletType=CLIENT Filter by wallet type |
| limit | integer [ 1 .. 1000 ] Default: 50 Example: limit=100 Limit the number of returned results |
| offset | integer >= 0 Default: 0 Example: offset=0 Offset of the returned results |
| cursor | string Cursor for next page |
{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": [
- {
- "walletId": "0ecad4a2-3549-43fb-807e-9ff033247480",
- "walletType": "CLIENT",
- "status": "ACTIVE",
- "allowNegative": true,
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z"
}
], - "pagination": {
- "offset": 0,
- "limit": 20,
- "total": 100,
- "cursor": "string",
- "hasNext": true
}
}Transfer assets between wallets owned by the same user under the same dealer.
| sourceWalletId required | string <uuid> (uuidString) UUID string |
| destWalletId required | string <uuid> (uuidString) UUID string |
| asset required | string Asset to transfer |
| amount required | string (positiveDecimal) ^\d+(\.\d+)?$ Positive decimal value as string |
{- "sourceWalletId": "8eb8f949-9055-4761-bc14-436e54978e6c",
- "destWalletId": "1cfa15b0-1c77-4cdf-b7ea-f6c29911da4c",
- "asset": "USDT",
- "amount": "100.50"
}{- "errno": 0,
- "error": "string",
- "data": "ok"
}Freeze a wallet, blocking all transactions. Admin only.
| walletId required | string <uuid> (uuidString) UUID string |
{- "walletId": "0ecad4a2-3549-43fb-807e-9ff033247480"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "walletId": "0ecad4a2-3549-43fb-807e-9ff033247480",
- "walletType": "CLIENT",
- "status": "ACTIVE",
- "allowNegative": true,
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z"
}
}Unfreeze a previously frozen wallet, restoring transaction capabilities. Admin only.
| walletId required | string <uuid> (uuidString) UUID string |
{- "walletId": "0ecad4a2-3549-43fb-807e-9ff033247480"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "walletId": "0ecad4a2-3549-43fb-807e-9ff033247480",
- "walletType": "CLIENT",
- "status": "ACTIVE",
- "allowNegative": true,
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z"
}
}Close a wallet. Terminal state — only a final withdrawal to zero balance is allowed after closing.
| walletId required | string <uuid> (uuidString) UUID string |
{- "walletId": "0ecad4a2-3549-43fb-807e-9ff033247480"
}{- "success": true,
- "errno": 0,
- "error": "string",
- "details": {
- "code": "INVALID_TOKEN",
- "resource": "/api/v3/tradingAccount",
- "action": "create",
- "required": [
- "admin",
- "write"
], - "provided": [
- "read"
], - "tenant_id": "tenant-123",
- "request_id": "req-456-789",
- "metadata": { }
}, - "data": {
- "walletId": "0ecad4a2-3549-43fb-807e-9ff033247480",
- "walletType": "CLIENT",
- "status": "ACTIVE",
- "allowNegative": true,
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "createdAt": 1632933600000,
- "createdAtDateTime": "2019-08-24T14:15:22Z",
- "updatedAt": 1632933600000,
- "updatedAtDateTime": "2019-08-24T14:15:22Z"
}
}This endpoint documents the WebSocket API protocol, not a REST endpoint.
Connect to the Cadenza WebSocket API using the Centrifugo protocol.
Use the WebSocket servers listed above (wss://cadenza-ws.algo724.com/connection/websocket for production
or wss://cadenza-ws-uat.algo724.com/connection/websocket for UAT).
Include your JWT token in the connect command:
{
"connect": {
"token": "your-jwt-token",
"name": "your-client-name"
},
"id": 1
}
Subscribe to channels for real-time updates:
| Channel Pattern | Payload Schema | Description |
|---|---|---|
tradingAccount:{accountId} |
— | Trading account updates (orders, portfolio, balances) |
market:orderbook:{venue}:{symbol} |
orderBook |
Order book updates (updateType ∈ SNAPSHOT | DIFF | DELTA) |
market:ticker:{venue}:{symbol} |
ticker |
Per-instrument ticker updates |
market:ticker:{venue} |
ticker |
Venue-wide ticker fanout (live screening) |
market:kline:{venue}:{symbol}:{interval} |
kline |
Kline updates (isClosed: false while live, true on bar close) |
market:trade:{venue}:{symbol} |
— | Trade updates for an instrument |
Channel publications carry the same orderBook / ticker / kline schemas used by REST and WebSocket RPC.
All WebSocket messages follow the Centrifugo JSON protocol format. See the WebSocket schemas section for detailed message structures.
For complete protocol documentation, refer to:
WebSocket command (sent after WebSocket connection is established)
| id required | integer Unique command ID for request-response correlation |
object (wsConnectRequest) Connect request sent after WebSocket connection is established | |
object (wsSubscribeRequest) Subscribe to a channel for real-time updates | |
object (wsUnsubscribeRequest) Unsubscribe from a channel | |
object (wsPublishRequest) Publish a message to a channel | |
object (wsPresenceRequest) Request presence information for a channel | |
object (wsPresenceStatsRequest) Request presence statistics for a channel | |
object (wsHistoryRequest) Request publication history for a channel | |
| ping | object (wsPingRequest) Ping request to keep connection alive |
object (wsSendRequest) Send asynchronous message (no reply expected) | |
object (wsRPCRequest) Remote procedure call request | |
object (wsRefreshRequest) Refresh connection credentials | |
object (wsSubRefreshRequest) Refresh subscription credentials |
{- "id": 1,
- "connect": {
- "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "name": "my-trading-client",
- "version": "1.0.0"
}
}{- "id": 1,
- "connect": {
- "client": "c7a8b9d0-1234-5678-9abc-def012345678",
- "version": "5.0.0",
- "expires": false,
- "ttl": 0,
- "ping": 25,
- "pong": true,
- "time": 1703052635110
}
}