Lunium.Developers
Navigate
Partner documentation

Minimums and networks per operation

Which assets and networks each operation accepts today, how much each network requires, and why a small amount is refused.

Read from the API on 2026-09-28 05:40 (UTC-3) · catalogo.json · OpenAPI · Manual

The three operations and the catalog of each

These are three different operations with three different catalogs. Copying one list into another is the most common mistake: the network we can deliver on is not the same one we can receive on.

OperationEndpointCatalog in chargeNetwork fieldBinding minimum
Buy: PIX → cryptoPOST /cashin/chargeGET /cashin/catalogchainthe network minimum, in the asset
Sell: crypto → PIXPOST /cash-outsGET /catalognetworkR$ 6.00 and, outside the fast rail, 6 units
Withdraw custody as cryptoPOST /saldo/sacar-criptoGET /cashin/catalogchainsame as buying

The field name differs between products and trips up integrations: buying and withdrawing use chain; selling uses network.

There are two minimums, not one

1. The account minimum, in BRL

It comes from your key's fees and exists only so the fixed fee does not eat the whole amount. It lives in GET /keys/me, field limits.per_operation.cashin.min_brl_cents. It is a low floor — R$ 1.00 on a key with no fixed fee — and it is rarely the one that refuses.

2. The network minimum, in the asset

Every network has its own withdrawal minimum and withdrawal fee at the exchange. To deliver the network minimum we must buy minimum + fee. That number is minBuyAmount in GET /cashin/catalog, denominated in the asset, and it is almost always the one that refuses. It changes on its own whenever the exchange changes its withdrawal fee.

The larger of the two wins. That is why a R$ 10.00 charge can be refused while /keys/me advertises R$ 1.00: the binding floor was the network's.

Buy: PIX → crypto

USDT and USDC are enabled. The table below is the live catalog read from the API itself: the minimum is denominated in the asset, and the BRL column uses the reference rate of R$ 5.29 per USDT with no fees. Your key's fees stack on top — see the calculator.

USDT

NetworkMinimum in the assetApprox. minimum in BRLETANote
bsc0.21 USDTR$ 1.20ate 2 min—
cfxevm1.01 USDTR$ 5.40ate 2 min—
arbitrum1.05 USDTR$ 5.60ate 2 min—
celo2.05 USDTR$ 10.90ate 2 min—
tron2.5 USDTR$ 13.30ate 2 min—
klay3 USDTR$ 15.90ate 2 min—
optimism3.0078 USDTR$ 16.00ate 2 min—
avalanche4.000074 USDTR$ 21.20ate 2 min—
polygon5.0065 USDTR$ 26.50ate 2 min—
ton8.017 USDTR$ 42.50ate 2 minmemo/tag required
eth8.094 USDTR$ 42.90ate 5 min—
plasma10 USDTR$ 52.90ate 2 min—
solana10.18 USDTR$ 53.90ate 2 min—

These networks come back with entregavel: false and are not offered for USDT: aptos, near, polkadot. The exchange supports them, but we cannot validate addresses on those families, and delivering to an address we cannot check loses the customer's money.

USDC

NetworkMinimum in the assetApprox. minimum in BRLETANote
arbitrum0.5033 USDCR$ 2.70ate 2 min—
polygon1.011 USDCR$ 5.40ate 2 min—
base1.1 USDCR$ 5.90ate 2 min—
optimism2.016 USDCR$ 10.70ate 2 min—
eth2.17 USDCR$ 11.50ate 5 min—
algo3 USDCR$ 15.90ate 5 minmemo/tag required
seievm3 USDCR$ 15.90ate 5 min—
avalanche5.00021 USDCR$ 26.50ate 2 min—
sonic5.01 USDCR$ 26.60ate 5 min—
bsc10 USDCR$ 53.00ate 2 min—
solana20.18 USDCR$ 106.90ate 2 min—

These networks come back with entregavel: false and are not offered for USDC: aptos, arc, polkadot, stark, sui, xdc. The exchange supports them, but we cannot validate addresses on those families, and delivering to an address we cannot check loses the customer's money.

DePix

DePix is delivered on the liquid network from our own wallet, starting at R$ 1.01. 1 DePix = R$ 1.00.

The complete catalog has 1,662 routes across hundreds of other assets. It comes from GET /cashin/catalog with your key.

Sell: crypto → PIX

Fast rail

