Skip to main content

Payout

Binance Payout provides your business with an instant and secure way to send mass crypto payouts to your customers and suppliers all over the world. You can use the Payout API to make payments to multiple recipients in a single API request, either to their Binance ID, Pay ID or email. This includes non-Binance users as well.

How it works#

  1. Enable Payout function in the Merchant Management Platform (MMP).

  2. You can choose to perform Payout from the following options:

  • API Integration: Initiate payout request using Batch Payout API;

  • Manual: Upload csv file to perform payout in the MMP.

  1. Before performing the payout, you can use Wallet Balance Query to ensure that the wallet has sufficient funds.

  2. Each batch payout can be performed to multiple recipients (max. 500) in the desired cryptocurrency.

  3. Recipients with verified Binance accounts can login to their account to receive the payout in their Funding Wallet and view the payment details. For non-Binance user they will receive an email invitation to create a Binance account to receive the fund.

Getting Started#

Enabling Payout Function in MMP#

Go to [Developers] Tab, select [Edit] under Payout API Setting on the right. Select Enable Payout and input the trusted IPs to access the Batch Payout API function.

Batch Payout via API#

You can use the “Batch Payout” API to initiate transfers to multiple Binance users in a single request.

End Point#
POST   /binancepay/openapi/payout/transfer
Request Example#

For full API specification, please go to API Request Reference.

You need to assign a requestId for batch payout request. (Max. length 32)

The transferDetailList array defines the payout items, and you will need to assign a merchantSendId (Max. length 32) for each item.

  "requestId":"samplerequest1234",  "batchName" :"sample batch",  "currency" : "BUSD",  "totalAmount": 200.4,  "totalNumber": 2,  "bizScene": "SETTLEMENT",  "transferDetailList":[      {          "merchantSendId" : "21231313131",          "transferAmount": 110.3,          "receiveType":"PAY_ID",          "transferMethod":"SPOT_WALLET",          "receiver":"354205155",          "remark":"test1"      },      {          "merchantSendId" : "21231313132",          "transferAmount": 90.1,          "receiveType":"PAY_ID",          "transferMethod":"SPOT_WALLET",          "receiver":"354205153",          "remark":"test2"      }    ]}

You can describe the type of payout under bizScene, the default value is direct_transfer.

StatusDescription
DIRECT_TRANSFERThe default value
CRYPTO_REWARDSGift or rewards payout
SETTLEMENTMarketplace settlement or commission fee
REIMBURSEMENTReimburse of expenses to employees
MERCHANT_PAYMENTPayment to your partners, users or suppliers
OTHERSAny other payment
Status
DIRECT_TRANSFER
Description
The default value
Status
CRYPTO_REWARDS
Description
Gift or rewards payout
Status
SETTLEMENT
Description
Marketplace settlement or commission fee
Status
REIMBURSEMENT
Description
Reimburse of expenses to employees
Status
MERCHANT_PAYMENT
Description
Payment to your partners, users or suppliers
Status
OTHERS
Description
Any other payment

Response Example#

For full API specification, please go to API Request Reference.

{  "status": "SUCCESS",  "code": "000000",  "data":    {      "requestId": "samplerequest1234",      "status": "ACCEPTED"     }}

You can monitor the status using the parameter “Status”

StatusDescription
SUCCESSPayout request ID accepted, and being processed.
FAILPayout request failed
Status
SUCCESS
Description
Payout request ID accepted, and being processed.
Status
FAIL
Description
Payout request failed

For success payout, a requestID will be returned in the data, along with an “ACCEPTED” status. This shows that the batch payout request has been accepted, it will be processed soon.

If the batch payout request is unsuccessful, you will receive a fail status along with the error message.

StatusDescription
ACCEPTEDTransfer accepted and will be processed soon.
PROCESSINGTransfers are currently being processed.
SUCCESSAll transfers are successful
PART_SUCCESSTransfers partially succeeded
FAILEDAll transfers failed
CANCELEDRetry limit met, transfers will not retry further. All transfer are cancelled
Status
ACCEPTED
Description
Transfer accepted and will be processed soon.
Status
PROCESSING
Description
Transfers are currently being processed.
Status
SUCCESS
Description
All transfers are successful
Status
PART_SUCCESS
Description
Transfers partially succeeded
Status
FAILED
Description
All transfers failed
Status
CANCELED
Description
Retry limit met, transfers will not retry further. All transfer are cancelled

Payout Query API#

You can use the “Payout Query” API to retrieve payout status and details.

End Point#

POST   /binancepay/openapi/payout/query

Request Example#

For full API specification, please go to API Request Reference.

Please use the requestId to search for specific Batch Payout.

{    "requestId":"payouttransfer19998"}

Response Example#

For full API specification, please go to API Request Reference.

{    "status": "SUCCESS",    "code": "000000",    "data": {        "requestId": "payoutqueryrequest1232455",        "batchStatus": "ACCEPTED",        "merchantId": 354195960,        "currency": "USDT",        "totalAmount": "0.00000002",        "totalNumber": 2,        "transferDetailList": [            {                "orderId": 118073402258677761,                "merchantSendId": "21231313131",                "payerId": 354195960,                "amount": "0.00000001",                "receiveType": "PAY_ID",                "receiver": "354205155",                "payeeId": 354205155,   "transferMethod": "SPOT_WALLET",                "status": "PROCESSING",                "remark": "test1"            },            {                "orderId": 118073402258677762,                "merchantSendId": "21231313132",                "payerId": 354195960,                "amount": "0.00000001",                "receiveType": "PAY_ID",                "receiver": "354205155",                "payeeId": 354205155,                "transferMethod": "SPOT_WALLET",                "status": "PROCESSING",                "remark": "test2"            }        ]    }}

If the query request is unsuccessful, it could be due to an incorrect requestID. You will receive a “FAIL” status along with the error message.

Payout via MMP#

Under the Account Tab, select to [Send Funds] to perform Payout.

Payout 2

You can either perform a single payout by entering the recipient’s Binance ID, followed by the amount and transaction details, or send to multiple recipients (max. 500) by selecting [Send to multiple recipients].

Payout 3

A pop up will appear, you can download the Recipient Form shown, fill in the information accordingly and upload the csv. file to proceed with the Batch Payout.

Payout 4

After successful import, line items of the payout will be shown. You can view the total number of transfers within the batch, each item details as well as delete invalid transactions.

Payout 5

Once you have finished reviewing, click confirm to continue with the Payout and the recipients will receive the payment in their funding wallet instantly.

Supported Currencies#

View the list of support currencies here