List Payouts
Lists the payouts created through the API (payouts made in the panel are not included), newest first (created_at descending), with filters and pagination.
Each payout carries the same fields as Check Specific Payout; crypto_amount is the net amount sent to the wallet and status is pending, completed, failed or refunded. summary counts pending, completed and failed payouts matching the same filters, across all pages. meta.filters echoes the filters applied, with status in its public value; dates are not echoed.
https://bridge.bifrostcrypto.com/v1/list-payoutpayout:read(a new key with no list is read-only)Headers
| Key | Value | Description |
|---|---|---|
X-Bifrost-Invoke | {{api_key}} | Private API key |
Query Parameters
| Parameter | Example | Description |
|---|---|---|
page | 1 | Page number, default 1. 0 or a non-numeric value is treated as 1; a negative number returns invalid_page_number. |
per_page | 50 | Items per page, 1 to 100, default 50. 0 or a non-numeric value is treated as 50; above 100 or negative returns invalid_per_page_limit. |
status | pending | pending, completed or failed (case-insensitive). Any other value returns invalid_status_filter. Refunded payouts are listed only without this filter. |
crypto_currency | USDT | Filter by token symbol |
network | Ethereum | Filter by a network name from the catalog, exact and case-sensitive (e.g. Ethereum, BinanceSmartChain, Tron). An unknown name returns invalid_network_filter. |
date_from | 2026-01-01 | Start date (YYYY-MM-DD), inclusive from 00:00:00. An unreadable date returns invalid_date_from. Read in UTC−03:00. |
date_to | 2026-01-31 | End date (YYYY-MM-DD), inclusive until 23:59:59. An unreadable date returns invalid_date_to. Read in UTC−03:00. |
reference_id | order_12345 | Filter by your reference_id (exact match) |
cURL Example
curl -X GET "https://bridge.bifrostcrypto.com/v1/list-payout?page=1&per_page=50&status=pending" \
-H "X-Bifrost-Invoke: YOUR_API_KEY"Response Example
{
"message": "payments_retrieved_success",
"payments": [
{
"internal_reference": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"reference_id": "order_12345",
"wallet": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0",
"crypto_currency": "USDT",
"fiat_currency": "USD",
"crypto_amount": "100.500000000000000000",
"fiat_amount": "100.50",
"process_by": "crypto_amount",
"percent_rate": "1.50",
"network_fee": "0.00100000",
"network": "Ethereum",
"status": "pending",
"txid": null,
"webhook_url": "https://your-site.com/webhook",
"feetakenfromamount": "0",
"created_at": "2026-01-16 10:00:00",
"updated_at": "2026-01-16 10:00:00"
}
],
"summary": {
"total_pending": 1,
"total_completed": 0,
"total_failed": 0
},
"meta": {
"current_page": 1,
"per_page": 50,
"total": 1,
"total_pages": 1,
"filters": {
"status": "pending",
"crypto_currency": "USDT"
}
}
}Errors
Every error has the shape error.code, error.message and, when useful, error.details. Authentication, scope and rate-limit errors (401, 403, 429) apply to every endpoint and are described under Authentication.
| Status | Code | When | What to do |
|---|---|---|---|
| 400 | invalid_page_number | page is negative. | Fix the request before sending it again. |
| 400 | invalid_per_page_limit | per_page is negative or above 100. | Fix the request before sending it again. |
| 400 | invalid_status_filter | status is not one of the accepted values. | Fix the request before sending it again. |
| 400 | invalid_network_filter | network is not a known network name (case-sensitive). | Fix the request before sending it again. |
| 400 | invalid_date_from · invalid_date_to | A date could not be read. | Send YYYY-MM-DD. |
| 500 | internal_error | Unexpected failure. | Nothing was changed. Retry later. |
Other responses
Responses that are not the happy path and still need handling in your integration.
Invalid query parameter
A filter value was not accepted. The codes are listed in the Errors table and described on each parameter.
{
"error": {
"code": "invalid_per_page_limit",
"message": "Invalid per_page value"
}
}