Skip to main content

Create Fiat 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/fiat/beneficiary

This API creates a fiat beneficiary.


Request Body for AED Beneficiary

KeyTypeDescriptionRequired
first_nameStringFirst Name of the beneficiary in String format (beneficiary_account_type is Individual)Yes
last_nameStringLast Name of the beneficiary in String format (beneficiary_account_type is Individual)Yes
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
account_typeStringType of the beneficiary. Example: "Individual".Yes
destination_currencyStringDestination currency of the beneficiary (e.g., USD, USDC).Yes
transfer_typeStringType of transfer. Possible values: SWIFT, ACH, LOCAL.No
beneficiary_bank_country_codeStringCountry code of the beneficiary’s bank (ISO 3166 Alpha-2, e.g., US).No
routing_code_type_1StringRouting code type based on transfer type. Possible values: ACH, FEDWIRE, or SWIFT.No
routing_code_value_1StringRouting number corresponding to the routing code type.No
account_numberStringBeneficiary IBAN or account number for payout.Yes
account_ownership_documentStringBase64-encoded document proving ownership of the account.No
intermediary_informationIntermediaryOptional intermediary bank details (correspondent institution).No

Intermediary

KeyTypeDescriptionRequired
institution_nameStringName of the intermediary institution (e.g., “Bank of America”).Yes
institution_addressAddressAddress of the intermediary institution.No

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 (USD Beneficiary)

{
"first_name": "John",
"last_name": "Doe",
"email": "johnDoe12@test.com",
"telephone_number": "+12125551234",
"date_of_birth": "1970-01-01",
"address": {
"address_line": "1600 Pennsylvania Avenue NW",
"city": "Washington",
"state": "DC",
"postal_code": "20500",
"country_code": "US"
},
"relationship_to_customer": "SUBSIDIARY_COMPANY",
"routing_code_type": "SWIFT",
"routing_code_value": "BOFAUS3NXXX",
"account_type": "Individual",
"account_number": "8508697970656",
"transfer_type": "LOCAL",
"destination_currency": "AED",
"beneficiary_bank_country_code": "AE",
"beneficiary_alias": "Test",
"beneficiary_bank_name": "",
"account_ownership_document": "base64_of_the_document",
"intermediary_information": {
"institution_name": "Bank of America",
"institution_address": {
"address_line": "1608 Pennsylvania Avenue Bank NW",
"city": "Washington",
"state": "DC",
"postal_code": "20500",
"country_code": "US"
}
}
}

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:

  • Ensure that all ISO codes (country/state) follow official ISO 3166 standards.
  • Base64-encoded documents must not exceed the platform’s maximum payload limit.
  • beneficiary_id must be stored securely for future transfers.