# Bank Payment Rules (https://docs.tryacme.com/guides/bank-payment-rules)

> For AI agents: the documentation index is at [llms.txt](https://docs.tryacme.com/llms.txt), with every page in one file at [llms-full.txt](https://docs.tryacme.com/llms-full.txt). Each page is also available as Markdown by appending `.md` to its URL.

Every bank and market Acme sends payments to, with the payment types each one supports and a link to its rules.

Each bank guide lists the validations and allowed data formats for Acme payments to that bank. Acme validates every payment against these rules, and the bank validates it again. The rules may be stricter than what the bank requires.

## How to read a bank guide [#how-to-read-a-bank-guide]

* Each payment type has its own section, with a table of fields.
* `M` is mandatory and `O` is optional.
* `Conditional` (or `C`) says when the field becomes mandatory.
* Fields written as `payments[N].…` belong to each payment in a [batch payment](https://docs.tryacme.com/reference/post-batch-payments). The other fields belong to the batch, or to a [single payment](https://docs.tryacme.com/reference/post-payments).
* `amount` is always in minor units. See [Minor units format](https://docs.tryacme.com/guides/minor-units-format).
* **API**: single payments, sent through the bank's API with [Create a Payment](https://docs.tryacme.com/reference/post-payments).
* **H2H**: batch payments, sent to the bank as host-to-host files with [Create a Batch Payment](https://docs.tryacme.com/reference/post-batch-payments).
* **API and H2H**: the bank takes both. The guide's Channel note lists the payment types that go through the API.
* Each guide title ends with its channel.

## Banks [#banks]

| bank | market | guide | channel | payment types |
| --- | --- | --- | --- | --- |
| ANZ | Australia | [ANZ Australia](https://docs.tryacme.com/guides/anz-au-payments) | H2H | `AU_BECS`, `AU_HVCS`, `AU_OSKO`, `TT` |
| Banco Azteca | Mexico | [Banco Azteca Mexico](https://docs.tryacme.com/guides/baz-mx-payments) | API | `MX_SPEI`, `BKTR` |
| CIMB | Singapore | [CIMB Singapore](https://docs.tryacme.com/guides/cimb-api-payments) | API | `FAST`, `BKTR`, `TT` |
| CIMB | Singapore | [CIMB Singapore](https://docs.tryacme.com/guides/cimb-h2h-payments) | H2H | `FAST`, `GIRO`, `MEPS`, `TT`, `BKTR` |
| Citibank | Singapore | [Citibank Singapore](https://docs.tryacme.com/guides/citi-sg-payments) | API and H2H | `FAST`, `PAYNOW`, `GIRO`, `ACT`, `MEPS`, `TT` |
| Citibank | Australia | [Citibank Australia](https://docs.tryacme.com/guides/citi-au-payments) | H2H | `AU_BECS`, `AU_HVCS`, `AU_OSKO`, `TT`, `ACT` |
| Citibank | Brazil | [Citibank Brazil](https://docs.tryacme.com/guides/citi-br-payments) | H2H | `BR_BOLETO`, `BR_UTILITY`, `BR_TAX_BARCODE`, `BR_DIPHASED`, `BR_PIX` |
| Citibank | China | [Citibank China](https://docs.tryacme.com/guides/citi-cn-payments) | H2H | `CN_ACH`, `CN_RTGS`, `CN_TT_INTL`, `CN_TT_DOM` |
| Citibank | Hong Kong | [Citibank Hong Kong](https://docs.tryacme.com/guides/citi-hk-payments) | H2H | `HK_FPS_PROXY`, `HK_FPS_ACCOUNT`, `HK_CHATS`, `TT`, `BKTR` |
| Citibank | Indonesia | [Citibank Indonesia](https://docs.tryacme.com/guides/citi-id-payments) | H2H | `ID_SKN`, `ID_FAST`, `ID_RTGS`, `TT`, `BKTR` |
| Citibank | India | [Citibank India](https://docs.tryacme.com/guides/citi-in-payments) | H2H | `IN_RTGS`, `IN_ACH`, `IN_IBFT`, `TT`, `BKTR` |
| Citibank | Korea | [Citibank Korea](https://docs.tryacme.com/guides/citi-kr-payments) | H2H | `ACT`, `KR_DFT`, `TT` |
| Citibank | Malaysia | [Citibank Malaysia](https://docs.tryacme.com/guides/citi-my-payments) | API and H2H | `MY_IBFT`, `MY_IBG`, `MY_DUITNOW`, `MY_RENTAS`, `MY_JOMPAY`, `TT`, `BKTR` |
| Citibank | Philippines | [Citibank Philippines](https://docs.tryacme.com/guides/citi-ph-payments) | H2H | `PH_PESONET`, `PH_RTGS`, `TT`, `BKTR` |
| Citibank | Taiwan | [Citibank Taiwan](https://docs.tryacme.com/guides/citi-tw-payments) | H2H | `TW_ACH`, `TW_RTGS`, `TT`, `BKTR` |
| Citibank | United States | [Citibank US](https://docs.tryacme.com/guides/citi-us-payments) | H2H | `US_ACH`, `US_WIRE_DOM`, `US_WIRE_INTL`, `US_RTP` |
| DBS | Singapore | [DBS Singapore](https://docs.tryacme.com/guides/dbs-sg-payments) | H2H | `FAST`, `PAYNOW`, `PAYNOW_GIRO`, `GIRO`, `ACT`, `MEPS`, `TT` |
| DBS | Singapore | [DBS Singapore](https://docs.tryacme.com/guides/dbs-sg-api-payments) | API | `FAST`, `PAYNOW`, `ACT`, `MEPS`, `TT` |
| Deutsche Bank | Singapore | [Deutsche Bank Singapore](https://docs.tryacme.com/guides/db-sg-payments) | H2H | `FAST`, `PAYNOW`, `GIRO`, `MEPS`, `TT` |
| HSBC | Singapore | [HSBC Singapore](https://docs.tryacme.com/guides/hsbc-sg-payments) | H2H | `GIRO`, `FAST`, `PAYNOW`, `MEPS`, `TT` |
| HSBC | Hong Kong | [HSBC Hong Kong](https://docs.tryacme.com/guides/hsbc-hk-api-payments) | API | `HK_FPS_ACCOUNT`, `HK_CHATS`, `TT` |
| HSBC | Hong Kong | [HSBC Hong Kong](https://docs.tryacme.com/guides/hsbc-hk-h2h-payments) | H2H | `HK_FPS_PROXY`, `HK_FPS_ACCOUNT`, `HK_CHATS`, `HK_ACH`, `TT` |
| HSBC | Malaysia | [HSBC Malaysia](https://docs.tryacme.com/guides/hsbc-my-payments) | API and H2H | `MY_IBG`, `MY_IBFT`, `MY_DUITNOW`, `MY_RENTAS`, `TT` |
| HSBC | Vietnam | [HSBC Vietnam](https://docs.tryacme.com/guides/hsbc-vn-payments) | H2H | `VN_NAPAS`, `VN_RTGS`, `VN_ACH`, `TT` |
| Maybank | Singapore | [Maybank Singapore](https://docs.tryacme.com/guides/mbb-sg-payments) | H2H | `FAST`, `PAYNOW`, `GIRO`, `BKTR` |
| OCBC | Singapore | [OCBC Singapore](https://docs.tryacme.com/guides/ocbc-sg-payments) | API and H2H | `FAST`, `GIRO`, `PAYNOW`, `PAYNOW_GIRO`, `ACT`, `MEPS`, `TT` |
| RHB | Malaysia | [RHB Malaysia](https://docs.tryacme.com/guides/rhb-my-payments) | API | `MY_IBG`, `MY_IBFT` |
| Standard Chartered | Singapore | [Standard Chartered Singapore](https://docs.tryacme.com/guides/scb-sg-api-payments) | API | `FAST`, `MEPS`, `BKTR`, `TT` |
| Standard Chartered | Singapore | [Standard Chartered Singapore](https://docs.tryacme.com/guides/scb-sg-h2h-payments) | H2H | `FAST`, `GIRO`, `MEPS`, `SG_PAYROLL`, `BKTR`, `TT` |
| Standard Chartered | Great Britain | [Standard Chartered Great Britain](https://docs.tryacme.com/guides/scb-gb-api-payments) | API | `GB_FPS`, `GB_CHAPS`, `GB_SEPA`, `BKTR`, `TT` |
| Standard Chartered | Hong Kong | [Standard Chartered Hong Kong](https://docs.tryacme.com/guides/scb-hk-api-payments) | API | `HK_FPS_PROXY`, `HK_FPS_ACCOUNT`, `HK_ACH`, `HK_CHATS`, `BKTR`, `TT` |
| Standard Chartered | UAE | [Standard Chartered UAE](https://docs.tryacme.com/guides/scb-ae-api-payments) | API | `UAE_IBFT`, `UAE_FTS`, `TT`, `BKTR` |
| UOB | Singapore | [UOB Singapore](https://docs.tryacme.com/guides/uob-sg-payments) | API and H2H | `FAST`, `PAYNOW`, `GIRO`, `ACT`, `MEPS`, `TT` |
| UOB | Malaysia | [UOB Malaysia](https://docs.tryacme.com/guides/uob-my-payments) | API and H2H | `MY_IBG`, `MY_IBFT`, `MY_IAFT`, `MY_DUITNOW`, `MY_RENTAS`, `TT` |
| Zand | UAE | [Zand UAE](https://docs.tryacme.com/guides/zand-ae-payments) | API | `UAE_IBFT`, `UAE_FTS`, `TT`, `BKTR` |

## Purpose code lists [#purpose-code-lists]

| bank | market | list | used in |
| --- | --- | --- | --- |
| Citibank | India | [Citibank India Purpose Codes](https://docs.tryacme.com/guides/citi-in-purpose-codes) | `purposeCode` on `TT` |
| Citibank | Philippines | [Citibank Philippines Purpose Codes](https://docs.tryacme.com/guides/citi-ph-purpose-codes) | `purposeCode` on `TT`, `BKTR` |
| DBS | Singapore | [DBS Singapore Receiving Party Purpose Codes](https://docs.tryacme.com/guides/dbs-sg-receiving-party-purpose-codes) | `outgoingPurposeCode` on `TT` |
| HSBC | Hong Kong | [HSBC Hong Kong FPS Purpose Codes](https://docs.tryacme.com/guides/hsbc-hk-api-payments#fps-purpose-codes) | `purposeCode` on `HK_FPS_PROXY`, `HK_FPS_ACCOUNT` |
| Standard Chartered | UAE | [Standard Chartered UAE Purpose of Payment (POP) codes](https://docs.tryacme.com/guides/scb-ae-api-payments#purpose-of-payment-pop-codes) | `purposeCode` on every payment type |
| UOB | Singapore | [UOB Singapore Creditor Purpose of Payment Codes](https://docs.tryacme.com/guides/uob-sg-creditor-purpose-codes) | `outgoingPurposeCode` on `TT` |
