Skip to content

Overview

This API allows clients to interact with the TrueX trading platform for order management, market data retrieval, and account information.

Base URL

https://prod.truex.co/api/v1/

Authentication

Certain API requests must be authenticated using HMAC-SHA256 signature authentication.

API Versioning

The API uses date-based versioning via the X-Truex-Version header. To request a specific API version, include the header in your request:

X-Truex-Version: v2024_01_01

Supported Versions:

VersionStatusDescription
v2024_01_01Current (Default)Original API format - responses return raw data arrays/objects
v2026_01_23CurrentNew envelope format - responses wrapped in { "data": [...], "pagination": {...} }

If no version header is provided, the API defaults to v2024_01_01. Use the /api/v1/versions endpoint to discover supported versions programmatically.

Response Format by Version:

  • v2024_01_01: [{...}, {...}] (raw array) or {...} (raw object)
  • v2026_01_23: { "data": [...], "pagination": { "limit": 10, "next_cursor": "..." } }

Error Response Format by Version:

  • v2024_01_01: RFC 7807 Problem Details format
  • v2026_01_23: { "error": { ...RFC 7807 Problem Details... } }

Deprecation Policy: When a version is deprecated, responses will include RFC 8594 headers:

  • Deprecation: Date when the version was deprecated
  • Sunset: Date when the version will be removed
Download OpenAPI description
Languages
Servers
Mock server

https://docs.truemarkets.co/_mock/apis/cefi/rest/v1/

https://prod.truex.co/

Change Log

VersionDateNotes
v1.0.32026-01-27Pluralize all endpoints. Deprecate singular versions.
v1.0.22026-01-24Add API versioning support and versions endpoint.
v1.0.12025-10-24Add gateway health endpoint.
v1.0.02025-10-16Initial Release.
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations

Request

Fetches all transfers for a client within the past 24 hours on the exchange.

Security
HMAC
Query
sizestring[ 1 .. 100 ]

Number of transfers to return per page. Maximum allowed value is 100.

skipstring

Number of records to skip before returning results. Used for offset-based pagination.

timestampstring^[0-9]{19}$required

A Unix UTC timestamp in nanoseconds used as a reference point for fetching transfers.

Example: timestamp=1741523275598727336
Headers
x-truex-auth-useridstringrequired

Client identifier.

x-truex-auth-timestampstringrequired

Timestamp when request was made in seconds since epoch.

x-truex-auth-tokenstringrequired

The UUID affiliated with the HMAC key.

x-truex-auth-signaturestringrequired

The computed HMAC signature.

curl -i -X GET \
  'https://docs.truemarkets.co/_mock/apis/cefi/rest/v1/api/v1/transfers?size=string&skip=string&timestamp=1741523275598727336' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-truex-auth-signature: string' \
  -H 'x-truex-auth-timestamp: string' \
  -H 'x-truex-auth-token: string' \
  -H 'x-truex-auth-userid: string'

Responses

Successful response with a list of transfers.

Bodyapplication/jsonArray [
idstring
Example: "799477925458083869"
statusstring
Enum"INITIALIZED""PENDING""COMPLETED""FAILED""REJECTED"
Example: "INITIALIZED"
requestobject(TransferNew)
timestampstring(int64)

The UNIX UTC nanosecond timestamp of when the transfer was initiated.

Example: "1740740509058376312"
updated_timestampstring(int64)

The UNIX UTC nanosecond timestamp of the last update to the transfer.

Example: "1740740509058376312"
]
Response
application/json
[ { "id": "799477925458083869", "status": "INITIALIZED", "request": {}, "timestamp": "1740740509058376312", "updated_timestamp": "1740740509058376312" } ]

Request

Initiate a new transfer of assets to/from the exchange.

Security
HMAC
Headers
x-truex-auth-useridstringrequired

Client identifier.

x-truex-auth-timestampstringrequired

Timestamp when request was made in seconds since epoch.

x-truex-auth-tokenstringrequired

The UUID affiliated with the HMAC key.

x-truex-auth-signaturestringrequired

The computed HMAC signature.

Bodyapplication/jsonrequired

Transfer request object.