USDT and USDC on Polygon use the fast rail: the PIX is paid within seconds and there is no crypto floor — only the per-operation minimum of R$ 6.00 applies. That is why 2 and 5 USDT orders on Polygon are accepted normally.

Other networks, through the exchange

On the other networks the crypto goes through the exchange and the catalog enforces a minimum of 6 units and a maximum of 200,000 units per asset. Below that the answer is valor mínimo: 6 USDT — the most common refusal while testing with small amounts.

In BRL the operation runs from R$ 6.00 to R$ 250000.00. The times below are how long the exchange takes to credit your customer's deposit; the PIX goes out after that.

USDT

NetworkConfirmations requiredTime until the exchange credits it
aptos12cerca de 1 min
plasma20cerca de 1 min
solana100cerca de 1 min
tron20cerca de 1 min
avalanche35cerca de 2 min
near100cerca de 2 min
cfxevm120cerca de 2 min
klay120cerca de 2 min
bsc61cerca de 4 min
polkadot40cerca de 4 min
eth96cerca de 20 min
arbitrum5000cerca de 21 min
optimism1800cerca de 1 h
celo2400cerca de 3h20

USDC

NetworkConfirmations requiredTime until the exchange credits it
aptos12cerca de 1 min
algo10cerca de 1 min
solana100cerca de 1 min
sui120cerca de 1 min
avalanche35cerca de 2 min
sonic60cerca de 3 min
bsc61cerca de 4 min
polkadot40cerca de 4 min
xdc100cerca de 5 min
arc240cerca de 12 min
seievm300cerca de 15 min
eth96cerca de 20 min
arbitrum5000cerca de 21 min
base1000cerca de 34 min
optimism1800cerca de 1 h
stark9000cerca de 7h30

DePix

DePix also sells, on its own rail: the customer sends DePix on the liquid network and the PIX goes out in about a minute. From R$ 1.02 to R$ 6000.00 per order, Lunium fee of 1.5% + R$ 1.00. Creating the order requires a Liquid refund_address and, when the PIX key is not a CPF/CNPJ, payee_tax_number.

The binding list is the networks field of GET /catalog. Memo networks stay out of selling even when they show up for buying: a deposit without a memo into a shared address has no owner.

Withdraw custody as crypto

Custody holds reais. At withdrawal you pick the asset and network, and the same catalog and the same minimums as buying apply — the table in section 3 holds here in full. Two differences: the amount goes in amount_cents (BRL to convert, not token quantity) and the balance must cover amount + fees, otherwise the answer is 402 saldo_insuficiente.

Why R$ 10.00 works in USDC and is refused in USDT

This is the most frequent question, and the answer is not the asset: it is the network. On Polygon the exchange requires 5.0065 USDT to withdraw USDT and only 1.011 USDC in USDC. Since the minimum is bought rather than requested, the same BRL amount passes in one asset and fails in the other.

Asset on PolygonNetwork minimumApprox. minimum in BRLDoes R$ 10.00 pass?
USDT5.0065 USDTR$ 26.50no
USDC1.011 USDCR$ 5.40yes

The reverse is also true: a cheap network today can get expensive tomorrow, because the withdrawal fee belongs to the exchange and changes without notice. Read the catalog before quoting, not once at integration time.

Where the API returns the minimum

None of the numbers on this page need to be copied into your code. All of them come back in the call itself:

SituationWhere to read it
Before charging, in the previewPOST /cashin/preview → min_brl_cents (this route's BRL minimum including your fees), network_min and withdraw_fee
The preview or the charge refused400 with erro: "valor_abaixo_do_minimo", acao: "corrigir" and minimo_estimado_cents — the BRL amount that would pass
Before sellingGET /catalog → min and max per asset; the refusal carries limits.min_amount already converted into the order's asset
Your key's limitsGET /keys/me → limits.per_operation
Without a key, to compare/catalogo.json in this documentation — the stablecoin slice, refreshed hourly
curl -s 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"}'

{ "asset":"usdt", "chain":"polygon", "amount":"...", "network_min":"5",
  "withdraw_fee":"0.0065", "min_brl_cents":2650, "eta":"ate 2 min" }

Your own minimum

The table above is the route floor with no fees at all. Your percentage fee and fixed fee stack on top, plus the partner sub fee when there is one. The formula is (floor + fixed fee) ÷ (1 − bps ÷ 10000). Enter yours to see what your key will refuse below.

AssetNetworkRoute floorYour minimum

An approximation, useful for sizing your UI. The value the API accepts is always min_brl_cents from the preview.