Create Transfer

Creates a new cross-border transfer. This endpoint deducts from your NGN or XOF balance and instantly routes the equivalent liquidity to the destination account via the NIBSS or GIM-UEMOA network.

POST https://api.koriepay.com/v1/transfers/create

Body Parameters

  • amount integer Required

    The amount to send in the lowest denomination (e.g., Kobo for NGN, Centimes for XOF). To send ₦5,000, pass 500000.

  • currency string Required

    The currency you are sending from your wallet. Valid options are NGN or XOF.

  • recipient string Required

    The destination identifier. This can be a Koriepay Agent ID, Phone Number, or a pre-verified Bank Account ID generated from the verification endpoint.

  • reference string Optional

    A unique idempotency key provided by your system to prevent duplicate transactions. If not provided, Koriepay will generate one automatically.

Example Request

curl -X POST https://api.koriepay.com/v1/transfers/create \
  -H "Authorization: Bearer sk_test_v98djx..." \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 5000000,
    "currency": "NGN",
    "recipient": "22790123456"
  }'
$client = new \Koriepay\Client('sk_test_v98djx...');

$transfer = $client->transfers->create([
    'amount'   => 5000000,
    'currency' => 'NGN',
    'recipient'=> '22790123456'
]);
const koriepay = require('koriepay')('sk_test_v98djx...');

const transfer = await koriepay.transfers.create({
  amount: 5000000,
  currency: 'NGN',
  recipient: '22790123456'
});

Example Response 200 OK

{
  "status": true,
  "message": "Transfer queued successfully",
  "data": {
    "id": "tx_928374hjd8",
    "status": "processing",
    "amount": 5000000,
    "currency": "NGN",
    "exchange_rate": 0.485,
    "recipient": "22790123456"
  }
}