Query paginated historical and active peer-to-peer (C2C) trade orders with comprehensive filtering by date ranges, trade direction, asset types, and status codes.
/sapi/v1/c2c/orderMatch/listOrdersThis endpoint enables trading bots, accounting platforms, and merchant dashboards to query paginated lists of C2C (P2P) orders. It provides rich query filters such as advertisement number (`advNo`), digital asset currency (`asset`), trade direction (`BUY`/`SELL`), timestamp boundaries, and multiple order status codes.
Automated reconciliation engines frequently poll this endpoint to maintain synchronization between Binance P2P order lifecycles and external database ledgers.
01
Parameters accepted in Body and HTTP Headers.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
clientType | Header | STRING | Required | Client Device Type initiating the request (e.g., WEB, APP, WEB_MOBILE). |
page | Body | INT | Optional | Target page number for pagination (starts at 1). |
rows | Body | INT | Optional | Number of records per page (default is typically 10 or 20; maximum 100). |
asset | Body | STRING | Optional | Cryptocurrency asset symbol to filter by (e.g., USDT, BTC). |
tradeType | Body | STRING | Optional | Order direction filter (BUY or SELL). |
advNo | Body | STRING | Optional | Filter orders originating from a specific advertisement number. |
orderStatus | Body | INT | Optional | Single order status code filter (e.g., 1: In Progress, 4: Completed, 5: Cancelled). |
orderStatusList | Body | ARRAY[INT] | Optional | Array of status codes to retrieve multiple order states simultaneously. |
startDate | Body | LONG | Optional | Start timestamp filter in milliseconds. |
endDate | Body | LONG | Optional | End timestamp filter in milliseconds. |
payType | Body | INT | Optional | Filter orders by payment method type code. |
sort | Body | STRING | Optional | Field to sort by (e.g., createTime). |
order | Body | STRING | Optional | Sort direction (ASC or DESC). |
Status Filtering Flexibility
You can specify a single status code using orderStatus, or query multiple states at once (such as filtering both active trading and appeal states) using the orderStatusList array.
02
Example POST request using cURL to fetch recent completed USDT orders.
curl -X POST \
'https://api.binance.com/sapi/v1/c2c/orderMatch/listOrders' \
-H 'clientType: WEB' \
-H 'Content-Type: application/json' \
-d '{
"page": 1,
"rows": 10,
"asset": "USDT",
"tradeType": "BUY",
"orderStatusList": [4],
"startDate": 1786867200000,
"endDate": 1786953600000
}'03
Example paginated response returned on successful query execution.
{
"code": "000000",
"message": "success",
"data": {
"total": 42,
"page": 1,
"rows": 10,
"data": [
{
"orderNumber": "202608161234567890",
"advNo": "1122334455667788",
"tradeType": "BUY",
"asset": "USDT",
"fiat": "USD",
"fiatSymbol": "$",
"amount": "250.00",
"totalPrice": "253.75",
"unitPrice": "1.015",
"orderStatus": 4,
"createTime": 1786950000000,
"counterPartNickName": "MerchantAlpha"
}
]
},
"success": true
}| Field | Type | Description |
|---|---|---|
code | STRING | Standard Binance status code ("000000" indicates success). |
data.total | INT | Total matching order records available across all pages. |
data.page | INT | Current page index. |
data.rows | INT | Number of items returned per page. |
data.data | ARRAY | Array of matching C2C order record objects. |
data.data[].orderNumber | STRING | Unique order identification string. |
data.data[].orderStatus | INT | Numeric status code reflecting current order state. |
success | BOOLEAN | Indicates overall request execution result. |
04
Workflow for retrieving paginated order lists.
page until total count is covered.Accounting & Tax Exports
Extract structured transaction history across custom date windows for financial reporting and auditing.
Periodic Ledger Reconciliation
Synchronize external merchant databases and CRM records with historical P2P order records.
Ad Performance Analysis
Filter order lists by specific advNo to calculate fill rates and profitability per advertisement.