# Mínimos e máximos por moeda, rede e operação

Cash-in, cash-out e custódia: valores, unidades, taxas, exemplos e consulta completa do catálogo.

## Primeiro: qual operação você quer fazer?

**Não existe um único “mínimo do USDT”.** O valor depende da direção da operação, da rede, do caminho de conversão e das condições da sua chave. Enviar USDT para receber PIX e pagar PIX para receber USDT são produtos diferentes.

| Objetivo do cliente | Nome nesta documentação | Rota | Unidade enviada |
|---|---|---|---|
| Pagar PIX e receber cripto em uma carteira | Cash-in / compra: BRL → cripto | `POST /cashin/charge`, `destino: "cripto"` | `amount_cents`: centavos de BRL |
| Enviar cripto de uma carteira e receber PIX | Cash-out / venda: cripto → BRL | `POST /cash-outs` → aceite → depósito | `amount`: quantidade de cripto **ou** `brl_amount`: BRL desejado |
| Pagar PIX e guardar reais para sacar depois | Cash-in para custódia | `POST /cashin/charge`, `destino: "saldo"` | `amount_cents`: centavos de BRL |
| Converter o saldo em reais e enviar cripto | Saque da custódia | `POST /saldo/sacar-cripto` | `amount_cents`: reais a converter em centavos |

Na compra e no saque, consulte `GET /cashin/catalog` e envie a rede em **`chain`**. Na venda, consulte `GET /catalog` e envie **`network`**. Uma rede pode estar disponível em apenas uma direção. “Depósito cripto”, neste guia, significa a entrada da venda que termina em PIX; não significa criar saldo custodial em USDT.

## Resumo dos pisos e tetos

| Operação | Mínimo | Máximo / restrições |
| --- | --- | --- |
| BRL → cripto | Maior piso da conta e rota, com taxas | R$ 6.000,00; também pagador, rede e mandate |
| USDT/USDC Polygon → PIX | R$ 6,00 na operação; quantidade depende da cotação | R$ 250.000,00; recebedor até R$ 100.000,00/dia, descontado o uso |
| Outras criptos → PIX | min do ativo + piso BRL aplicável | max do ativo + teto BRL + recebedor/mandate |
| PIX → saldo BRL | Piso da conta/provedor | R$ 6.000,00; condições do pagador |
| Saldo BRL → cripto | Piso de valor e da rota; taxas próprias | Limites da rota/operação e saldo disponível para valor + taxas |
| DePix / Liquid | Regra própria; veja seção DePix | Regra própria; não usar teto de outra cripto |


**Como combinar limites:** o mínimo efetivo precisa satisfazer todos os pisos aplicáveis; o máximo efetivo precisa caber em todos os tetos aplicáveis. Converta para a mesma moeda antes de comparar. Se o mínimo ficar acima do máximo disponível, não há valor válido para aquela operação naquele momento.

Os valores desta página são uma fotografia de referência. Taxas da chave, liquidez, saldo disponível, uso do pagador/recebedor e políticas `mandate` podem mudar o resultado. A cotação e a criação revalidam as condições. Ausência de um campo ou `null` não significa valor zero nem operação ilimitada.

## Mínimo da conta, da rede e valor entregue

| Campo | Unidade | O que significa |
|---|---|---|
| `limits.per_operation.cashin.min_brl_cents` | Centavos de BRL | Piso da conta/provedor. Inclui a necessidade de sobrar valor após as taxas da chave. Não substitui o mínimo da rota. |
| `withdrawMin` | Unidades da moeda | Mínimo de retirada da corretora naquela rede. |
| `withdrawFee` | Unidades da moeda | Taxa de retirada da corretora, distinta da taxa da Lunium e da subcomissão do parceiro. |
| `minBuyAmount` | Unidades da moeda | Quantidade mínima a **comprar** para cobrir o mínimo e a taxa da retirada; não é necessariamente a quantidade líquida que chegará à carteira. |
| `withdrawMax` | Unidades da moeda | Teto de retirada publicado pela corretora para a rede. Não é uma autorização para comprar esse montante pela Lunium. |
| `min_brl_cents` | Centavos de BRL | Piso em reais retornado pela prévia da rota, considerando as condições da chave. Pode também aparecer no catálogo autenticado quando calculado. |
| `minimo_estimado_cents` | Centavos de BRL | Estimativa para corrigir uma recusa por mínimo, quando a resposta disponibilizar o campo. Faça uma nova prévia. |

