Skip to content

True Markets CeFi WebSocket v1.0.3

Overview

This API allows clients to interact with the CeFi trading platform for real time instrument, market data and exchange transactions.

Authentication

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

Unauthenticated Endpoints

Many endpoints have an unauthenticated version which only requires the user to supply a valid timestamp (no older than 15 seconds and not in the future, relative to server UTC time). These endpoints batch updates and publish on an interval set by the exchange, typically 1 second.

Authenticated-Only Channels

Some channels require authentication and cannot be accessed without valid credentials:

  • DROPCOPY: Order drop copy channel that provides real-time order state updates.

Change Log

VersionDateNotes
v1.0.32026-02-23Added UNSUBSCRIBE_NO_AUTH and clarified no-auth request requirements on authenticated sessions.
v1.0.22026-02-10Clarified authentication/signature rules and subscription field requirements.
v1.0.12026-01-28Added DROPCOPY channel for order drop copy.
v1.0.02025-10-16Initial Release.
Download AsyncAPI description
Servers
uat
uat.truex.co
More details
production
prod.truex.co
More details
Channel

Messages

Accepts one of the following messages:

Payload

One of:

Authenticated request (SUBSCRIBE or UNSUBSCRIBE) requiring credentials.

typestringrequired

Action the request is intending to take.

Enum"SUBSCRIBE""SUBSCRIBE_NO_AUTH""UNSUBSCRIBE""UNSUBSCRIBE_NO_AUTH"
Example: "SUBSCRIBE"
organization_idstringrequired

Exchange designation ID will be UUIDv4. Must be supplied in human readable form. RFC 9562.

Example: "30d17c5b-5d7b-4f06-bdc5-d4b3b12bdd4"
keystringrequired

Exchange supplied API key will be in UUIDv4. Must be supplied in human readable form. RFC 9562.

Example: "6398805c-f369-40f6-ac07-94ce683056e4"
signaturestringrequired

The computed HMAC signature.

Example: "gLoCBQaBqjfBx+Z5o113nUUNgWHaliIhQGISguSLVKY="
item_namesArray of stringsrequired

List of items the request is intending to act upon. For market data channels (INSTRUMENT, EBBO, DEPTH, TRADE), this contains instrument symbols. For the DROPCOPY channel, this contains client IDs as strings.

Example: ["BTC-PYUSD"]
channelsArray of stringsrequired

List of channels the request is intending to interact with. Note: DROPCOPY channel requires authentication.

Items Enum"INSTRUMENT""EBBO""DEPTH""TRADE""DROPCOPY"
Example: ["INSTRUMENT"]
timestampstringrequired

Required field on all requests; a UTC Unix epoch in seconds. Must not be in the future and must be no older than 15 seconds relative to server time.

Example: "1741894773"
Payload
{ "type": "SUBSCRIBE", "item_names": [ "BTC-PYUSD" ], "channels": [ "INSTRUMENT" ], "timestamp": "1741894773", "organization_id": "string", "key": "string", "signature": "string" }

Send

Message sent to server indicating what channels and data the user would like to subscribe to.

Messages

subscription

Receive

Message received when connecting to the server and establishing a websocket connection.

Messages

welcome

Message sent from server containing channels and items the user is currently subscribed to.

Messages

confirmation

Message sent from server with instrument data.

Messages

instrument

Message sent from server containing the latest trade information for a subscribed instrument.

Messages

trade

Message sent from server containing the latest exchange best bid and offer information for a subscribed instrument.

Messages

ebbo

Message sent from server containing the latest market data change for a subscribed instrument.

Messages

depth

Message sent from server containing order drop copy data for subscribed client IDs. Provides real-time order state updates including new orders, fills, cancellations, and modifications. Requires authentication - unauthenticated connections will be rejected.

Messages

dropcopy