Skip to main content
POST
/
v1
/
beneficiaries
Create a beneficiary
curl --request POST \
  --url https://api.paystack.com/v1/beneficiaries \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "label": "<string>",
  "currency": "<string>",
  "network": "<string>",
  "metadata": {},
  "merchant_reference": "<string>",
  "customer_id": "<string>",
  "country_code": "<string>",
  "provider_id": "<string>",
  "account_number": "<string>",
  "account_name": "<string>",
  "address": "<string>"
}
'
{
  "status": true,
  "message": "Beneficiary created successfully",
  "code": "ok",
  "data": {
    "id": "ben_01KPBAP7WTDKQKW5B3R31VPNX4",
    "customer_id": "cust_01HXYZABC1234567890ABCDEFG",
    "name": "Alice Bank Beneficiary",
    "type": "fiat",
    "currency": "NGN",
    "details": {
      "country_code": "NG",
      "network": "bank",
      "account_number": "0039415616",
      "provider": {
        "id": "prov_01KPBAP7WTDKQKW5B3R31VPNX4",
        "name": "Access Bank",
        "code": "000014"
      },
      "account_name": "ALICE JOHNSON"
    },
    "metadata": {},
    "status": "pending",
    "created_at": "2026-04-16T16:14:08.000Z",
    "updated_at": "2026-04-16T16:14:08.000Z",
    "label": "Alice's salary account",
    "merchant_reference": "ref_01HXYZ4K5ABCDEFGHJKLMNPQRS"
  },
  "meta": {
    "request_id": "req_01HXYZ4K5ABCDEFGHJKLMNPQRS",
    "timestamp": "2026-05-14T15:43:55.732Z",
    "version": "1"
  }
}

Authorizations

Authorization
string
header
required

API key issued during merchant onboarding.

Body

application/json

CreateBeneficiaryDto

type
enum<string>
required
Available options:
fiat,
crypto
name
string
required
Required string length: 1 - 255
label
string
required
Required string length: 1 - 128
currency
string
required
Pattern: ^[A-Z0-9]{2,8}$
network
string
required
Minimum string length: 1
metadata
object
merchant_reference
string
Maximum string length: 128
customer_id
string
Pattern: ^cust_[0-9A-HJKMNP-TV-Z]{26}$
country_code
string
Pattern: ^[A-Z]{2}$
provider_id
string
Pattern: ^prov_[0-9A-HJKMNP-TV-Z]{26}$
account_number
string
Required string length: 1 - 64
account_name
string
Maximum string length: 255
address
string
Required string length: 1 - 128

Response

Beneficiary created successfully

status
enum<boolean>
required
Available options:
true
Example:

true

message
string
required

Human-readable summary

Example:

"Beneficiary created successfully"

code
enum<string>
required
Available options:
ok
Example:

"ok"

data
object
required
meta
object
required