# Brazil

### Required fields

| Field              | Format                                               | Description                                                |
| ------------------ | ---------------------------------------------------- | ---------------------------------------------------------- |
| `login`            | String                                               | Cashouts login                                             |
| `pass`             | String                                               | Cashouts pass                                              |
| `external_id`      | String (max length: 100)                             | Transaction's ID on your end                               |
| `document_id`      | Numeric. Length 11 (Validate verifier-digits)        | Beneficiary's CPF.                                         |
| `country`          | `BR`                                                 | The country codes are in ISO 3166-1 alpha-2 format.        |
| `currency`         | `BRL` / `USD`                                        | The currencies are in ISO 4217 format.                     |
| `amount`           | Number with up to 2 decimals                         | Cashout amount                                             |
| `bank_code`        | See [bank codes](#bank-codes)                        | Code specifying the beneficiary's bank                     |
| `bank_account`     | See [validations below](#bank-account-validations)   | Beneficiary's bank account                                 |
| `bank_branch`      | See [validations below](#bank-branch-validations)    | Beneficiary's bank branch                                  |
| `account_type`     | See [account type codes](#account-types)             | Beneficiary's bank account type                            |
| `beneficiary_name` | String (max length: 100)                             | Beneficiary's name                                         |
| `phone`            | String (max length: 20 characters - up to 15 digits) | Beneficiary's phone - Optional unless using PIX key phone. |
| `email`            | String (max length: 100)                             | Beneficiary's email - Optional unless using PIX key email. |

### `bank_account` validations

Use the Regex below to validate the bank accounts on your end.

<table><thead><tr><th width="162.87890625">Bank name</th><th width="115.65234375" align="center">Bank code</th><th width="236.79296875">Format</th><th>Regex</th><th>Example</th></tr></thead><tbody><tr><td>Banco do Brasil</td><td align="center">001</td><td>Format: DDDDDDDDD-X or DDDDDDDDDX where D are digits and X is a digit or the letter 'X'. The number of digits may change, but can't exceed 10 digits</td><td><code>^\d{1,9}(-)?[\dxX]$</code></td><td>1234567890, 123456789-0, 123456789-X, 123456789X</td></tr><tr><td>Santander</td><td align="center">033</td><td>Format: DDDDDDDDD, DDDDDDDDDD, DDDDDDDDD-D, DDDDDDDDD-D where D are digits. The number of digits has to be from 9 to 10</td><td><code>^\d{7,10} (-)?[\d]$</code></td><td>12345678, 12345678-9</td></tr><tr><td>Banrisul</td><td align="center">041</td><td>Format: DDDDDDDDD-D or DDDDDDDDDD where D are digits. The number of digits has to be 10</td><td><code>^\d{9}(-)?[\d]$</code></td><td>1234567890, 123456789-0</td></tr><tr><td>Caixa</td><td align="center">104</td><td>Format: DDDDDDDDD-D or DDDDDDDDDDDDDD-D where D are digits. The number of digits has to be between 1 and 15</td><td><code>^\d{1,14}(-)?[\d]$</code></td><td><p>1234567890,</p><p>123456789-0, 12345678901234-5</p></td></tr><tr><td>Bradesco</td><td align="center">237</td><td>Format: DDDDDDD-D or DDDDDDDD where D are digits. The number of digits may change, but can't exceed 8 digits</td><td><code>^\d{1,7}(-)?[\d]$</code></td><td>12345678, 1234567-8</td></tr><tr><td>Mercado Pago</td><td align="center">323</td><td>Format: DDDDDDDDDD-D or DDDDDDDDDDD where D are digits. The number of digits may change, but can't exceed 11 digits</td><td><code>^\d{1,9}(-)?[\d]$</code></td><td>12345678910, 1234567891-0</td></tr><tr><td>Itaú</td><td align="center">341</td><td>Format: DDDDDD-D or DDDDDDD where D are digits. The number of digits may change but ranges from 6 to 7</td><td><code>^\d{1,7} (-)?[\d]$</code></td><td>123456, 12345-6</td></tr><tr><td>Pix Key Phone</td><td align="center">10000</td><td>Empty string</td><td><code>^$</code></td><td></td></tr><tr><td>Pix Key Email</td><td align="center">10001</td><td>Empty string</td><td><code>^$</code></td><td></td></tr><tr><td>Pix Key Document</td><td align="center">10002</td><td>Empty string</td><td><code>^$</code></td><td>""</td></tr><tr><td>Others</td><td align="center">-</td><td>Format: DDDDDDDDDD-D or DDDDDDDDDDD where D are digits. The number of digits may change, but can't exceed 11 digits</td><td><code>^\d{1,9}(-)?[\d]$</code></td><td>123456789, 123456789-0</td></tr></tbody></table>

### `bank_branch` validations

Use the Regex below to validate the valid (and invalid) bank branches on your end.

<table><thead><tr><th width="158.87109375">Bank name</th><th width="115.14453125" align="center">Bank code</th><th width="246.1328125">Format</th><th width="216">Regex</th><th>Exceptions</th><th></th></tr></thead><tbody><tr><td>Banco do Brasil</td><td align="center">001</td><td>Format: DDDD-X or DDDDX where D are digits and X is a digit or the letter 'X'. The number of digits may change, but can't exceed 5 digits</td><td><code>^\d{1,4}(-)?[\dxX]$</code></td><td><p>Can't have 4 zeros and a digit.</p><p></p><p><code>^0{0,4}(-)?[\dxX]$</code></p></td><td>1234-1, 1234-X, 12341, 1234X</td></tr><tr><td>Santander</td><td align="center">033</td><td>Format: DDDD where D are digits. The number of digits may change, but can't exceed 4 digits</td><td><code>^\d{1,4}$</code></td><td><p>Can't be 033</p><p></p><p><code>^033$</code></p></td><td>1234</td></tr><tr><td>Banrisul</td><td align="center">041</td><td>Format: DDDD-X or DDDDX where D are digits and X is a digit or the letter 'X'. The number of digits may change, but can't exceed 5 digits</td><td><code>^\d{1,4}(-)?[\dxX]$</code></td><td>N/A</td><td>1234-1, 1234-X, 12341, 1234X</td></tr><tr><td>Banco Inter</td><td align="center">077</td><td>Format: DDDD-D or DDDDD where D are digits. The number of digits may change, but can't exceed 5 digits</td><td><code>^\d{1,4}(-)?[\d]$</code></td><td><p>Can't start with zeros followed by 77 </p><p></p><p><code>^0{0,3}77$</code></p></td><td>1234-1,  12341</td></tr><tr><td>Caixa</td><td align="center">104</td><td>Format: DDDD-D or DDDDD where D are digits. The number of digits may change, but can't exceed 5 digits</td><td><code>^\d{1,4}(-)?[\d]$</code></td><td><p>Can't be: 001/013/023/104</p><p></p><p><code>^001$|^013$|^023$|^104$</code></p></td><td>1234-1, 12341</td></tr><tr><td>Banco Original</td><td align="center">212</td><td>Format: DDDDD-D or DDDDDD where D are digits. The number of digits may change, but can't exceed 5 digits</td><td><code>^\d{1,4}(-)?[\d]$</code></td><td><p>Can't start with zeros followed by 212</p><p></p><p><code>^0{0,2}212$</code></p></td><td>1234-1, 12341</td></tr><tr><td>Bradesco</td><td align="center">237</td><td>Format: DDDD-D or DDDDD where D are digits. The number of digits may change, but can't exceed 5 digits</td><td><code>^\d{1,4}(-)?[\d]$</code></td><td><p>Can't be 237</p><p></p><p><code>^237$</code></p></td><td>1234-1, 12341</td></tr><tr><td>Banco Nu Pagamento</td><td align="center">260</td><td>Format: DDDD-D or DDDDD where D are digits. The number of digits may change, but can't exceed 5 digits</td><td><code>^\d{1,4}(-)?[\d]$</code></td><td><p>Can't start with zeros followed by 260</p><p></p><p><code>^0{0,2}260$</code></p></td><td>1234-1, 12341</td></tr><tr><td>PagSeguro</td><td align="center">290</td><td>Format: DDD-D or DDDD where D are digits. The number of digits may change, but can't exceed 4 digits</td><td><code>^\d{3}(-)?[\d]$</code></td><td><p>Can't start with zeros followed by 290</p><p></p><p><code>^0{0,2}290$</code></p></td><td>123-4, 1234</td></tr><tr><td>Mercado Pago</td><td align="center">323</td><td><code>N/A</code></td><td><code>N/A</code></td><td><code>N/A</code></td><td>0001</td></tr><tr><td>Itau</td><td align="center">341</td><td>Format: DDDD-D or DDDDD where D are digits. The number of digits may change, but can't exceed 5 digits</td><td><code>^\d{1,4}(-)?[\d]$</code></td><td><p>Can't be 314</p><p></p><p><code>^341$</code></p></td><td>1234-1, 12341</td></tr><tr><td>Pix Key Phone</td><td align="center">10000</td><td>Format: "+55 012 92345-1234"</td><td><code>^([+55]{3})([(]?[0]?[1-9]{2}[)]?)[9]?([1-9]{4})-?([0-9]{4})$</code></td><td>N/A</td><td>+55 66 666666666</td></tr><tr><td>Pix Key Email</td><td align="center">10001</td><td><code>N/A</code></td><td><code>^$</code></td><td>N/A</td><td>testuser@gmail.com</td></tr><tr><td>Pix Key Document</td><td align="center">10002</td><td><code>N/A</code></td><td><code>^$</code></td><td>N/A</td><td>N/A</td></tr><tr><td>Others</td><td align="center">-</td><td>Format: DDDD-D or DDDDD where D are digits. The number of digits may change, but can't exceed 5 digits</td><td><code>^\d{1,4}(-)?[\d]$</code></td><td>N/A</td><td>1234-1, 12341</td></tr></tbody></table>

### `email` validations <a href="#email-validations" id="email-validations"></a>

<table><thead><tr><th width="132.43359375">Bank name</th><th width="150.703125">Bank code</th><th width="138.96484375">Required</th><th>Example</th></tr></thead><tbody><tr><td>iCash</td><td>998</td><td>Yes</td><td>johnSmith1@gmail.com</td></tr></tbody></table>

### `account_type`

The `account_type` is specified with only one character described below.

| account\_type | Description           |
| :-----------: | --------------------- |
|    **`C`**    | Checkings account     |
|    **`S`**    | Savings account       |
|    **`O`**    | Joint checkings       |
|    **`P`**    | Joint savings account |

### Example request

{% tabs %}
{% tab title="Pix Key Phone" %}

```json
{    
    "login": "xxxxxxx",
    "pass": "xxxxxxx",
    "external_id": "30000000001",
    "country": "BR",
    "currency": "BRL",
    "amount": 100,
    "document_id": "01716001340",
    "beneficiary_name": "User",
    "phone": "+5511666666666",
    "bank_code": "10000",
    "bank_account": "",
    "bank_branch": "",
    "account_type": "C",
    "notification_url": "https://webhook.site/url",
    "type": "json"
}
```

{% endtab %}

{% tab title="Pix Key Email" %}

```json
{    
    "login": "xxxxxxx",
    "pass": "xxxxxxx",
    "external_id": "30000000001",
    "country": "BR",
    "currency": "BRL",
    "amount": 100,
    "document_id": "01716001340",
    "email": "testuser@gmail.com",
    "beneficiary_name": "User",
    "bank_code": "10001",
    "bank_account": "",
    "bank_branch": "",
    "account_type": "C",
    "notification_url": "https://webhook.site/url",
    "type": "json"
}
```

{% endtab %}

{% tab title="Pix Key Document" %}

```json
{    
    "login": "xxxxxxx",
    "pass": "xxxxxxx",
    "external_id": "30000000001",
    "country": "BR",
    "currency": "BRL",
    "amount": 100,
    "document_id": "01716001340",
    "beneficiary_name": "User",
    "bank_code": "10002",
    "bank_account": "",
    "bank_branch": "",
    "account_type": "C",
    "notification_url": "https://webhook.site/url",
    "type": "json"
}
```

{% endtab %}

{% tab title="Banks" %}

```json
{
    "login": "xxxxxxx",
    "pass": "xxxxxxx",
    "external_id": "30000000001",
    "country": "BR",
    "currency": "BRL",
    "amount": 100,
    "document_id": "01716001340",
    "beneficiary_name": "User",
    "bank_account": "3423422-7",
    "bank_code": "001",
    "bank_branch": "1234",
    "account_type": "C",
    "notification_url": "https://webhook.site/url",
    "type": "json"
}
```

{% endtab %}
{% endtabs %}

#### Type of keys

<table><thead><tr><th width="209">Bank</th><th width="125.48828125">Bank Code</th><th>Details</th></tr></thead><tbody><tr><td>Pix Key Phone</td><td>10000</td><td><code>bank_account</code> and <code>bank_branch</code> must be empty. The field <code>acount_type</code> can have any value. The field <code>phone</code> must be sent </td></tr><tr><td>Pix Key Email</td><td>10001</td><td><code>bank_account</code> and <code>bank_branch</code> must be empty. The field <code>acount_type</code> can have any value. The field <code>email</code> must be sent </td></tr><tr><td>Pix Key Document</td><td>10002</td><td><code>bank_account</code> and <code>bank_branch</code> must be empty. The field <code>acount_type</code> can have any value. The field <code>document_id</code> must be sent </td></tr><tr><td>Pix Key Random</td><td>10003</td><td><code>bank_branch</code> must be empty. The field <code>account_type</code> can have any value. The field <code>bank_account</code> must be sent - this indicates the customer's PIX random key</td></tr></tbody></table>

If a payout is created without the mandatory fields, it will be rejected.<br>

### Bank codes

{% hint style="success" %}

### Bank code retrieval via API

For the full and most up-to-date list of banks and its codes, please check this endpoint <a href="https://app.gitbook.com/s/0lbPmhFPUb55BAkK3G6F/cashouts-api/banks/get-bank-codes" class="button secondary" data-icon="magnifying-glass">Get bank codes</a>
{% endhint %}

<table><thead><tr><th width="334.5">Bank</th><th>Code</th></tr></thead><tbody><tr><td>BANCO DO BRASIL S.A.</td><td>001</td></tr><tr><td>BANCO DA AMAZONIA S.A.</td><td>003</td></tr><tr><td>BANCO DO NORDESTE DO BRASIL S.A.</td><td>004</td></tr><tr><td>BANESTES S.A. BANCO DO ESTADO DO ESPIRITO SANTO</td><td>021</td></tr><tr><td>Banco Alfa S.A.</td><td>025</td></tr><tr><td>BANCO SANTANDER BRASIL S.A.</td><td>033</td></tr><tr><td>BANCO ABN AMRO S.A</td><td>075</td></tr><tr><td>BANCO DO ESTADO DO PARA S.A. - BANPARA</td><td>037</td></tr><tr><td>BANCO DO ESTADO DO RIO GRANDE DO SUL S.A. - BANRISUL</td><td>041</td></tr><tr><td>BANCO DO ESTADO DE SERGIPE S.A. - BANESE</td><td>047</td></tr><tr><td>BANCO DE BRASILIA S.A. - BRB</td><td>070</td></tr><tr><td>BANCO INTER</td><td>077</td></tr><tr><td>Banco Original do Agronegócio S.A.</td><td>079</td></tr><tr><td>Cooperativa Central de Crédito (VIACREDI)</td><td>085</td></tr><tr><td>POLOCRED SCMEPP</td><td>093</td></tr><tr><td>Credisis - Central de Cooperativas de Crédito Ltdav</td><td>097</td></tr><tr><td>XP INVESTIMENTOS S.A</td><td>102</td></tr><tr><td>CAIXA ECONOMICA FEDERAL - CEF</td><td>104</td></tr><tr><td>Banco BOCOM BBM S.A.</td><td>107</td></tr><tr><td>BANCO AGIPLAN S.A.</td><td>121</td></tr><tr><td>Confederação Nacional das Cooperativas Centrais Unicred</td><td>136</td></tr><tr><td>Stone Pagamentos S.A</td><td>197</td></tr><tr><td>Banco BTG Pactual S.A.</td><td>208</td></tr><tr><td>BANCO ORIGINAL</td><td>212</td></tr><tr><td>BANCO BONSUCESSO S.A.</td><td>218</td></tr><tr><td>Banco Fibra S.A.</td><td>224</td></tr><tr><td>BANCO BRADESCO S.A.</td><td>237</td></tr><tr><td>NU PAGAMENTOS</td><td>260</td></tr><tr><td>Will Financeira S.A.</td><td>280</td></tr><tr><td>PagSeguro Internet S.A</td><td>290</td></tr><tr><td>Banco BPP Instituição de Pagamento S/A</td><td>301</td></tr><tr><td>BANCO BMG S.A</td><td>318</td></tr><tr><td>China Construction Bank Banco Múltiplo S.A.</td><td>320</td></tr><tr><td>MERCADOPAGO.COM REPRESENTACOES LTDA.</td><td>323</td></tr><tr><td>BANCO BARI DE INVESTIMENTOS E FINANCIAMENTOS S.A</td><td>330</td></tr><tr><td>BAcesso Soluções de Pagamento S.A</td><td>332</td></tr><tr><td>Banco Digio S.A</td><td>335</td></tr><tr><td>BANCO C6 S.A</td><td>336</td></tr><tr><td>ITAU UNIBANCO S.A.</td><td>341</td></tr><tr><td>GERENCIANET S.A</td><td>364</td></tr><tr><td>Banco Société Générale Brasil S.A.</td><td>366</td></tr><tr><td>PICPAY SERVICOS S.A</td><td>380</td></tr><tr><td>BANCO MERCANTIL DO BRASIL S.A.</td><td>389</td></tr><tr><td>Banco Hub pagamentos SA</td><td>396</td></tr><tr><td>HSBC BANK BRASIL S.A. - BANCO MULTIPLO</td><td>399</td></tr><tr><td>CORA SCD S.A</td><td>403</td></tr><tr><td>Banco BV S.A.</td><td>413</td></tr><tr><td>BANCO SAFRA S.A.</td><td>422</td></tr><tr><td>CITIBANK N.A.</td><td>477</td></tr><tr><td>Deutsche Bank S.A. – Banco Alemão</td><td>487</td></tr><tr><td>JPMorgan Chase Bank, National Association</td><td>488</td></tr><tr><td>ING Bank N.V.</td><td>492</td></tr><tr><td>Banco Credit Suisse S.A.</td><td>505</td></tr><tr><td>Neon Pagamentos S.A. IP</td><td>536</td></tr><tr><td>Banco PAN S.A.</td><td>623</td></tr><tr><td>BANCO SOFISA</td><td>637</td></tr><tr><td>Banco Votorantim S.A.</td><td>655</td></tr><tr><td>BANCO DAYCOVAL S.A.</td><td>707</td></tr><tr><td>BANCO OURINVEST S.A</td><td>712</td></tr><tr><td>BANCO CITIBANK</td><td>745</td></tr><tr><td>BANCO MODAL S.A.</td><td>746</td></tr><tr><td>Banco Rabobank International Brasil S.A.</td><td>747</td></tr><tr><td>BANCO COOPERATIVO SICREDI S.A.</td><td>748</td></tr><tr><td>Banco BNP Paribas Brasil S.A.</td><td>752</td></tr><tr><td>BANCO COOPERATIVO DO BRASIL S/A - BANCOOB</td><td>756</td></tr><tr><td>iCash</td><td>998</td></tr><tr><td>Pix Key Phone</td><td>10000</td></tr><tr><td>Pix Key Email</td><td>10001</td></tr><tr><td>Pix Key Document</td><td>10002</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://apidocs.onekeypayments.com/guides/cashouts/countries-validations/american-countries/brazil.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
