Skip to content

3.3 Transaction Status Query API ​

http
POST /api/v1/user/exchange/transfer-wallet-transactions/status

Query the latest status of a single transaction (real-time) by ticket_id, commonly used to confirm whether a deposit / withdrawal succeeded. Data is retained for the most recent 6 months. Requests must include the HMAC authentication headers.

TIP

This API is rate-limited to 100 requests / minute; exceeding it returns code:10060. The quota is counted per api_key × endpoint — endpoints do not share a quota, and every request (including those returning an error) counts toward it.

Request Body (JSON) ​

FieldRequiredTypeDescription
ticket_idTRUEstringExchange ticket ID, up to 256 characters
json
{ "ticket_id": "fadbd4ce-4f14-4b9e-8ee4-accd4b9c729e" }

Response data ​

Returns a single transaction record (not a list).

json
{
  "code": 0,
  "message": "success",
  "data": {
    "player_id": "45d3d8eb-1a95-4e47-9315-bc507ea06d65",
    "player_external_id": "player1",
    "player_name": "player1_name",
    "agent_id": "bea4274e-4333-423c-a8e8-4c203d256d2c",
    "agent_name": "agent_demo",
    "transaction_type": "EXCHANGE_TRANSACTION_TYPE_DEPOSIT",
    "currency": "CNY",
    "amount": "100",
    "balance_after": "1000",
    "created_at": "2026-05-20T10:00:00Z"
  }
}

IMPORTANT

When no record matches the ticket_id, the API returns code:10030, transfer wallet transaction not found.

10030 covers both "does not exist" and "not yet posted". A transfer is a single, fully synchronous database transaction — there is no intermediate "accepted but not yet posted" state, so not finding the record means it has not been posted.

Do not use 10030 to infer that a compensating entry is needed. Once you have confirmed the transfer was not posted, simply resend the original request with the same ticket_id (the HMAC headers must be regenerated with a fresh X-Nonce and X-Timestamp).

data fields ​

FieldTypeDescription
player_idstringInternal player ID (UUID)
player_external_idstringPlayer ID
player_namestringPlayer name
agent_idstringInternal agent ID (UUID)
agent_namestringAgent name
transaction_typestringTransaction type (see transaction type enum)
currencystringCurrency
amountstringAmount change (may be negative)
balance_afterstringBalance after the change
created_atstringTransaction time (RFC3339 UTC)

BFX EXCHANGE · BE THE GAME CHANGER