Wallet-To-Wallet Transfer
For sandbox bank codes, account numbers, and test payout behavior, see Payouts > Sandbox / Test Mode.
Move funds between SaySwitch NGN wallets.
Endpoint
POST /api/s2s/v1/wallet/transferRequest Body
{
"source_wallet_code": "NGN169SOURCE",
"destination_wallet_code": "NGN200DEST",
"amount": 5000,
"reference": "WTW_1234567890123456",
"narration": "Move funds"
}Sample Response
{
"success": true,
"message": "Wallet transfer successful",
"data": {
"reference": "WTW_1234567890123456",
"amount": 5000,
"fee": 0,
"currency": "NGN",
"status": "success",
"wallet_id": 123,
"wallet_code": "NGN169SOURCE",
"account_number": "NGN200DEST",
"bank_name": "SaySwitch Wallet"
}
}Rules
source_wallet_codemust belong to the authenticated merchant.destination_wallet_codecan belong to any merchant on SaySwitch.- Source and destination wallets must both be
NGN. - Source and destination wallets must be on the same domain.
- Test wallets cannot transfer to live wallets, and live wallets cannot transfer to test wallets.
- Source wallet must have sufficient balance.
- Fee is
0. - A webhook is sent using the existing payout/transfer webhook flow.