Skip to main content
POST
/
wallet
/
withdraw
Withdraw Funds
curl --request POST \
  --url https://api.rolla.xyz/api/v1/external/wallet/withdraw \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "amount": 5000,
  "currency": "NGN",
  "description": "<string>",
  "beneficiaryId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "inlineBeneficiary": {
    "account_name": "JOHN DOE",
    "account_number": "0123456789",
    "bank_name": "Access Bank",
    "bank_code": "000014",
    "bank_address": "<string>",
    "swift_code": "<string>",
    "beneficiary_address": "<string>",
    "withdrawal_method": "domestic_wire",
    "routing_number": "<string>",
    "wallet_address": "<string>",
    "email": "jsmith@example.com",
    "contact_person": "<string>",
    "intermediary_bank_name": "<string>",
    "intermediary_bank_routing_number": "<string>"
  },
  "saveBeneficiary": true,
  "deductFeesFromBalance": true
}
'
{
  "success": true,
  "message": "Withdrawal initiated successfully",
  "data": {
    "transaction": {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "type": "deposit",
      "status": "pending",
      "amount": 123,
      "currency": "<string>",
      "description": "<string>",
      "created_at": "2023-11-07T05:31:56Z"
    },
    "fee_amount": 50,
    "destination_amount": 5000
  }
}
Initiate a withdrawal from your wallet to a beneficiary. You can reference a saved beneficiary by ID or provide inline beneficiary details for a one-time transfer.

Example Request (Saved Beneficiary)

curl -X POST "https://api.rolla.xyz/api/v1/external/wallet/withdraw" \
  -H "X-API-Key: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 5000,
    "currency": "NGN",
    "description": "Vendor payment",
    "beneficiaryId": "c3d4e5f6-a7b8-9012-cdef-123456789012"
  }'

Example Request (Inline Beneficiary)

curl -X POST "https://api.rolla.xyz/api/v1/external/wallet/withdraw" \
  -H "X-API-Key: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 5000,
    "currency": "NGN",
    "description": "Vendor payment",
    "inlineBeneficiary": {
      "account_name": "JOHN DOE",
      "account_number": "0123456789",
      "bank_name": "Access Bank",
      "bank_code": "000014"
    },
    "saveBeneficiary": true,
    "deductFeesFromBalance": true
  }'

Example Response

{
  "success": true,
  "message": "Withdrawal initiated successfully",
  "data": {}
}
Either beneficiaryId or inlineBeneficiary must be provided. Set saveBeneficiary to true to save inline beneficiary details for future use.
Fees: Set deductFeesFromBalance to true to deduct fees from your wallet balance instead of the withdrawal amount. The beneficiary will receive the exact amount specified.

Authorizations

X-API-Key
string
header
required

Your Rolla API key

Body

application/json
amount
number
required

Amount to withdraw (positive number)

Example:

5000

currency
string
required

3-letter currency code

Required string length: 3
Example:

"NGN"

description
string

Optional description

Maximum string length: 500
beneficiaryId
string<uuid>

ID of a saved beneficiary

inlineBeneficiary
object

One-time beneficiary details (use instead of beneficiaryId)

saveBeneficiary
boolean

Whether to save the inline beneficiary for future use

deductFeesFromBalance
boolean

Whether to deduct fees from wallet balance instead of the withdrawal amount

Response

Withdrawal initiated successfully

success
boolean
Example:

true

message
string
Example:

"Withdrawal initiated successfully"

data
object