Get Order Details

Retrieve comprehensive information about a specific exchange order

Endpoint

GET/v1/order/{order_id}

This endpoint requires authentication

Order Identification

Orders can be identified using either:

  • Order ID - The full order identifier (e.g., MM1234567890)
  • Token + ID - Use the token from order creation along with a shorter ID for convenience

Request Example

GET /v1/order/MM1234567890
Content-Type: application/json
X-API-KEY: your_api_key
X-API-SIGN: generated_signature
X-API-TIMESTAMP: 1706284800

Response Example

{
  "success": true,
  "data": {
    "order_id": "MM1234567890",
    "status": "PENDING",
    "deposit_address": "0x9876543210987654321098765432109876543210",
    "deposit_currency": "BNB",
    "deposit_network": "BEP20",
    "deposit_amount": 1.202887,
    "deposit_received": 1.202887,
    "deposit_confirmations": 3,
    "deposit_required_confirmations": 12,
    "receive_currency": "USDT",
    "receive_network": "ERC20",
    "receive_amount": 1000.00,
    "receive_final_amount": 1000.00,
    "rate": 831.34,
    "rate_type": "fixed",
    "fee": 10.00,
    "destination": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
    "deposit_tx_hash": "0xabc123...",
    "withdraw_tx_hash": null,
    "created_at": "2025-01-27T11:25:00Z",
    "updated_at": "2025-01-27T11:30:00Z",
    "expires_at": "2025-01-27T11:40:00Z",
    "completed_at": null
  }
}

Response Fields

FieldDescription
statusCurrent order status (see statuses below)
deposit_receivedAmount of deposit received (may be less than deposit_amount if underpaid)
deposit_confirmationsNumber of blockchain confirmations received
deposit_required_confirmationsRequired confirmations before processing
receive_final_amountFinal amount to be received (may differ for float rates)
deposit_tx_hashTransaction hash of the deposit (null if not received)
withdraw_tx_hashTransaction hash of the withdrawal (null if not sent)
completed_atOrder completion timestamp (null if not completed)

Order Statuses

NEW

Order has been created and is waiting for the user to send funds to the deposit address. No payment has been received yet.

PENDING

Deposit has been received and is waiting for blockchain confirmations. The system is monitoring the transaction until it reaches the required confirmation count.

EXCHANGE

Confirmations complete. The system is now exchanging the funds. This typically happens very quickly but may take a few minutes during high network congestion.

WITHDRAW

Exchange complete. Funds are being sent to the destination address. The withdrawal transaction has been broadcast to the blockchain.

DONE

Order completed successfully. Funds have been sent to the destination address and the transaction has been confirmed on the blockchain.

EXPIRED

Order expired without receiving payment. The deposit address is no longer valid. User must create a new order if they still want to exchange.

EMERGENCY

An unexpected situation occurred that requires user action. The user must choose to continue, refund, or cancel the order. See the Emergency Action endpoint for details.

Polling Model

To track order status, you should poll this endpoint periodically. Here are recommended polling intervals:

  • NEW status: Poll every 10-30 seconds to detect when payment is received
  • PENDING status: Poll every 30-60 seconds to track confirmation progress
  • EXCHANGE/WITHDRAW status: Poll every 15-30 seconds until DONE
  • DONE/EXPIRED/EMERGENCY: No need to poll further (final states)

Best Practice: Instead of polling, use webhooks to receive real-time status updates. This reduces API calls and provides instant notifications. See the Notifications endpoint for setup.

Confirmation Tracking

The deposit_confirmations field shows how many blockchain confirmations have been received. Different networks require different confirmation counts:

NetworkRequired Confirmations
BTC3-6 confirmations
ERC2012 confirmations
TRC2020 confirmations
BEP2012 confirmations

Transaction Hashes

Transaction hashes allow you to verify transactions on blockchain explorers:

  • deposit_tx_hash - Hash of the transaction where user sent funds (available once payment is detected)
  • withdraw_tx_hash - Hash of the transaction sending funds to destination (available during WITHDRAW status)

Use these hashes to look up transactions on block explorers like Etherscan, BscScan, or Tronscan to verify transaction details independently.

Error Responses

Order Not Found

{
  "error": true,
  "error_code": "ORDER_NOT_FOUND",
  "message": "Order MM1234567890 not found"
}