requestobject(TransferNew)
curl -i -X POST \
  https://docs.truemarkets.co/_mock/apis/cefi/rest/v1/api/v1/transfers \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-truex-auth-signature: string' \
  -H 'x-truex-auth-timestamp: string' \
  -H 'x-truex-auth-token: string' \
  -H 'x-truex-auth-userid: string' \
  -d '{
    "request": {
      "amount": "1000000",
      "asset_id": "78901985055342602",
      "client_id": "78901985048264710",
      "type": "WITHDRAW",
      "platform": "FIAT",
      "instructions": {
        "fiat_account_id": "ed671d2b-bb9e-4cf5-9eb4-71b6db672207",
        "identity_id": "b2a99c93-f1ee-41ed-9e9e-ec704cfbca4b",
        "account_id": "b2a99c93-f1ee-41ed-9e9e-ec704cfbca4b",
        "includes_fee": true
      }
    }
  }'

Responses

Successful operation.

Bodyapplication/json
idstring
Example: "799477925457100828"
statusstring
Enum"INITIALIZED""PENDING""COMPLETED""FAILED""REJECTED"
Example: "INITIALIZED"
requestobject(TransferNew)
Response
application/json
{ "id": "799477925457100828", "status": "INITIALIZED", "request": { "amount": "1000000", "asset_id": "78901985055342602", "client_id": "78901985048264710", "type": "WITHDRAW", "platform": "FIAT", "instructions": {} } }

Request

Fetches all currently active transfers on the exchange.

Security
HMAC
Query
transfer_idstring

Unique identifier of a specific transfer. If omitted, all active transfers for the client will be returned.

Headers
x-truex-auth-useridstringrequired

Client identifier.

x-truex-auth-timestampstringrequired

Timestamp when request was made in seconds since epoch.

x-truex-auth-tokenstringrequired

The UUID affiliated with the HMAC key.

x-truex-auth-signaturestringrequired

The computed HMAC signature.

curl -i -X GET \
  'https://docs.truemarkets.co/_mock/apis/cefi/rest/v1/api/v1/transfers/active?transfer_id=string' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-truex-auth-signature: string' \
  -H 'x-truex-auth-timestamp: string' \
  -H 'x-truex-auth-token: string' \
  -H 'x-truex-auth-userid: string'

Responses

Successful response with active transfers.

Bodyapplication/jsonArray [
idstring
Example: "799477925457100828"
statusstring
Enum"INITIALIZED""PENDING""COMPLETED""FAILED""REJECTED"
Example: "INITIALIZED"
requestobject(TransferNew)
]
Response
application/json
[ { "id": "799477925457100828", "status": "INITIALIZED", "request": {} } ]

Get Active transfers (deprecated)Deprecated

Request

DEPRECATED: Use /api/v1/transfers/active instead. Fetches all currently active transfers on the exchange. If a transfer_id is provided, returns details for the specified transfer. Otherwise, retrieves all active transfers for the authenticated client.

Security
HMAC
Query
transfer_idstring

Unique identifier of a specific transfer. If omitted, all active transfers for the client will be returned.

Headers
x-truex-auth-useridstringrequired

Client identifier.

x-truex-auth-timestampstringrequired

Timestamp when request was made in seconds since epoch.

x-truex-auth-tokenstringrequired

The UUID affiliated with the HMAC key.

x-truex-auth-signaturestringrequired

The computed HMAC signature.

curl -i -X GET \
  'https://docs.truemarkets.co/_mock/apis/cefi/rest/v1/api/v1/transfer/active?transfer_id=string' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-truex-auth-signature: string' \
  -H 'x-truex-auth-timestamp: string' \
  -H 'x-truex-auth-token: string' \
  -H 'x-truex-auth-userid: string'

Responses

Successful response with active transfers.

Bodyapplication/jsonArray [
idstring
Example: "799477925457100828"
statusstring
Enum"INITIALIZED""PENDING""COMPLETED""FAILED""REJECTED"
Example: "INITIALIZED"
requestobject(TransferNew)
]
Response
application/json
[ { "id": "799477925457100828", "status": "INITIALIZED", "request": {} } ]

