Initiate and execute a new peer-to-peer (C2C) trade order against an active advertisement, locking escrow assets and opening counterparty trade settlement.
/sapi/v1/c2c/orderMatch/placeOrder
This endpoint places a new trade order against a specified peer-to-peer advertisement (advOrderNumber).
Orders can be formulated by specifying either the exact target digital asset amount (BY_AMOUNT) or the total fiat currency volume (BY_MONEY).
Upon placement, the corresponding cryptocurrency volume is locked in Binance escrow, trade countdown timers begin, and an active order match session is established between buyer and seller.
Looking to automate order execution at the best rates? Check out our Binance P2P Trading Bot — an automated software for Binance that provides instant auto-buying, dynamic bank/fiat support, and Telegram alerts.
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).
|
advOrderNumber |
Body | STRING | Required | Unique advertisement number identifier to place the order against. |
asset |
Body | STRING | Required |
Cryptocurrency asset symbol (e.g., USDT, BTC).
|
fiatUnit |
Body | STRING | Required |
Fiat currency unit symbol (e.g., USD, EUR, KES).
|
tradeType |
Body | STRING | Required |
Trade direction (BUY or SELL).
|
buyType |
Body | STRING | Required |
Order calculation mode: BY_AMOUNT (crypto quantity) or BY_MONEY (fiat value).
|
totalAmount |
Body | DECIMAL / DOUBLE | Required |
Total purchase value expressed in crypto units or fiat units (matching buyType).
|
matchPrice |
Body | DECIMAL / DOUBLE | Optional | Expected execution unit price to protect against slippage during order placement. |
payId |
Body | LONG | Optional | Seller's preferred payment method identifier. |
payType |
Body | STRING | Optional |
Payment method type channel name (e.g., BANK, SPECIFIC_PAYMENT_NAME).
|
origin |
Body | STRING | Optional | Order source tracking origin tag. |
x-gray-env |
Header | STRING | Optional | Environment flag identifier used for internal gray/stage testing. |
x-trace-id |
Header | STRING | Optional | Custom client trace ID for request lifecycle tracking and debugging. |
x-user-id |
Header | STRING | Optional | Target user identifier for context validation. |
Supplying matchPrice ensures that the order will only execute if the ad's current unit price matches your target valuation, preventing unexpected pricing fluctuations caused by floating-price repricers.
Example POST request using cURL to buy 100 USDT via fiat.
curl -X POST \
'https://api.binance.com/sapi/v1/c2c/orderMatch/placeOrder' \
-H 'clientType: WEB' \
-H 'Content-Type: application/json' \
-d '{
"advOrderNumber": "1122334455667788",
"asset": "USDT",
"fiatUnit": "USD",
"tradeType": "BUY",
"buyType": "BY_AMOUNT",
"totalAmount": 100.00,
"matchPrice": 1.015,
"payType": "BANK"
}'
Example response returned on successful order placement.
{
"code": "000000",
"message": "success",
"data": {
"orderNumber": "202608161234567890",
"advNo": "1122334455667788",
"tradeType": "BUY",
"asset": "USDT",
"fiat": "USD",
"amount": "100.00",
"totalPrice": "101.50",
"unitPrice": "1.015",
"orderStatus": "TRADING",
"createTime": 1786953600000
},
"success": true
}
| Field | Type | Description |
|---|---|---|
code |
STRING |
Standard Binance status code ("000000" indicates success).
|
message |
STRING | Status description or response feedback message. |
data.orderNumber |
STRING | Newly created C2C trade order identification number. |
data.totalPrice |
STRING | Total fiat settlement amount to transfer or receive. |
data.amount |
STRING | Total crypto asset volume locked in escrow. |
data.orderStatus |
STRING |
Initial order state (typically TRADING).
|
success |
BOOLEAN | Indicates overall request execution result. |
Workflow for placing a C2C trade order.
BY_AMOUNT or BY_MONEY.
Execute instantaneous orders against target competitor ads when cross-market spreads exceed threshold targets.
Allow platform users to buy cryptocurrency seamlessly by embedding direct P2P order matching flows.
Place programmatic buy orders to rebalance merchant working capital when inventory drops below limits.
Execute instantaneous orders against target competitor ads when spreads exceed threshold targets.
Explore our P2P Bot →
This article is part of our complete learning guide covering professional cross-exchange cryptocurrency arbitrage.
Explore the Spot Arbitrage Guide →This article is part of our complete learning guide covering Binance P2P automation, merchant tools, and automated trading.
Explore the Binance P2P Automation Guide →