Skip to main content
POST
/
payouts
Initiate Payout
curl --request POST \
  --url https://api.rolla.xyz/api/v1/external/payouts \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "amount": 5000,
  "currency": "NGN",
  "beneficiary": {
    "accountName": "JOHN DOE",
    "accountNumber": "0123456789",
    "bankName": "Access Bank",
    "bankCode": "000014",
    "email": "[email protected]"
  },
  "remark": "Vendor payment",
  "externalReference": "INV-2024-001"
}
'
{
  "status": true,
  "message": "Payout initiated successfully",
  "data": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "remark": "Vendor payment",
    "external_reference": "INV-2024-001",
    "fee_amount": 5000,
    "created_at": "2023-11-07T05:31:56Z",
    "destination_amount": 500000,
    "amount": 505000,
    "beneficiary": {
      "bank_code": "<string>",
      "bank_name": "<string>",
      "account_name": "<string>"
    }
  }
}
Initiate a bank payout to a beneficiary. Payouts are processed automatically and typically complete within seconds for supported banks.

Example Request

curl -X POST "https://api.rolla.xyz/api/v1/external/payouts" \
  -H "X-API-Key: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 5000,
    "currency": "NGN",
    "beneficiary": {
      "accountName": "JOHN DOE",
      "accountNumber": "0123456789",
      "bankName": "Access Bank",
      "bankCode": "000014",
      "email": "[email protected]"
    },
    "remark": "Vendor payment",
    "externalReference": "INV-2024-001"
  }'

Example Response

{
  "status": true,
  "message": "Payout initiated successfully",
  "data": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "remark": "Vendor payment",
    "external_reference": "INV-2024-001",
    "fee_amount": 5000,
    "created_at": "2024-01-15T10:30:00.000Z",
    "destination_amount": 500000,
    "amount": 505000,
    "beneficiary": {
      "bank_code": "000014",
      "bank_name": "Access Bank",
      "account_name": "JOHN DOE"
    }
  }
}

Important Notes

Amount Units: The amount in the request is in major units (e.g., 5000 = ₦5,000). Response amounts are in minor units (e.g., 500000 = ₦5,000).
Fees: Payout fees are automatically deducted from your balance. The amount in the response represents the total deducted (destination + fees).

Idempotency

Use the externalReference field to prevent duplicate payouts. If you retry a request with the same reference, the original transaction will be returned instead of creating a new one.

Beneficiary Details

For best results:
  • Use the /lookup endpoint first to validate and retrieve the exact account name
  • Ensure bankCode matches a valid code from the /banks endpoint

Authorizations

X-API-Key
string
header
required

Your Rolla API key

Body

application/json
amount
number
required

Amount to send (in major units, e.g., 1000 for ₦1,000)

Example:

5000

currency
string
required

Currency code

Example:

"NGN"

beneficiary
object
required
remark
string

Transaction description

Example:

"Vendor payment"

externalReference
string

Your unique reference for this payout

Example:

"INV-2024-001"

Response

Payout initiated successfully

status
boolean
Example:

true

message
string
Example:

"Payout initiated successfully"

data
object