Get transfer (deprecated)Deprecated

Request

DEPRECATED: Use /api/v1/transfers instead. Fetches all transfers for a client within the past 24 hours on the exchange.

Security
HMAC
Query
sizestring[ 1 .. 100 ]

Number of transfers to return per page. Maximum allowed value is 100.

skipstring

Number of records to skip before returning results. Used for offset-based pagination.

timestampstring^[0-9]{19}$required

A Unix UTC timestamp in nanoseconds used as a reference point for fetching transfers. The query will retrieve results created before this timestamp, enabling precise time-based filtering and ensuring stable pagination. If omitted, the server responds with 400 BAD REQUEST.

Example: timestamp=1741523275598727336
Headers
x-truex-auth-useridstringrequired

Client identifier.

x-truex-auth-timestampstringrequired

Timestamp when request was made in seconds since epoch.

x-truex-auth-tokenstringrequired

The UUID affiliated with the HMAC key.

x-truex-auth-signaturestringrequired

The computed HMAC signature.

curl -i -X GET \
  'https://docs.truemarkets.co/_mock/apis/cefi/rest/v1/api/v1/transfer?size=string&skip=string&timestamp=1741523275598727336' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-truex-auth-signature: string' \
  -H 'x-truex-auth-timestamp: string' \
  -H 'x-truex-auth-token: string' \
  -H 'x-truex-auth-userid: string'

Responses

Successful response with a list of transfers.

Bodyapplication/jsonArray [
idstring
Example: "799477925458083869"
statusstring
Enum"INITIALIZED""PENDING""COMPLETED""FAILED""REJECTED"
Example: "INITIALIZED"
requestobject(TransferNew)
timestampstring(int64)

The UNIX UTC nanosecond timestamp of when the transfer was initiated.

Example: "1740740509058376312"
updated_timestampstring(int64)

The UNIX UTC nanosecond timestamp of the last update to the transfer.

Example: "1740740509058376312"
]
Response
application/json
[ { "id": "799477925458083869", "status": "INITIALIZED", "request": {}, "timestamp": "1740740509058376312", "updated_timestamp": "1740740509058376312" } ]

Initiate transfer (deprecated)Deprecated

Request

DEPRECATED: Use /api/v1/transfers instead. Initiate a new transfer of assets to/from the exchange.

Security
HMAC
Headers
x-truex-auth-useridstringrequired

Client identifier.

x-truex-auth-timestampstringrequired

Timestamp when request was made in seconds since epoch.

x-truex-auth-tokenstringrequired

The UUID affiliated with the HMAC key.

x-truex-auth-signaturestringrequired

The computed HMAC signature.

Bodyapplication/jsonrequired

Transfer request object.

requestobject(TransferNew)
curl -i -X POST \
  https://docs.truemarkets.co/_mock/apis/cefi/rest/v1/api/v1/transfer \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-truex-auth-signature: string' \
  -H 'x-truex-auth-timestamp: string' \
  -H 'x-truex-auth-token: string' \
  -H 'x-truex-auth-userid: string' \
  -d '{
    "request": {
      "amount": "1000000",
      "asset_id": "78901985055342602",
      "client_id": "78901985048264710",
      "type": "WITHDRAW",
      "platform": "FIAT",
      "instructions": {
        "fiat_account_id": "ed671d2b-bb9e-4cf5-9eb4-71b6db672207",
        "identity_id": "b2a99c93-f1ee-41ed-9e9e-ec704cfbca4b",
        "account_id": "b2a99c93-f1ee-41ed-9e9e-ec704cfbca4b",
        "includes_fee": true
      }
    }
  }'

Responses

Successful operation.

Bodyapplication/json
idstring
Example: "799477925457100828"
statusstring
Enum"INITIALIZED""PENDING""COMPLETED""FAILED""REJECTED"
Example: "INITIALIZED"
requestobject(TransferNew)
Response
application/json
{ "id": "799477925457100828", "status": "INITIALIZED", "request": { "amount": "1000000", "asset_id": "78901985055342602", "client_id": "78901985048264710", "type": "WITHDRAW", "platform": "FIAT", "instructions": {} } }