Skip to main content

Create Crypto Beneficiary

For each receiver, you need to create a beneficiary on the platform. We will return a beneficiary_id, which can be used to make transfers.

Once added, the platform will automatically perform AML and Sanctions checks on the beneficiary.


Endpoint

POST https://api.zamp.finance/api/client/:clientid/customer/:customerid/crypto/beneficiary

This API creates a crypto beneficiary.


For Beneficiary Account Type: Individual

Request Body

KeyTypeDescriptionRequired
nameStringThe name of the beneficiary.Yes (if depositor_business_id is not provided)
emailStringEmail of the beneficiary.No
telephone_numberStringTelephone number of the beneficiary in E.164 format.No
date_of_birthStringDate of birth in RFC3339 format (YYYY-MM-DD).No
addressAddressAddress details of the beneficiary.Yes
relationship_to_customerStringRelationship of the customer to the beneficiary. Possible values: "SPOUSE", "EX_SPOUSE", "CHILDREN", "PARENT", "SIBLING", "RELATIVE", "SELF", "FRIEND", "BUSINESS_PARTNER", "CUSTOMER", "EMPLOYEE", "BRANCH_OFFICE", "SUBSIDIARY_COMPANY", "HOLDING_COMPANY", "SUPPLIER", "CREDITOR", "DEBTOR", "FRANCHISEE".No
routing_code_type_1StringFor crypto transfers, this will always be "NETWORK".Yes (if depositor_business_id is not provided)
routing_code_value_1StringNetwork on which the cryptocurrency will be sent. Possible values: ETHEREUM, SOLANA, POL, BNB, BTC, TRX.Yes (if depositor_business_id is not provided)
account_numberStringWallet address of the beneficiary.Yes (if depositor_business_id is not provided)
wallet_ownership_document_base64StringBase64-encoded wallet ownership document.No
depositor_business_idStringCustomer ID on the partner platform from which the customer will send or receive digital assets.Yes (if the other fields are not provided)

Address

KeyTypeDescriptionRequired
address_lineStringAddress line of the beneficiary.No
cityStringCity.No
stateStringState / Province (2-digit subdivision per ISO 3166-2).Yes
postal_codeStringPostal / ZIP code.No
country_codeStringCountry code in ISO 3166-1 Alpha-2 format.Yes

Sample Request JSON

{
"name": "John Doe",
"email": "johndoe@example.com",
"telephone_number": "+14155552671",
"date_of_birth": "1988-07-15",
"address": {
"address_line": "1600 Pennsylvania Avenue NW",
"city": "Washington",
"state": "DC",
"postal_code": "20500",
"country_code": "US"
},
"relationship_to_customer": "FRIEND",
"routing_code_type_1": "NETWORK",
"routing_code_value_1": "ETHEREUM",
"account_number": "0xC648520b1bDDcEADA201cdfd95c582e5fE698F37",
"wallet_ownership_document_base64": "d2FsbGV0X293bmVyc2hpcF9kb2N1bWVudF9zYW1wbGU=",
"depositor_business_id": "partner_123456"
}

Response Body

KeyExample ValueDescription
beneficiary_idmerchant_jXHm4aJH4vUmgcT6bmYGwD_11_30Unique identifier assigned by Zamp systems for the created beneficiary.

Sample Response JSON

{
"data": {
"beneficiary_id": "merchant_jXHm4aJH4vUmgcT6bmYGwD_11_30"
}
}

Notes:

  • The routing_code_type_1 must always be "NETWORK" for crypto transfers.
  • Use the correct blockchain network in routing_code_value_1.
  • Ensure that wallet addresses are valid and correspond to the chosen network.
  • Base64-encoded documents must not exceed the platform’s maximum payload limit.