Bank payouts
Pay out to a bank account
POST
/payoutsScope
payouts:writeAuth Bearer keyIdempotentMoves money you already hold to a bank account in the same currency. Cross-border sends that need a corridor and a locked rate use POST /transfers instead. The minimum NGN payout is NGN 100.00; smaller amounts return 422 VALIDATION_ERROR.
Headers
Idempotency-KeystringrequiredRetrying with the same key and payload replays the original response.
Request body
json
{
"currency": "NGN",
"amount": "185000.00",
"account_number": "0123456789",
"account_name": "Bright Ideas Ltd",
"bank_code": "058",
"bank_name": "GTBank",
"narration": "Supplier settlement"
}Responses
201Payout
json
{
"id": "WD-7C41A9E2",
"object": "payout",
"status": "processing",
"reference": "WD-7C41A9E2",
"rail": "bank",
"currency": "NGN",
"amount": "185000.00",
"fee": "50.00",
"destination": {
"account_number": "0123456789",
"account_name": "Bright Ideas Ltd",
"bank_code": "058",
"bank_name": "GTBank"
},
"narration": "Supplier settlement",
"failure_reason": null,
"livemode": true,
"created_at": "2026-08-30T10:02:11.417Z",
"updated_at": "2026-08-30T10:02:13.902Z"
}Errors
Errors use RFC 9457 problem details. Branch on code, and log request_id.
400Bad request401Unauthenticated403Forbidden409Idempotency conflict422Validation error429Rate limitedcURL
curl -X POST "https://business.boundlesspay.com/api/public/v1/payouts" \
-H "Authorization: Bearer $BOUNDLESS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{ "currency": "NGN", "amount": "185000.00", "account_number": "0123456789", "account_name": "Bright Ideas Ltd", "bank_code": "058", "bank_name": "GTBank", "narration": "Supplier settlement" }'