Exemplo didático: `withdrawMin = "5"` e `withdrawFee = "0.0065"` significam comprar pelo menos **5,0065 USDT** para viabilizar uma retirada de **5 USDT**. Ainda é preciso converter esse custo para reais e aplicar as taxas da chave. A resposta efetiva da cotação determina o valor entregue.

Use inteiros para centavos: `10000` representa R$ 100,00. Use strings decimais para cripto: `"6"` representa 6 USDT quando `asset` for USDT. Em `brl_amount`, `"100.00"` representa R$ 100,00; não envie `10000` como se fossem centavos nesse campo. Respeite a precisão da moeda, sem usar arredondamento de ponto flutuante para transferências.

## Cash-in: pagar BRL e receber cripto

1. Leia a chave em `GET /keys/me`: limites por operação, taxas e eventual `mandate`.
2. Leia `GET /cashin/catalog`. Ofereça o par moeda/rede somente quando `entregavel: true`. Verifique `memoRequired`.
3. Consulte `GET /cashin/limits?payer_tax=CPF_OU_CNPJ` para **o documento de quem pagará**.
4. Peça `POST /cashin/preview` com valor, moeda e rede. Use `min_brl_cents` da resposta; quando ausente, não invente um mínimo em BRL a partir de outro ativo.
5. Apresente o valor bruto em BRL, as taxas e a quantidade líquida estimada. Só então crie a cobrança com os mesmos parâmetros de rota.
6. Acompanhe a liquidação. PIX pago não confirma entrega de cripto: verifique `settlement_status` e `cashin.settled`.

O teto por cobrança vem de `limits.per_operation.cashin.max_brl_cents`. O limite disponível do pagador pode ser menor. `available_cents` / `instant_available_cents` informam a faixa sem retenção; `held_qr` descreve a faixa com retenção, quando existir. `max_amount_cents` é orientativo e não dispensa a validação da chave, do provedor ou da rota. Se o produto exige disponibilidade imediata, trate retenção explicitamente com `allow_hold: false` e respeite a resposta.

**Teto em cripto:** compare o valor líquido a retirar com `withdrawMax`, quando publicado, e também o teto em reais da cobrança. Não converta R$ 6.000 em uma quantidade permanente de USDT: o câmbio e as taxas variam. Limite de rede, limite por operação e limite do pagador são verificações diferentes.

### USDT e USDC: valores de referência por rede

### USDT

| Rede | Mínimo de retirada | Taxa de rede | Mínimo a comprar | Piso BRL de referência | Máximo de retirada da rede |
| --- | --- | --- | --- | --- | --- |
| bsc | 0,2 USDT | 0,01 USDT | 0,21 USDT | R$ 1,10 | 20.000.000 USDT |
| cfxevm | 1 USDT | 0,01 USDT | 1,01 USDT | R$ 5,30 | 1.000.000 USDT |
| arbitrum | 1 USDT | 0,05 USDT | 1,05 USDT | R$ 5,50 | 5.000.000 USDT |
| celo | 2 USDT | 0,05 USDT | 2,05 USDT | R$ 10,60 | 5.000.000 USDT |
| tron | 2 USDT | 0,5 USDT | 2,5 USDT | R$ 12,90 | 30.000.000 USDT |
| klay | 2 USDT | 1 USDT | 3 USDT | R$ 15,50 | 1.000.000 USDT |
| optimism | 3 USDT | 0,0078 USDT | 3,0078 USDT | R$ 15,50 | 200.000 USDT |
| avalanche | 4 USDT | 0,000074 USDT | 4,000074 USDT | R$ 20,70 | 2.000.000 USDT |
| polygon | 5 USDT | 0,0065 USDT | 5,0065 USDT | R$ 25,80 | 5.000.000 USDT |
| ton | 8 USDT | 0,017 USDT | 8,017 USDT | R$ 41,30 | 5.000.000 USDT |
| eth | 8 USDT | 0,094 USDT | 8,094 USDT | R$ 41,70 | 30.000.000 USDT |
| plasma | 10 USDT | 0 USDT | 10 USDT | R$ 51,50 | 2.000.000 USDT |
| solana | 10 USDT | 0,18 USDT | 10,18 USDT | R$ 52,50 | 9.000.000 USDT |


