Withdraw to Bank
Withdrawals
Withdraw to Bank
Initiate a fiat withdrawal from your Daya Pro NGN balance to a Nigerian bank account
POST
Withdraw to Bank
Overview
Move NGN from your Daya Pro balance to a Nigerian bank account. The withdrawal is queued and dispatched through Daya’s payout provider; the response returns immediately with a transaction ID and the initial status. Requires Trade scope.Requests are idempotent on
idempotency_key. Replaying the same key always returns the original transaction without re-running the withdrawal — safe to retry on network failures.- Saved beneficiary — pass
bank_account_id(UUID of a beneficiary previously stored on your account). All other bank fields are ignored. - Inline details — pass
account_number,bank_code,account_name,bank_namedirectly.
Authentication
Your API key with Trade scope
Request Body
Caller-supplied unique key. Reuse on retry to avoid double-spend.Example:
wd-2026-05-06-01Withdrawal amount as a decimal string.Example:
1000000.00Currency code.Example:
NGNUUID of a saved bank account on the user. When set, the inline bank fields below are ignored.
Destination NUBAN. Required when
bank_account_id is omitted.Example: 0123456789CBN bank code. Required when
bank_account_id is omitted.Example: 058Account holder name as registered with the destination bank. Required when
bank_account_id is omitted. Must match — the provider rejects mismatched names.Display name of the destination bank. Required when
bank_account_id is omitted.Example: GTBankOptional free-form narration shown on the recipient’s bank statement.
Request Example
Response
Daya transaction UUID. Use this to track status.
Initial status. Most withdrawals return as
processing and transition asynchronously.Values: pending, processing, completed, failedEchoed amount.
Echoed currency.
Fee charged for the withdrawal.
Provider-side transfer reference (when available).
ISO 8601 timestamp when the withdrawal was accepted.
Error Responses
| Code | Meaning |
|---|---|
400 | Validation error or insufficient balance |
403 | Missing Trade scope, or account restricted |
409 | Same idempotency_key previously used with a different request body |