Create Transfer
Initiate a money transfer to any Nigerian bank account.
Endpoint
Request Body
Amount in kobo (e.g., 10000 = ₦100.00)
Recipient account number (10 digits)
Recipient bank code (e.g., 058 for GTBank)
Transfer description (max 100 characters)
Unique reference for this transfer (auto-generated if not provided)
Currency code (currently only NGN supported)
Additional data to store with the transfer
Response
Total amount debited (amount + fee)
Transfer status (pending, processing, completed, failed)
Example Request
const transfer = await client . transfers . create ({
amountMinor: 50000 , // ₦500.00
recipient_account: '0123456789' ,
recipient_bank_code: '058' ,
narration: 'Payment for services' ,
reference: 'TRF_' + Date . now (),
metadata: {
customer_id: 'cus_123' ,
invoice_id: 'INV_456'
}
});
console . log ( `Transfer ID: ${ transfer . id } ` );
console . log ( `Status: ${ transfer . status } ` );
Example Response
{
"success" : true ,
"data" : {
"id" : "trn_abc123xyz" ,
"amount_minor" : 50000 ,
"fee_minor" : 50 ,
"total_minor" : 50050 ,
"recipient_account" : "0123456789" ,
"recipient_name" : "John Doe" ,
"recipient_bank" : "Guaranty Trust Bank" ,
"recipient_bank_code" : "058" ,
"status" : "pending" ,
"reference" : "TRF_1234567890" ,
"narration" : "Payment for services" ,
"session_id" : "SES_xyz789" ,
"currency" : "NGN" ,
"metadata" : {
"customer_id" : "cus_123" ,
"invoice_id" : "INV_456"
},
"created_at" : "2024-01-15T10:30:00Z"
}
}
Transfer Fees
Amount Range Fee ₦0 - ₦5,000 ₦10 ₦5,001 - ₦50,000 ₦25 Above ₦50,000 ₦50
Fees are automatically deducted from your wallet balance.
Processing Time
Instant : Most transfers complete within seconds
Same Day : Some banks may take up to 24 hours
Webhook : You’ll receive a webhook when the transfer completes
Error Responses
Insufficient Balance
Invalid Account
Daily Limit Exceeded
{
"success" : false ,
"error" : {
"code" : "insufficient_balance" ,
"message" : "Wallet balance insufficient" ,
"status" : 422 ,
"details" : {
"required" : 50050 ,
"available" : 30000
}
}
}
Idempotency
Use the reference parameter to prevent duplicate transfers:
// This will only create one transfer, even if called multiple times
const transfer = await client . transfers . create ({
amountMinor: 50000 ,
destinationAccountNumber: '0123456789' ,
destinationBankCode: '058' ,
narration: 'Payment' ,
reference: 'UNIQUE_REF_123' // Use same reference
});
Next Steps
Get Transfer Check transfer status
List Transfers View all transfers
Resolve Account Verify account before sending
Webhooks Handle transfer events