### USDC

| Rede | Mínimo de retirada | Taxa de rede | Mínimo a comprar | Piso BRL de referência | Máximo de retirada da rede |
| --- | --- | --- | --- | --- | --- |
| arbitrum | 0,5 USDC | 0,0033 USDC | 0,5033 USDC | R$ 2,60 | 2.000.000 USDC |
| polygon | 1 USDC | 0,011 USDC | 1,011 USDC | R$ 5,30 | 1.000.000 USDC |
| base | 1 USDC | 0,1 USDC | 1,1 USDC | R$ 5,70 | 1.500.000 USDC |
| optimism | 2 USDC | 0,016 USDC | 2,016 USDC | R$ 10,50 | 2.000.000 USDC |
| eth | 2 USDC | 0,17 USDC | 2,17 USDC | R$ 11,20 | 15.000.000 USDC |
| algo | 2 USDC | 1 USDC | 3 USDC | R$ 15,50 | 5.000.000 USDC |
| seievm | 2 USDC | 1 USDC | 3 USDC | R$ 15,50 | 200.000 USDC |
| avalanche | 5 USDC | 0,00021 USDC | 5,00021 USDC | R$ 25,80 | 1.000.000 USDC |
| sonic | 5 USDC | 0,01 USDC | 5,01 USDC | R$ 25,90 | 1.000.000 USDC |
| bsc | 10 USDC | 0 USDC | 10 USDC | R$ 51,60 | 5.000.000 USDC |
| solana | 20 USDC | 0,18 USDC | 20,18 USDC | R$ 104,20 | 5.000.000 USDC |


O piso em BRL destas tabelas vem de uma prévia com taxa de integração zero. A taxa de retirada da rede já participa do piso; as taxas da sua chave precisam ser consideradas na sua própria prévia. A coluna de teto da rede não substitui o teto em BRL. Prazos são estimativas, não garantias de liquidação.

## Cash-out: depositar cripto e receber PIX

**USDT/USDC na Polygon pelo trilho `fast`:** o catálogo não publica um piso fixo de 6 tokens para esse caminho. O valor deve atender ao piso em BRL da operação. A quantidade mínima em USDT/USDC depende da cotação; não transforme “R$ 6” em “6 USDT”.

**Trilho `convert`:** leia `min` e `max` da própria moeda e confirme a rede em `networks`. O intervalo de 6 a 200.000 unidades das stablecoins não deve ser aplicado a BTC, ETH ou qualquer outra moeda. A tabela pesquisável abaixo mostra os valores de cada ativo do catálogo principal.

**Depois do limite da moeda vem o limite em reais.** A operação também precisa respeitar `limits.per_operation.cashout`, o saldo do limite diário do recebedor e eventual `mandate`. Quando a resposta da operação incluir `limits`, use `min_amount`, `max_amount`, `min_brl_cents` e `max_brl_cents` conforme disponíveis. Nem toda recusa traz todos esses campos.

