DLTM Derivatives API
REST API for derivatives trading on DLT Markets.
The API abstracts exchange-specific details behind a unified interface using canonical instrument symbols.
Authentication
All requests require ed25519 signature authentication via three headers:
| Header | Description |
|---|---|
X-Public-Key | Your public key, hex-encoded. |
X-Nonce | Nanosecond Unix timestamp (e.g. Go time.Now().UnixNano()). Must be strictly increasing — each value must be greater than the last accepted one for your public key. The nonce sequence is shared between REST and WebSocket authentication, so use the same (nanosecond) scale everywhere. |
X-Signature | ed25519 signature of the request, hex-encoded. |
Signature construction:
message = {METHOD}{uri}{body}{nonce}
METHOD— HTTP method in uppercase (e.g.GET,POST)uri— Full request path exactly as sent on the request line: the/v1prefix, the path, and the query string verbatim in the order the parameters are sent (e.g./v1/customers/{code}/orders?status=open). No domain, no re-ordering.body— JSON request body for POST/PUT/PATCH; empty string otherwisenonce— Same value sent inX-Nonce
Example 1 — POST order:
POST/v1/orders{"customer_code":"3a034186-...","instrument_symbol":"BTCUSDC_PERP",...}1531816217872000000
Example 2 — GET with a query string:
GET/v1/customers/14d9e594-be62-4b1b-aa36-1e0dfab72e2c/orders?status=open1779137757054500081
Example 3 — DELETE (no body, no query string):
DELETE/v1/customers/14d9e594-be62-4b1b-aa36-1e0dfab72e2c/orders/8f1a2b3c-7d6e-4f50-9a21-0b3c4d5e6f701779137757054500082
Sign the resulting message with your ed25519 private key and hex-encode the result.
Note: the query string is part of the signed message — sign the exact path and query string you put on the request line. A signature computed over the bare path will fail verification on any request carrying query parameters.
Conventions
- Decimal values are represented as strings to avoid floating-point precision issues
- Identifiers use UUID format and are referred to as
code(e.g.,order_code) - Timestamps in responses use ISO 8601 format (
date-time). Date range query parameters (start,end) use milliseconds since epoch. - Pagination uses cursor-based pagination with
after,before, andpage_sizequery parameters - List responses follow the format
{records: [Item], response_metadata: {has_next, has_previous, start_cursor, end_cursor}} - Sorting uses the
sortquery parameter with valuesascordesc(defaultasc), where supported
Rate Limiting
API requests are subject to rate limiting. When the limit is exceeded, the API returns
a 429 Too Many Requests response with a Retry-After header.
Base URLs
| Environment | URL |
|---|---|
| Production | https://derivatives.api.dlt-finance.com/v1 |
| Integration | https://derivatives.api.dlt-int-01.int.dlt-finance.com/v1 |
Authentication
- API Key: ApiTokenAuth
ed25519 API key. Must be accompanied by X-Nonce and X-Signature headers.
See Authentication section for signature construction details.
Security Scheme Type: | apiKey |
|---|---|
Header parameter name: | X-Public-Key |