Payout (Nigeria)
Debit your merchant NGN wallet and send NGN to a Nigerian bank account. Amount 500–5,000,000. Live API keys only.
Other pockets (USDC, PYUSD-USDC, USDT, BDT, BRL) cannot fund this.
List banks
GET /v1/ngn/banks?search=
Name enquiry
POST /v1/ngn/verify-account
Create payout
POST /v1/ngn/payouts with Idempotency-Key
Poll status
GET /v1/ngn/payouts/:transactionId until a final state, or wait for webhook
List banks
/v1/ngn/bankspayin:create or payout:createOptional query: search. No body. Sign with {timestamp}..
cURL
curl -X GET https://api.transacty.ai/v1/ngn/banks?search= \
-H "X-Transacty-Key: $TRANSACTY_KEY" \
-H "X-Transacty-Timestamp: $TS" \
-H "X-Transacty-Signature: $SIG" \
-H "Content-Type: application/json"Name enquiry
/v1/ngn/verify-accountpayout:createRequest
{
"accountNumber": "0123456789",
"bankCode": "035"
}Show accountName to the operator before creating the payout.
Create payout
/v1/ngn/payoutspayout:createIdempotency-Key is required. Replaying the same key + same body returns the
first response.
Request fields
| Field | Type | Required | Description |
|---|---|---|---|
amount | string (numeric) | Yes | Payout amount in NGN. 500–5,000,000. |
merchantReference | string | Yes | Your withdraw / reference id |
description | string | No | Narrative for the transfer |
beneficiary | object | Yes | Destination bank account |
beneficiary.accountNumber | string | Yes | NUBAN |
beneficiary.bankCode | string | Yes | From GET /v1/ngn/banks |
beneficiary.accountName | string | Yes | From name enquiry |
beneficiary.bankName | string | Yes | From GET /v1/ngn/banks |
Request
{
"amount": "5000.00",
"merchantReference": "wd-1001",
"description": "Supplier payment",
"beneficiary": {
"accountNumber": "0123456789",
"bankCode": "035",
"accountName": "ADA OKAFOR",
"bankName": "Wema Bank"
}
}status is pending (not PENDING). Debit is the NGN pocket only.
400 insufficient_balance / wallet_not_found means the NGN pocket, not
another currency.
Poll payout
/v1/ngn/payouts/:transactionIdpayout:createNo body. Sign with {timestamp}.. Response includes withdrawalStatus, settled,
and a beneficiary snapshot.
cURL
curl -X GET https://api.transacty.ai/v1/ngn/payouts/{transactionId} \
-H "X-Transacty-Key: $TRANSACTY_KEY" \
-H "X-Transacty-Timestamp: $TS" \
-H "X-Transacty-Signature: $SIG" \
-H "Content-Type: application/json"| Field | Type | Description |
|---|---|---|
transactionId | string | Poll + ledger transaction id |
reference | string | Payout reference |
status | string | pending, success, or failed |
withdrawalStatus | string | Upstream withdraw lifecycle |
settled | boolean | true when the NGN debit / bank send is final |
amount | string | Payout amount |
currency | string | NGN |
beneficiary | object | Snapshot of the destination account |
environment | string | live |
Mark the payout complete on payout.completed / status: "success", or
settled: true.