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

# Brazil

> On-Ramp and Off-Ramp payment methods, currency and requirements for Brazil (BRL).

**Currency:** BRL · **On-Ramp:** ✅ · **Off-Ramp:** ✅

## Payment methods

### On-Ramp (fiat → crypto)

| Method  | How the user pays                                                             |
| ------- | ----------------------------------------------------------------------------- |
| **PIX** | The user transfers BRL via **PIX** to the `pixKey` generated for the deposit. |

### Off-Ramp (crypto → fiat)

| Method  | Where the user receives funds                   |
| ------- | ----------------------------------------------- |
| **PIX** | Payout to a registered destination **PIX key**. |

<Note>
  In Brazil both the deposit account and the destination PIX account are provisioned **asynchronously** — the PIX key is not available right after creation. Subscribe to [Account Events](/ramps-api/webhooks/account-events) instead of polling, and see the [fiat account lifecycle](/ramps-api/fiat-accounts/lifecycle) for the destination account.
</Note>

## Requirements

* **Customer & KYC:** the customer must complete [identity verification](/ramps-api/kyc/overview) (`COMPLETED`) before operating. Brazil accounts are for **natural persons** (identified by CPF), and KYC requires the `net_income` field (income bracket) in addition to the standard fields — see [KYC Requirements](/ramps-api/kyc/retrieve-kyc-requirements).
* **Deposit account (On-Ramp):** the PIX deposit account is provisioned before operating — create it with [Create Deposit Account](/ramps-api/customers/create-deposit-account) using `paymentMethodType: "pix"`. It may take a moment to become available (the account moves from `processing` to `enabled`), and the `pixKey` is only returned once it is `enabled`.
* **Off-Ramp destination account:** register and validate the user's destination **PIX key** as an [external fiat account](/ramps-api/fiat-accounts/create-fiat-account). The deposit account is a **prerequisite** — registering a withdrawal account while it is missing or `disabled` returns **HTTP `400`**. Use [Retrieve Fiat Account Requirements](/ramps-api/fiat-accounts/retrieve-fiat-account-requirements) to get the exact fields for Brazil.
* **Terms & Conditions:** accept the applicable [T\&C](/ramps-api/terms-and-conditions/introduction) right after creating the customer — a required step before operating.

## Next steps

* [On-Ramp integration walkthrough](/ramps-api/guides/on-ramp-integration)
* [Off-Ramp integration walkthrough](/ramps-api/guides/off-ramp-integration)
* [Widget integration](/ramps-api/widget/introduction)
