Skip to main content
POST
Create a beneficiary

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
enum<string>
required

What the destination is. For type: fiat one of: bank, mobile_money. For type: crypto a supported chain. account_name is required only for mobile_money: bank has its resolved by the provider. See rail for HOW the money reaches a bank account.

Available options:
bank,
mobile_money,
solana,
base,
ethereum
Minimum string length: 1
Example:

"bank"

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

Required for type: fiat, except with rail: 'payshap': a PayShap proxy resolves to whichever bank holds it, so no provider is chosen and any value sent is ignored.

Pattern: ^prov_[0-9A-HJKMNP-TV-Z]{26}$
Example:

"prov_01JBQR7K3M9XZVTNA4H5C2PDES"

rail
enum<string>

How to move money into the account, rather than what the account is. Optional; omit for the corridor's default rail. Only valid when network is 'bank'. 'payshap' is ZAR and South Africa only, and its account_number is a PayShap proxy rather than a bank account number — a mobile number in E.164 form, or a ShapName with its bank such as 'acme@nedbank', sent exactly as the recipient gives it — so no provider is chosen for it.

Available options:
payshap
Example:

"payshap"

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