Payout webhooks
Notifications for a payout created through the API.
payment_processedPayout Confirmed
Sent when the payout is processed. status is success. The body carries the wallet, the amounts, the network and customer_info.
{
"data": {
"status": "success",
"wallet": "0xBeef0000000000000000000000000000000000b2",
"network": "BinanceSmartChain",
"created_at": "2026-03-01 13:00:00",
"fiat_amount": "40.00",
"network_fee": "0.00000400",
"confirmed_at": "2026-03-01 13:00:06",
"percent_rate": "0.50",
"reference_id": "33333333-3333-4333-8333-333333333333",
"transactions": "0xdef0000000000000000000000000000000000000000000000000000000000abc",
"crypto_amount": "40.00000000",
"customer_info": "customer@example.com",
"fiat_currency": "USD",
"crypto_currency": "USDT",
"internal_reference": "44444444-4444-4444-8444-444444444444"
},
"event": "payment_processed",
"timestamp": "2026-03-01 13:00:16"
}payment_failedPayout Failed
Sent when the payout cannot be completed. The body is only status, reference_id and internal_reference.
{
"data": {
"status": "failed",
"reference_id": "55555555-5555-4555-8555-555555555555",
"internal_reference": "66666666-6666-4666-8666-666666666666"
},
"event": "payment_failed",
"timestamp": "2026-03-01 13:05:00"
}Your integration must handle this notice: find the payout by reference_id or internal_reference and decide what to tell your customer. To pay again, create a new payout with a new reference_id.
customer_infoPayin & PayoutYour own identifier for the customer, such as a user ID, e-mail or order ID. It is returned in webhooks and lists, so you can tell whose transaction it is, including payins Bifrost creates on its own (additional payments and fixed-address deposits), whose reference_id is generated by Bifrost.
"customer_info": "user@email.com" or "user_12345_order_67890"