Initiate Transfer
Transfer
Initiate Transfer
Send money from your managed wallet to a bank account
POST
Initiate Transfer
Use this endpoint to initiate a single payout from your business wallet to a beneficiary’s bank account. The transfer debits your wallet and credits the destination account.
The initial status will typically be
Endpoint
POST/pms/api/external/request/wallet/transfer/
Request Body
Amount to transfer in the smallest currency unit (e.g.
"15000.00" for ₦15,000.00)Destination bank account number
Destination bank code (see bank list endpoint for available codes)
Optional account name for your own records
Description that may appear on the beneficiary’s statement
Unique transfer reference for idempotency and reconciliation
One-time password when required by your security settings
Example request
Example cURL
Response
On success you receive a JSON response with high‑level status and details about the initiated transfer:pending while the receiving bank processes the transfer.
Related endpoints
Use these endpoints together with Initiate Transfer to build a complete payout flow:- Get wallet balance: check available funds before sending money.
- Get bank list: fetch supported banks and their bank codes.
- Validate account: confirm account number + bank code matches the expected account name.
- Transfer status: confirm whether a transfer is
pending,success, orfailedusingreferenceandsession_id. - Wallet transactions: retrieve past transfers for reconciliation and reporting.
Headers
Your Payvessel public API key
Your Payvessel secret
Request content type
Available options:
application/json Body
application/json
Amount to transfer in the smallest currency unit
Destination bank account number
Destination bank code
Unique transfer reference
Optional account name for records
Description for beneficiary statement
One-time password when required