Exemplo: um teto nominal de R$ 250.000 por operação e um teto diário de R$ 100.000 por recebedor não autorizam um PIX de R$ 250.000. Se o recebedor já consumiu R$ 80.000 no dia, sobram no máximo R$ 20.000 desse limite, antes de considerar outras restrições. Dividir a venda em várias ordens não elimina o teto diário. O limite diário renova à meia-noite no horário de Brasília, conforme a política publicada.

Fluxo de depósito:

1. Consulte o catálogo e confira o par exato. Se usar uma prévia, lembre que ela não cria nem aceita uma ordem.
2. Crie a cotação em `POST /cash-outs` com `amount` **ou** `brl_amount`, nunca os dois. Para informar o PIX desejado em reais, use `brl_amount`.
3. Confira quantidade de cripto, valor do PIX, taxas, validade e limites retornados.
4. Aceite a cotação na rota `/cash-outs/{cashout_id}/accept`.
5. Use exclusivamente `deposit_address` e eventual `deposit_tag` devolvidos no aceite, na rede indicada. Transfira a quantidade solicitada; considere que a exchange de origem pode descontar sua própria taxa de envio.
6. Confirme `COMPLETED` para concluir o PIX. Confirmação on-chain, depósito creditado e PIX pago são etapas diferentes.

`refund_address` é opcional: se você já tem a carteira do cliente na rede da venda, pode enviá-la; sem ela, a carteira só é pedida se a venda falhar. Não envie cripto antes de obter o endereço e o aceite da ordem. Se o prazo vencer ou o valor mudar, obtenha as novas instruções da API; não reutilize uma cotação antiga presumindo o mesmo câmbio.

## Consulta de todas as moedas e redes do catálogo principal

Este snapshot enumera **1645 rotas de compra** (1438 ativos, incluindo linhas indisponíveis) e **1531 pares de venda** (1338 ativos, somando os trilhos `fast` e `convert`).

Pesquise, por exemplo, **USDT**, **BTC**, **ETH**, **polygon** ou **tron** e selecione a direção. Cada linha identifica a unidade do mínimo e do máximo. “Consultar prévia” ou “não publicado” significam que não há número suficiente nessa fonte para prometer o limite.

[Tabela completa de todas as moedas e redes](/limites-catalogo.md) · [JSON público](/catalogo.json)

¹ Compra: quantidade mínima a comprar; venda: mínimo do ativo/rota. ² Compra: teto de retirada da rede; venda: teto do ativo/rota. ³ Teto nominal em BRL, ainda sujeito a pagador/recebedor, taxas, saldo e política da chave.

Na compra, linhas `entregavel: false` ficam identificadas como indisponíveis e não devem ser oferecidas ao cliente. Na venda via corretora, o catálogo publica um intervalo por ativo e uma lista de redes; a tabela repete esse intervalo em cada rede permitida, sem inventar um limite específico por rede. O piso em BRL das demais moedas deve ser obtido na prévia daquele par, não na cotação de USDT.

**Tokens DEX:** o catálogo principal informa as redes DEX, mas não enumera todos os tokens e seus limites. Consulte `GET /catalog/dex?chain=...&q=...`, identifique o token por endereço/`token_address` e obtenha a cotação. Disponibilidade, mínimo e máximo dependem da liquidez e das restrições da operação. Não reutilize os limites das stablecoins nem identifique um token apenas pelo símbolo. Esta tabela cobre todos os ativos enumerados nos catálogos principais, não promete listar toda a whitelist DEX.

## Custódia: depósito em BRL e saque em cripto

**Entrada para saldo:** `destino: "saldo"` credita custódia em BRL. Sem entrega imediata de cripto, o mínimo de saque de USDT/Polygon não é o piso de entrada em custódia. Continuam valendo o mínimo da conta/provedor, o teto da cobrança e as condições do pagador. Tarifas de depósito e retenções podem reduzir o saldo disponível.

