> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dollarpe.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Payout-only onboarding

> Onboard payout beneficiaries in the UAE, UK, SEPA, Brazil, Mexico, the US and more.

Payout-only onboarding registers a beneficiary who only receives fiat payouts. It replaces the full KYC flow for payout corridors outside India's standard flow, and is how beneficiaries in SEPA countries, the UK, UAE, Brazil, China, Colombia, Hong Kong, Nigeria, the Philippines, Singapore, Mexico and the US are onboarded.

<Note>
  Payout-only onboarding must be enabled for your organization and for each country. Contact [support](mailto:support@zapyd.com) to enable a corridor.
</Note>

## Flow

<Steps>
  <Step title="Create the customer">
    [`POST /customer/payout/create`](/api-reference-exchange/endpoint/customer/payout-create) with `client_reference_id` and `alpha_3_country_code`. Save the returned `id` as `customer_id`.
  </Step>

  <Step title="Create the KYC profile">
    [`POST /kyc/payout/add-kyc-data`](/api-reference-exchange/endpoint/kyc/payout-add-kyc-data) with `customer_id` and, optionally, `tax_number`.
  </Step>

  <Step title="Submit sender and beneficiary details">
    [`POST /kyc/payout/add-sender-kyc-data`](/api-reference-exchange/endpoint/kyc/payout-add-sender-kyc-data) with the same `client_reference_id`, the address fields the country requires, and any `beneficiary_identifiers`.
  </Step>

  <Step title="Add the bank account">
    [`POST /bank/payout/create`](/api-reference-exchange/endpoint/bank/payout-create) with `customer_id`, the payout method in `bank_account_type`, and its `identifiers`. Save the returned `id` as `bank_id`.
  </Step>

  <Step title="Create the payout">
    Continue with the standard [payout flow](/guides/payments/payouts): quotation with `customer_id` and `bank_id`, then initiate.
  </Step>
</Steps>

To change documents, address or tax number later, use [`PATCH /kyc/payout/update-additional-details`](/api-reference-exchange/endpoint/kyc/payout-update-additional-details).

## Example: Brazil (PIX)

```javascript theme={null}
POST /customer/payout/create
{ "client_reference_id": "beneficiary-001", "full_name": "Maria Silva", "alpha_3_country_code": "BRA" }

POST /kyc/payout/add-kyc-data
{ "customer_id": "84737c7d-7b62-4204-80d6-80f6ecb3ceb4" }

POST /kyc/payout/add-sender-kyc-data
{
  "client_reference_id": "beneficiary-001",
  "country_code": "BRA",
  "street": "Av. Paulista 1000",
  "city": "São Paulo",
  "state_province": "SP",
  "postal_code": "01310-100"
}

POST /bank/payout/create
{
  "customer_id": "84737c7d-7b62-4204-80d6-80f6ecb3ceb4",
  "bank_account_type": "PIX",
  "identifiers": { "br_cpf": "12345678909" },
  "transfer_purpose": "FAMILY_MAINTENANCE",
  "is_self_transfer": false
}
```

## Requirements by country and method

`bank_account_type` selects the method; if omitted, the country's default method is used. Every listed key is required. Formats in the last column are validated before the account is created.

