/api/v1/order/status Request authentication
Include X-Bolt-Key, X-Bolt-Timestamp and X-Bolt-Signature. Use a current millisecond timestamp and sign the timestamp together with the exact request body.
01. Request parameters
application/jsonSend the merchant externalOrderId used when creating the order, not orderToken. Only orders belonging to the current API key can be queried.
Example value
{"externalOrderId": "INV-20260209-99281"}Required string, 6–64 characters. Letters, digits, underscores (_) and hyphens (-) are allowed.
Order states and fulfillment
PENDINGAwaiting payment: no eligible transfer has been matched.
PAIDPayment detected, awaiting blockchain confirmation.
CONFIRMEDPayment confirmed or accepted through merchant review; callback delivery may still be pending.
COMPLETEDPayment confirmed and BoltUtil has received a successful callback response.
EXPIREDThe payment window ended without a matched eligible transfer. An on-time transfer with delayed confirmation may still be recognized later.
FAILEDThe order is in a failed state. Do not treat it as payment success.
CANCELLEDThe order was cancelled. Do not treat it as payment success.
PAID is awaiting confirmation and must not trigger fulfillment. CONFIRMED or COMPLETED means payment has been confirmed; fulfill only once per externalOrderId. COMPLETED means BoltUtil received a successful callback response, not that your business actually fulfilled the order. For reviewed payments, also check the paid amount and settlement type.
02. Response fields (data)
application/jsonQuery notes
- The query returns stored order state; it does not immediately scan the blockchain. Confirmations are recorded values. Use status to determine payment confirmation.
- Without a matched payment, paidAmount, shortfallAmount, settlementType, txHash and related times may be null. This is not a query failure.
- Only your own orders can be queried. Free accounts can access orders created within the last 30 days; active members can access all history. Missing or inaccessible orders return order not found.
- paidAt, confirmedAt and completedAt are date-time strings, such as 2026-02-09T18:20:50.790, without a timezone offset. They are not millisecond timestamps.
Common errors
These are common cases. Use the actual HTTP status and response code/message to diagnose failures. An error response is not a payment result.
- 401: Check the API Key, raw-body signature and current millisecond timestamp (within 5 minutes of the server clock).
- 404: The order is missing, belongs to another merchant or is outside the history allowed by your plan.