**Saída para cripto:** selecione uma rota entregável do catálogo de compra. O mínimo e o máximo de retirada da rede continuam relevantes, mas a operação tem sua própria validação de valor e de taxas de saque. A prévia de cash-in não representa sozinha o custo total do saque custodial. Consulte as condições em `GET /saldo` e a resposta do saque.

- `amount_cents` é o valor em BRL a converter, não quantidade de tokens.
- O saldo **disponível** deve cobrir o valor e as taxas debitadas. Não use o saldo total retido como saldo disponível.
- Carência, retenção e falta de saldo são restrições distintas do mínimo da rede.
- Liquid/DePix não é suportado em `POST /saldo/sacar-cripto`, mesmo quando aparece no catálogo de compra. Para retirar reais por PIX, use o fluxo de `POST /payouts`.
- Se houver subconta, use o `customer_ref` correspondente; não confunda saldo da casa com saldo de um cliente.

## DePix: regras próprias da rota Liquid

| Direção | Mínimo publicado | Máximo publicado | Taxas / referência |
| --- | --- | --- | --- |
| Compra | 2,01 DePix | R$ 6.000,00 | Consultar prévia Liquid da chave |
| Venda | 1,02 DePix | 6.000 DePix | 1,5% + R$ 1,00 |


DePix representa BRL na rede Liquid: 1 DePix corresponde nominalmente a R$ 1,00. Isso não torna o valor bruto igual ao líquido após taxas. Na compra, `delivery_mode` e as condições da chave distinguem entrega direta (`full`) e entrega líquida após taxas (`split`). Use a prévia dessa rota; a calculadora de taxas das rotas de corretora abaixo exclui DePix.

Na venda, os limites e as taxas próprios da linha `DEPIX/liquid` prevalecem sobre o resumo do cash-out de outras criptos. A criação exige `payee_tax_number` quando a chave Pix não é CPF/CNPJ; `refund_address` (carteira Liquid do cliente) é opcional desde a API 1.44.0: sem ela, a carteira só é pedida se a venda falhar. Disponibilidade no catálogo pode mudar conforme a saúde da rota.

## Exemplos de cálculo e de recusa

### BRL → USDT na Polygon

Exemplo didático, sem fixar a cotação de produção: mínimo de retirada **5 USDT**, taxa de rede **0,0065 USDT**, câmbio **R$ 5,30/USDT**, taxa fixa **R$ 2** e taxa percentual total **2%**.

```text
Quantidade mínima a comprar = 5 + 0,0065 = 5,0065 USDT
Custo da rota em BRL = 5,0065 × 5,30 = R$ 26,53445
Estimativa bruta = (26,53445 + 2) ÷ (1 − 0,02)
                 ≈ R$ 29,1168
Estimativa arredondada para cima em R$ 0,10: R$ 29,20
```

Essa conta ajuda a entender o piso; **`min_brl_cents` da prévia é a referência para a operação**. Arredondamentos, cotação efetiva e taxas da chave podem mudar o número. Não desconte duas vezes a taxa de rede: ela já foi somada na quantidade mínima a comprar.

### Por que R$ 10 pode passar em USDC e falhar em USDT?

As redes têm pisos diferentes para cada moeda. No exemplo de Polygon, comprar 1,011 USDC pode viabilizar a retirada mínima de USDC, enquanto USDT exige comprar 5,0065 USDT. Com o mesmo câmbio de referência, o segundo exige mais reais. A aprovação de R$ 10 em USDC ainda depende das taxas e dos limites da chave; não é uma garantia universal.

### Por que o catálogo mostra 200.000 USDT e a venda recusa um valor menor?

Porque esse é o teto do ativo no caminho de conversão. O teto em BRL, a disponibilidade diária do recebedor ou a política da chave podem ser menores. Apresente o limite **efetivo**, não o maior número encontrado em uma das fontes.

### Quanto preciso enviar para o PIX chegar com um valor exato?

