Outbound Transfers
Move funds out to a destination account — asynchronous, with the terminal settlement state reported by callback.
An outbound transfer moves funds out to a destination bank account. It's asynchronous: Bankrail accepts the request, dispatches it to the bank, and reports the terminal settlement state via a signed callback.
Dispatch a transfer
curl -X POST https://api.posteering.com/api/v1/bankrail/outbound \
-H "Content-Type: application/json" \
# ... HMAC signing headers ...
-d '{
"reference": "your-unique-ref",
"amountKobo": 1500000,
"currency": "NGN",
"beneficiary": {
"accountNumber": "0123456789",
"bankCode": "044",
"accountName": "Beneficiary Name"
},
"callbackUrl": "https://your-service.example/webhooks/bankrail/outbound",
"narration": "Payout"
}'Bankrail accepts the request and begins dispatching. The response acknowledges receipt; the terminal outcome arrives later by callback.
The terminal state arrives by callback
A successful response means the transfer was accepted, not that it settled. The final
settlement state — confirmed, failed, or unknown — is delivered to your callbackUrl.
Do not treat acceptance as settlement.
Idempotency
The transfer is idempotent on your reference: re-dispatching the same reference
returns the existing transfer's state rather than sending a second payment.