Skip to main content
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.
There are two ways to specify the destination:
  1. Saved beneficiary — pass bank_account_id (UUID of a beneficiary previously stored on your account). All other bank fields are ignored.
  2. Inline details — pass account_number, bank_code, account_name, bank_name directly.

Authentication

string
required
Your API key with Trade scope

Request Body

string
required
Caller-supplied unique key. Reuse on retry to avoid double-spend.Example: wd-2026-05-06-01
string
required
Withdrawal amount as a decimal string.Example: 1000000.00
string
required
Currency code.Example: NGN
string
UUID of a saved bank account on the user. When set, the inline bank fields below are ignored.
string
Destination NUBAN. Required when bank_account_id is omitted.Example: 0123456789
string
CBN bank code. Required when bank_account_id is omitted.Example: 058
string
Account holder name as registered with the destination bank. Required when bank_account_id is omitted. Must match — the provider rejects mismatched names.
string
Display name of the destination bank. Required when bank_account_id is omitted.Example: GTBank
string
Optional free-form narration shown on the recipient’s bank statement.

Request Example

Response

string
required
Daya transaction UUID. Use this to track status.
string
required
Initial status. Most withdrawals return as processing and transition asynchronously.Values: pending, processing, completed, failed
string
required
Echoed amount.
string
required
Echoed currency.
string
Fee charged for the withdrawal.
string
Provider-side transfer reference (when available).
string
required
ISO 8601 timestamp when the withdrawal was accepted.

Error Responses

Notes on settlement

The response confirms the withdrawal was accepted, not that funds have arrived. Final settlement happens through the underlying payout provider and can take seconds to minutes depending on the destination bank.