Use a cotação reversa com `brl_amount`. Leia a quantidade de cripto retornada, confira a validade e aceite a ordem. Não faça a conversão com uma cotação externa e presuma que ela inclui as taxas do produto.

## Calculadora ilustrativa para rotas de corretora

Informe a taxa percentual **total** aplicável, incluindo a subcomissão de compra quando existir, e a taxa fixa em reais. Os valores iniciais são apenas um exemplo. Esta calculadora usa os pisos de referência das stablecoins e arredonda para cima em R$ 0,10. Não consulta sua chave, não aplica o limite do pagador e não cria uma cotação.

Use a calculadora em https://docs.luniumpay.com/minimos#calculadora. Fórmula ilustrativa: (piso + taxa fixa) ÷ (1 − bps/10000).

Não use o cálculo de cash-in para DePix, cash-out ou saque custodial. Cada produto tem condições próprias. Se uma estimativa superar o teto disponível da operação, não ofereça aquele valor; consulte outra rota permitida ou as condições atualizadas.

## Onde consultar cada regra na API

| Fonte | Campos / regra | Momento de consulta |
|---|---|---|
| `GET /keys/me` | `limits.per_operation`, `payer_limits`, `payee_limits`, `mandate`, taxas da chave | Ao carregar as condições do projeto e antes de decisões sensíveis a limites |
| `GET /cashin/catalog` | `instant`, `convert`, `asset`, `network`, `entregavel`, `memoRequired`, `withdrawMin`, `withdrawFee`, `withdrawMax`, `minBuyAmount`, eventual `min_brl_cents` | Antes de oferecer uma rota de compra/saque |
| `GET /cashin/limits?payer_tax=...` | `max_amount_cents`, `available_cents`, `instant_available_cents`, `held_qr` | Para o pagador específico, antes de cobrar |
| `POST /cashin/preview` | `min_brl_cents`, valores líquidos, taxas e dados da rota conforme resposta | Ao escolher valor/moeda/rede; não cria cobrança |
| `GET /catalog` | `fast`, `convert[].networks`, `min`, `max`, `precision`, `deposit_eta`, `dex` | Antes de cotar uma venda |
| `GET /catalog/dex` | Tokens, rede e identidade por endereço | Antes de cotar um token DEX |
| Resposta de cash-out / erro de limite | Objeto `limits`, quando presente; quantidade exata e validade da cotação | Antes de aceitar/depositar e ao corrigir recusas |
| `GET /saldo` | Saldo disponível, tarifas de custódia, carência e retenções | Antes de sacar da custódia |

`limits.max_brl_cents_por_transacao`, quando retornado, é o teto nominal da operação. `limits.max_brl_cents` em uma resposta de limite pode refletir um teto efetivo menor. Não presuma que os campos de uma resposta de erro existam também em `/keys/me`.

### Consultas de leitura e prévia

Execute no seu servidor com a chave em variável de ambiente. Substitua `PAYER_TAX` pelo documento do pagador real. Estes exemplos não criam cobrança, endereço de depósito nem saque.

```bash
curl --fail-with-body -sS 'https://api.luniumpay.com/keys/me' \
  -H "X-API-Key: $LUNIUM_API_KEY"

curl --fail-with-body -sS 'https://api.luniumpay.com/cashin/catalog' \
  -H "X-API-Key: $LUNIUM_API_KEY"

curl --fail-with-body -sS --get 'https://api.luniumpay.com/cashin/limits' \
  --data-urlencode "payer_tax=$PAYER_TAX" \
  -H "X-API-Key: $LUNIUM_API_KEY"

curl --fail-with-body -sS 'https://api.luniumpay.com/cashin/preview' \
  -H "X-API-Key: $LUNIUM_API_KEY" -H 'Content-Type: application/json' \
  -d '{"amount_cents":10000,"asset":"usdt","chain":"polygon"}'

curl --fail-with-body -sS 'https://api.luniumpay.com/catalog' \
  -H "X-API-Key: $LUNIUM_API_KEY"
```

