Skip to content

Overview

This API allows clients to interact with the CeFi 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": { "size": 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-direct/rest/v1/

https://prod.truex.co/

Service

Health checks and API version discovery endpoints. These endpoints are publicly accessible and do not require authentication.

Operations

Assets

Query available assets on the exchange by ID or name.

Operations

Instruments

Query tradeable instruments (market definitions) and their statistics.

Operations

Market Data

Real-time market quotes and VWAP computations. These endpoints are publicly accessible and do not require authentication.

Operations

Clients

Retrieve and update client account information and settings.

Operations

Orders

Create, modify, cancel, and query orders including status, trades, and activity history.

Operations

Balances

Query account balances across all assets.

Operations

Transfers

Initiate and track fund transfers between accounts.

Operations

Request

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

Security
HMAC
Query
sizeinteger[ 1 .. 100 ]

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

Default 10
skipinteger[ 0 .. 2147483647 ]

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. Must be no older than 15 seconds and no more than 1 second in the future.

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-direct/rest/v1/api/v1/transfers?size=10&skip=2147483647&timestamp=1741523275598727336' \
  -H 'x-truex-auth-signature: string' \
  -H 'x-truex-auth-timestamp: string' \
  -H 'x-truex-auth-token: YOUR_API_KEY_HERE' \
  -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. Must be no older than 15 seconds and no more than 1 second in the future.

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)required
request.​amountstringrequired

Amount of asset to transfer.

Example: "1000000"
request.​asset_idstring^[1-9][0-9]*$required

Exchange assigned ID of asset.

Example: "78901985055342602"
request.​client_idstring^[1-9][0-9]*$required

Exchange assigned ID of client.

Example: "78901985048264710"
request.​typestringrequired

Direction of the transfer.

  • DEPOSIT Place the amount specified on the exchange.
  • WITHDRAW Remove the amount specified from the exchange.
Enum"DEPOSIT""WITHDRAW"
Example: "WITHDRAW"
request.​platformstringrequired

The type of service to use for the transfer. Must match with the corresponding instructions defined below.

  • FIAT Indicates the transfer should use the traditional banking system used to handle the corresponding fiat currency. Note, performing a transfer with fiat on a stablecoin asset will result in an automatic conversion.
  • CRYPTO Indicates the transfer uses a blockchain platform.
Enum"FIAT""CRYPTO"
Example: "FIAT"
request.​instructionsFiatInstructions (object) or CryptoInstructions (object)

Platform specific instructions. The defined object must match with the platform value.

  • FiatInstructions Must be used when setting the platform to FIAT
  • CryptoInstructions Must be used when setting the platform to CRYPTO
One of:

Platform specific instructions. The defined object must match with the platform value.

  • FiatInstructions Must be used when setting the platform to FIAT
  • CryptoInstructions Must be used when setting the platform to CRYPTO
curl -i -X POST \
  https://docs.truemarkets.co/_mock/apis/cefi-direct/rest/v1/api/v1/transfers \
  -H 'Content-Type: application/json' \
  -H 'x-truex-auth-signature: string' \
  -H 'x-truex-auth-timestamp: string' \
  -H 'x-truex-auth-token: YOUR_API_KEY_HERE' \
  -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_idstringnon-empty^[1-9][0-9]*$

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. Must be no older than 15 seconds and no more than 1 second in the future.

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-direct/rest/v1/api/v1/transfers/active?transfer_id=string' \
  -H 'x-truex-auth-signature: string' \
  -H 'x-truex-auth-timestamp: string' \
  -H 'x-truex-auth-token: YOUR_API_KEY_HERE' \
  -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_idstringnon-empty^[1-9][0-9]*$

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. Must be no older than 15 seconds and no more than 1 second in the future.

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-direct/rest/v1/api/v1/transfer/active?transfer_id=string' \
  -H 'x-truex-auth-signature: string' \
  -H 'x-truex-auth-timestamp: string' \
  -H 'x-truex-auth-token: YOUR_API_KEY_HERE' \
  -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
sizeinteger[ 1 .. 100 ]

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

Default 10
skipinteger[ 0 .. 2147483647 ]

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. Must be no older than 15 seconds and no more than 1 second in the future.

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-direct/rest/v1/api/v1/transfer?size=10&skip=2147483647&timestamp=1741523275598727336' \
  -H 'x-truex-auth-signature: string' \
  -H 'x-truex-auth-timestamp: string' \
  -H 'x-truex-auth-token: YOUR_API_KEY_HERE' \
  -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. Must be no older than 15 seconds and no more than 1 second in the future.

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)required
request.​amountstringrequired

Amount of asset to transfer.

Example: "1000000"
request.​asset_idstring^[1-9][0-9]*$required

Exchange assigned ID of asset.

Example: "78901985055342602"
request.​client_idstring^[1-9][0-9]*$required

Exchange assigned ID of client.

Example: "78901985048264710"
request.​typestringrequired

Direction of the transfer.

  • DEPOSIT Place the amount specified on the exchange.
  • WITHDRAW Remove the amount specified from the exchange.
Enum"DEPOSIT""WITHDRAW"
Example: "WITHDRAW"
request.​platformstringrequired

The type of service to use for the transfer. Must match with the corresponding instructions defined below.

  • FIAT Indicates the transfer should use the traditional banking system used to handle the corresponding fiat currency. Note, performing a transfer with fiat on a stablecoin asset will result in an automatic conversion.
  • CRYPTO Indicates the transfer uses a blockchain platform.
Enum"FIAT""CRYPTO"
Example: "FIAT"
request.​instructionsFiatInstructions (object) or CryptoInstructions (object)

Platform specific instructions. The defined object must match with the platform value.

  • FiatInstructions Must be used when setting the platform to FIAT
  • CryptoInstructions Must be used when setting the platform to CRYPTO
One of:

Platform specific instructions. The defined object must match with the platform value.

  • FiatInstructions Must be used when setting the platform to FIAT
  • CryptoInstructions Must be used when setting the platform to CRYPTO
curl -i -X POST \
  https://docs.truemarkets.co/_mock/apis/cefi-direct/rest/v1/api/v1/transfer \
  -H 'Content-Type: application/json' \
  -H 'x-truex-auth-signature: string' \
  -H 'x-truex-auth-timestamp: string' \
  -H 'x-truex-auth-token: YOUR_API_KEY_HERE' \
  -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": {} } }

Change Log

VersionDateNotes
v1.0.42026-03-12Compute quote now works for both base and qoute bases.
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.