| Country | Method (`bank_account_type`) | `identifiers` (bank/payout/create) | `beneficiary_identifiers` (add-sender-kyc-data) | Address fields (add-sender-kyc-data) | Validated formats |
| - | - | - | - | - | - |
| India | `ACCOUNT_DETAILS` (default) | `account_number`, `ifsc` | — | — | — |
| UAE | `BANK-TRANSFER` (default) | `account_holder_name`, `account_number`, `swift_code` | — | `street`, `city`, `state_province` | `account_number`: IBAN, `swift_code`: SWIFT/BIC |
| Brazil | `PIX` (default) | `br_cpf` | — | `street`, `city`, `state_province`, `postal_code` | — |
| China | `WIRE` (default) | `account_holder_name`, `bank_name`, `account_number`, `swift_code` | — | `street`, `city`, `state_province`, `postal_code` | — |
| Colombia | `BANK-TRANSFER` (default) | `bank_name`, `account_number`, `account_type` | `beneficiary_id_doc_number`, `beneficiary_phone_number` | `street`, `city`, `state_province`, `postal_code` | `beneficiary_phone_number`: Colombian mobile number |
| Colombia | `NEQUI` | `phone_number` | `beneficiary_id_doc_number` | `street`, `city`, `state_province`, `postal_code` | — |
| United Kingdom | `BANK-TRANSFER` (default) | `account_holder_name`, `account_number`, `sort_code` | — | `street`, `city` | — |
| Hong Kong | `CHATS` (default) | `account_holder_name`, `bank_name`, `account_number`, `swift_code`, `bank_code` | — | `street`, `city` | — |
| Hong Kong | `WIRE` | `account_holder_name`, `bank_name`, `account_number`, `swift_code` | — | `street`, `city` | — |
| Nigeria | `BANK-TRANSFER` (default) | `account_holder_name`, `bank_name`, `account_number` | — | `street`, `city`, `state_province`, `postal_code` | — |
| Philippines | `PESONET` (default) | `account_holder_name`, `bank_name`, `account_number` | — | `street`, `city`, `state_province`, `postal_code` | — |
| Philippines | `INSTAPAY` | `account_holder_name`, `bank_name`, `account_number` | — | `street`, `city`, `state_province`, `postal_code` | — |
| Singapore | `BANK-TRANSFER` (default) | `account_holder_name`, `bank_name`, `account_number`, `swift_code` | — | `street`, `city`, `state_province`, `postal_code` | — |
| Mexico | `SPEI` (default) | `mx_clabe` | `beneficiary_id_doc_number`, `beneficiary_dob` | `street` | `mx_clabe`: CLABE, `beneficiary_dob`: YYYY-MM-DD |
| United States | `ACH_PUSH` (default) | `account_holder_name`, `bank_name`, `account_number`, `routing_number` | — | `street` | `routing_number`: ABA routing number |
| United States | `RTP` | `account_holder_name`, `bank_name`, `account_number`, `routing_number` | — | `street` | `routing_number`: ABA routing number |
| United States | `DOMESTIC_WIRE` | `account_holder_name`, `bank_name`, `account_number`, `routing_number` | — | `street` | `routing_number`: ABA routing number |
| United States | `FEDWIRE` | `account_holder_name`, `bank_name`, `account_number`, `routing_number` | — | `street` | `routing_number`: ABA routing number |
| United States | `WIRE` | `account_holder_name`, `bank_name`, `account_number`, `swift_code` | — | `street` | `swift_code`: SWIFT/BIC |
| SEPA countries (see below) | `SEPA` (default) | `account_holder_name`, `account_number`, `swift_code` | — | `street`, `city`, `postal_code` | `account_number`: IBAN, `swift_code`: SWIFT/BIC |
| SEPA countries (see below) | `WIRE` | `account_holder_name`, `bank_name`, `account_number`, `swift_code` | — | `street`, `city`, `postal_code` | `swift_code`: SWIFT/BIC |

**SEPA countries** (`alpha_3_country_code`): `AND`, `ALB`, `AUT`, `BEL`, `BGR`, `CHE`, `CYP`, `CZE`, `DEU`, `DNK`, `EST`, `ESP`, `FIN`, `FRA`, `GRC`, `HRV`, `HUN`, `IRL`, `ISL`, `ITA`, `LIE`, `LTU`, `LUX`, `LVA`, `MCO`, `MDA`, `MNE`, `MKD`, `MLT`, `NLD`, `POL`, `PRT`, `ROU`, `SRB`, `SWE`, `SVN`, `SVK`, `SMR`, `VAT`. They receive EUR into an IBAN, including countries outside the euro area.

Notes:

* Colombia: send `beneficiary_phone_number` as the national mobile number; Zapyd adds the `+57` dial code.
* The bank account response always returns `bank_account_type` as `ACCOUNT_DETAILS`; the method you sent selects the payout rail.
* `transfer_purpose` (partner-routed countries, every country except India) defaults to `TRANSFER_TO_OWN_ACCOUNT`, and `is_self_transfer` defaults to `true`. Allowed purposes: `TRANSFER_TO_OWN_ACCOUNT`, `FAMILY_MAINTENANCE`, `EDUCATION`, `MEDICAL_TREATMENT`, `HOTEL`, `TRAVEL`, `REPAYMENT_OF_LOANS`, `TAX_PAYMENT`, `PURCHASE_PROPERTY`, `PROPERTY_RENTAL`, `INSURANCE_PREMIUM`, `PRODUCT_INDEMNITY_INSURANCE`, `INSURANCE_CLAIMS`, `MUTUAL_FUND_INVESTMENT`, `INVESTMENT_SHARES`, `DONATIONS`, `SALARY`, `INFO_SERVICE`, `ADVERTISING`, `ROYALTY_FEES`, `BROKER_FEES`, `ADVISOR_FEES`, `REPRESENTATIVE_EXPENSES`, `CONSTRUCTION`, `TRANSPORTATION`, `EXPORTED_GOODS`, `DELIVERY_FEES`, `GENERAL_GOODS_OFFLINE`.
