---
description: >-
  Validated push payout corridors with their currency, available payout methods,
  and the fields their schema requires.
---

# Country coverage

**Required in `paymentMethod`** is what that corridor's schema demands beyond `type` and `countryCode`, labelled by payout method; **Also required** covers everything outside `paymentMethod`. Country names link to a complete, validated request body.

Confirm against `GET /schema/{countryCode}` — see [Schemas](../../reference-data/schemas.md#country-schema) — before going live. The schema is authoritative on field-level requirements, and corridors change.

> **Every corridor listed here has been validated end to end.** `GET /schema/{countryCode}` may return a schema for a country that is not in this table — a schema defines the payload shape, it does not mean the corridor is ready to carry money. Treat anything missing here as unavailable until your Inyo contact confirms otherwise.

> **Coverage is not the same as enablement.** A country here has a schema; whether *your* account has a route to it is separate. A valid payload to an unrouted corridor fails with [`PAY_001`](errors.md#pay_001-no-route-for-this-country).

| Country | ISO3 | Currency | Required in `paymentMethod` | Also required |
|---|---|---|---|---|
| [Andorra](examples/europe-sepa.md) | `AND` | EUR | **Bank**: `accountNumber` | — |
| [Austria](examples/europe-sepa.md) | `AUT` | EUR | **Bank**: `accountNumber` | — |
| [Bangladesh](examples/asia-oceania.md) | `BGD` | BDT | **Bank**: `accountNumber`, `bankCode`<br/>**Wallet**: `walletId`, `walletOperator`, `walletType` | `additionalData.paymentPurpose` (on Bank) |
| [Belgium](examples/europe-sepa.md) | `BEL` | EUR | **Bank**: `accountNumber` | — |
| [Brazil](examples/americas.md) | `BRA` | BRL | **Bank**: `accountNumber`, `accountType`, `bankCode`, `routingNumber`<br/>**PIX**: `key`, `keyType` | `recipient.address`<br/>`recipient.documents`<br/>`additionalData` |
| [Bulgaria](examples/europe-non-sepa.md) | `BGR` | BGN | **Bank**: `accountNumber` | — |
| [Canada](examples/americas.md) | `CAN` | CAD | **Bank**: `accountNumber` | `recipient.address`<br/>`additionalData.paymentPurpose` |
| [Chile](examples/americas.md) | `CHL` | CLP | **Bank**: `accountNumber`, `accountType`, `bankCode` | `recipient.address`<br/>`recipient.documents` |
| [China](examples/asia-oceania.md) | `CHN` | CNY | **Wallet**: `walletId`, `walletOperator`, `walletType` | `additionalData.paymentPurpose` |
| [Colombia](examples/americas.md) | `COL` | COP | **Bank**: `accountNumber` | `recipient.address`<br/>`recipient.documents`<br/>`recipient.email`<br/>`additionalData.paymentPurpose` |
| [Croatia](examples/europe-sepa.md) | `HRV` | EUR | **Bank**: `accountNumber` | `sender.address` (`countryCode`, `city`, `line1`) |
| [Cyprus](examples/europe-sepa.md) | `CYP` | EUR | **Bank**: `accountNumber` | — |
| [Côte d'Ivoire](examples/africa.md) | `CIV` | XOF | **Wallet**: `walletId`, `walletOperator`, `walletType` | — |
| [Czech Republic](examples/europe-non-sepa.md) | `CZE` | CZK | **Bank · BBAN**: `accountNumber`, `bankCode`<br/>**Bank · IBAN**: `accountNumberType`, `accountNumber` | — |
| [Denmark](examples/europe-non-sepa.md) | `DNK` | DKK | **Bank · BBAN**: `accountNumber`, `routingNumber`<br/>**Bank · IBAN**: `accountNumberType`, `accountNumber` | — |
| [Egypt](examples/africa.md) | `EGY` | EGP | **Bank**: `accountNumber` | `additionalData.paymentPurpose` |
| [Estonia](examples/europe-sepa.md) | `EST` | EUR | **Bank**: `accountNumber` | — |
| [Finland](examples/europe-sepa.md) | `FIN` | EUR | **Bank**: `accountNumber` | — |
| [France](examples/europe-sepa.md) | `FRA` | EUR | **Bank**: `accountNumber` | — |
| [Germany](examples/europe-sepa.md) | `DEU` | EUR | **Bank**: `accountNumber` | — |
| [Greece](examples/europe-sepa.md) | `GRC` | EUR | **Bank**: `accountNumber` | — |
| [Guinea](examples/africa.md) | `GIN` | GNF | **Wallet**: `walletId`, `walletOperator`, `walletType` | — |
| [Hungary](examples/europe-non-sepa.md) | `HUN` | HUF | **Bank · BBAN**: `accountNumber`<br/>**Bank · IBAN**: `accountNumberType`, `accountNumber` | — |
| [Iceland](examples/europe-sepa.md) | `ISL` | EUR | **Bank**: `accountNumber` | — |
| [India](examples/asia-oceania.md) | `IND` | INR | **Bank · BBAN**: `accountNumber`, `accountType`, `bankCode`<br/>**Bank · UPI**: `accountNumber`, `accountNumberType` | `recipient.address`<br/>`additionalData.paymentPurpose` |
| [Indonesia](examples/asia-oceania.md) | `IDN` | IDR | **Bank**: `accountNumber`, `bankCode` | `additionalData.paymentPurpose` |
| [Ireland](examples/europe-sepa.md) | `IRL` | EUR | **Bank**: `accountNumber` | — |
| [Italy](examples/europe-sepa.md) | `ITA` | EUR | **Bank**: `accountNumber` | — |
| [Kenya](examples/africa.md) | `KEN` | KES | **Bank**: `accountNumber`, `bankCode`<br/>**Wallet**: `walletId`, `walletOperator`, `walletType` | `recipient.address` (on Bank)<br/>`recipient.documents` (on Bank) |
| [Latvia](examples/europe-sepa.md) | `LVA` | EUR | **Bank**: `accountNumber` | — |
| [Liechtenstein](examples/europe-non-sepa.md) | `LIE` | CHF | **Bank**: `accountNumber` | — |
| [Lithuania](examples/europe-sepa.md) | `LTU` | EUR | **Bank**: `accountNumber` | — |
| [Luxembourg](examples/europe-sepa.md) | `LUX` | EUR | **Bank**: `accountNumber` | — |
| [Madagascar](examples/africa.md) | `MDG` | MGA | **Wallet**: `walletId`, `walletOperator`, `walletType` | — |
| [Malaysia](examples/asia-oceania.md) | `MYS` | MYR | **Bank**: `accountNumber`, `bankCode` | `recipient.address`<br/>`additionalData.paymentPurpose` |
| [Mali](examples/africa.md) | `MLI` | XOF | **Wallet**: `walletId`, `walletOperator`, `walletType` | — |
| [Malta](examples/europe-sepa.md) | `MLT` | EUR | **Bank**: `accountNumber` | — |
| [Mexico](examples/americas.md) | `MEX` | MXN | **Bank · BBAN**: `accountNumber`<br/>**Bank · DIMO**: `accountNumber`, `accountNumberType`, `bankCode` | `recipient.address`<br/>`additionalData` |
| [Monaco](examples/europe-sepa.md) | `MCO` | EUR | **Bank**: `accountNumber` | — |
| [Mongolia](examples/asia-oceania.md) | `MNG` | MNT | **Bank**: `accountNumber` | `recipient.address`<br/>`recipient.phoneNumber` |
| [Morocco](examples/africa.md) | `MAR` | MAD | **Bank**: `accountNumber` | `additionalData` |
| [Nepal](examples/asia-oceania.md) | `NPL` | NPR | **Bank**: `accountNumber` | `recipient.address`<br/>`additionalData.paymentPurpose` |
| [Netherlands](examples/europe-sepa.md) | `NLD` | EUR | **Bank**: `accountNumber` | — |
| [Nigeria](examples/africa.md) | `NGA` | NGN | **Wallet**: `walletId`, `walletOperator`, `walletType` | — |
| [Norway](examples/europe-non-sepa.md) | `NOR` | NOK | **Bank · BBAN**: `accountNumber`<br/>**Bank · IBAN**: `accountNumberType`, `accountNumber` | — |
| [Pakistan](examples/asia-oceania.md) | `PAK` | PKR | **Bank**: `accountNumber`, `bankCode` | `recipient.address`<br/>`additionalData.paymentPurpose` |
| [Peru](examples/americas.md) | `PER` | PEN | **Bank**: `accountNumber` | `recipient.address`<br/>`recipient.documents`<br/>`recipient.phoneNumber`<br/>`sender.address`<br/>`sender.documents` |
| [Philippines](examples/asia-oceania.md) | `PHL` | PHP | **Bank**: `accountNumber`, `bankCode`<br/>**Wallet**: `walletId`, `walletOperator`, `walletType` | `additionalData.paymentPurpose` (on Bank) |
| [Poland](examples/europe-non-sepa.md) | `POL` | PLN | **Bank · BBAN**: `accountNumber`, `routingNumber`<br/>**Bank · IBAN**: `accountNumberType`, `accountNumber` | — |
| [Portugal](examples/europe-sepa.md) | `PRT` | EUR | **Bank**: `accountNumber` | — |
| [Romania](examples/europe-non-sepa.md) | `ROU` | RON | **Bank**: `accountNumber` | — |
| [San Marino](examples/europe-sepa.md) | `SMR` | EUR | **Bank**: `accountNumber` | — |
| [Senegal](examples/africa.md) | `SEN` | XOF | **Wallet**: `walletId`, `walletOperator`, `walletType` | `sender.address` (`countryCode`, `city`, `line1`) |
| [Singapore](examples/asia-oceania.md) | `SGP` | SGD | **Bank**: `accountNumber`, `bankCode` | `recipient.address`<br/>`additionalData.paymentPurpose` |
| [Slovakia](examples/europe-sepa.md) | `SVK` | EUR | **Bank**: `accountNumber` | — |
| [Slovenia](examples/europe-sepa.md) | `SVN` | EUR | **Bank**: `accountNumber` | — |
| [South Korea](examples/asia-oceania.md) | `KOR` | KRW | **Bank**: `accountNumber` | `recipient.address`<br/>`recipient.phoneNumber`<br/>`additionalData.paymentPurpose` |
| [Spain](examples/europe-sepa.md) | `ESP` | EUR | **Bank**: `accountNumber` | — |
| [Sri Lanka](examples/asia-oceania.md) | `LKA` | LKR | **Bank**: `accountNumber`, `bankCode`, `routingNumber` | `recipient.address` |
| [Sweden](examples/europe-non-sepa.md) | `SWE` | SEK | **Bank · BBAN**: `accountNumber`, `bankCode`<br/>**Bank · IBAN**: `accountNumberType`, `accountNumber` | — |
| [Switzerland](examples/europe-non-sepa.md) | `CHE` | CHF | **Bank**: `accountNumber` | — |
| [Thailand](examples/asia-oceania.md) | `THA` | THB | **Bank**: `accountNumber`, `bankCode` | `additionalData.paymentPurpose` |
| [The Gambia](examples/africa.md) | `GMB` | GMD | **Wallet**: `walletId`, `walletOperator`, `walletType`<br/>**Bank**: `accountNumber` | `additionalData.paymentPurpose` |
| [Turkey](examples/europe-non-sepa.md) | `TUR` | TRY | **Bank**: `accountNumber` | `recipient.address`<br/>`recipient.documents` |
| [United Kingdom](examples/europe-non-sepa.md) | `GBR` | GBP | **Bank · BBAN**: `accountNumber`, `bankCode`<br/>**Bank · IBAN**: `accountNumber`, `accountNumberType` | — |
| [Uzbekistan](examples/asia-oceania.md) | `UZB` | UZS | **CARD**: `cardTokenId` | — |
| [Vatican City](examples/europe-sepa.md) | `VAT` | EUR | **Bank**: `accountNumber` | `sender.address` (`countryCode`, `city`, `line1`) |
| [Vietnam](examples/asia-oceania.md) | `VNM` | VND | **Bank**: `accountNumber`, `bankCode` | `recipient.address`<br/>`additionalData.paymentPurpose` |

## Reading the table

- **`additionalData`** on its own means the schema requires the object to be present but demands nothing inside it — send `"additionalData": {}`.
- **`(on Bank)` / `(on Wallet)`** marks a requirement that applies to only one payout method in that corridor, expressed in the schema as an `if`/`then` conditional.
- **`accountNumberType` appears only on the alias rails** because it is the field that selects the rail, not one the schema demands. Sending it is how you choose the alias rail; omit it and the corridor takes its conventional one — see [Bank deposit](payout-methods/bank-deposit.md#accountnumbertype-alias-rails).
- A dash in **Required in `paymentMethod`** means the schema pins formats but marks no field required. You still need an account identifier for the payout to reach anyone.

## What's Next

- [Examples](examples/README.md) — Complete request bodies, grouped by region
- [Payout methods](payout-methods/README.md) — Field reference per payout type