Não coloque uma chave de produção no JavaScript público do navegador. A página de documentação usa somente o snapshot público, que não publica credenciais nem limites individuais de clientes.

## Como tratar erros sem entrar em repetição

| Situação | Tratamento |
|---|---|
| `valor_abaixo_do_minimo` | Leia `minimo_estimado_cents`, `min_brl_cents` ou `limits.min_amount`, se presentes. Ajuste o valor e recote. Não repita o mesmo valor indefinidamente. |
| `valor_acima_do_maximo` | Leia o teto e a unidade retornados. Confira também o pagador/recebedor e a política da chave. |
| `limite_do_pagador`, `limite_diario_recebedor`, `limite_diario` | Confira escopo e prazo. Não confunda cota diária com teto por ordem. |
| `mandate_valor_acima_do_teto` | Leia `limits` e a explicação da resposta: identifique o teto efetivo e a condição da chave/recebedor, sem assumir que basta elevar um número no cliente. |
| `rede_indisponivel`, `catalogo_indisponivel` | Releia o catálogo e preserve a rede escolhida. Não substitua a rede de uma carteira automaticamente. |
| `memo_obrigatorio` | Obtenha e envie o memo/tag correto da rede. Não substitua por zero ou um valor inventado. |
| `saldo_insuficiente`, `carencia_primeiro_deposito` | Verifique saldo disponível, taxas e carência; aumentar o valor não resolve. |

Ramifique por `erro` e `acao`, conforme o contrato; `detail` é texto para explicar ao usuário. Preserve `request_id` para diagnóstico. Se não houver limite numérico na resposta, não extraia um valor arbitrário do texto como regra permanente. Sandbox tem condições sintéticas e não comprova os limites de produção.

## Atualização, precisão e fontes

**Coleta concluída:** 15/10/2026 00:41:01 (UTC−3). **Catálogo de compra:** 15/10/2026 00:34:29 (UTC−3). **Catálogo de venda:** 15/10/2026 00:40:08 (UTC−3).

Cotação USDT usada apenas como referência: R$ 5,15. Não é cotação de todas as moedas.

O snapshot usa uma seleção explícita de campos dos catálogos autenticados. A rotina está programada para atualizar a cada hora. Se a coleta falhar, o último arquivo válido permanece com sua data original. `stale: true` no catálogo indica contingência; dado em cache não deve ser anunciado como uma cotação nova.

As tabelas, os dados embutidos e os arquivos Markdown de cada geração usam o mesmo snapshot. A data visível identifica os números exibidos; atualizar a página carrega a geração disponível. O catálogo autenticado e a resposta da sua operação prevalecem sobre esta fotografia pública.

Fontes: [referência da API](/), [OpenAPI](/openapi.json), [manual de integração](/manual), [catálogo público](/catalogo.json), [este guia em Markdown](/minimos.md) e [catálogo completo em Markdown](/limites-catalogo.md).

## Checklist da integração

- Diferenciar compra, venda, depósito em custódia e saque da custódia.
- Selecionar o par moeda/rede no catálogo correto; validar memo/tag quando exigido.
- Mostrar mínimo e máximo com unidade explícita: BRL, centavos ou quantidade de tokens.
- Exibir taxas, quantidade líquida estimada e se haverá retenção antes de confirmar.
- Aplicar o maior piso e o menor teto compatíveis, sem misturar moedas.
- Reconsultar a prévia ao alterar valor, moeda, rede ou condições da chave.
- Distinguir limite ausente, rota indisponível e operação sem valor válido.
- Na venda, depositar apenas após o aceite e com os dados retornados.
- Preservar idempotência ao repetir uma mesma operação; mudança de parâmetros exige seguir as regras de `external_id` da rota.
- Confirmar entrega/crédito/PIX pelos estados finais e reconciliar com os webhooks e consultas.
