A natural FX hedge in Brazil is the match between the reais a company collects and the reais it pays out, so a rate move cancels on the matched amount and no derivative is needed. Sending Pix (Brazil's instant payment system) through USDC does not create that match. It changes the currency the leftover sits in, not how much is left.
What counts as a natural hedge for a company that earns reais
A company that sells in reais and pays payroll, rent, local suppliers and taxes in reais is already hedged on the overlap. If the real weakens, collections buy fewer dollars, but the costs were never in dollars. The exposure sits in the difference: reais you collect that no local cost absorbs, and dollar costs that no dollar revenue covers.
The match needs the same currency and close timing. Reais collected in March against reais owed in September is a currency match with a timing gap, and the gap is where the risk lives. The Central Bank's PTAX sell rate for the dollar ran from R$4.8973 (May 11, 2026) to R$5.5739 (December 29, 2025) between October 1, 2025 and October 30, 2026, and in 129 of the 267 rolling five-business-day windows in that period it moved 1% or more. A natural hedge works on cash exposure, the effect of a rate move on money you actually receive and pay. It does less for translation exposure, a foreign subsidiary's results restated in the parent's currency.
Why a Brazilian company holds dollars at all is covered in converting reais into USDC for treasury. This guide starts earlier, with how much of the money needs to change currency.
Does a Pix in, USDC, Pix out loop hedge anything?
No, not by itself. A loop that collects reais by Pix, holds USDC and pays reais out by Pix has two conversions and a dollar balance in the middle. The reais you owe are still reais, so while you hold dollars you are short reais.
What each step of the loop does to your exposure. The amounts are illustrative.
Step | What happens | Exposure after the step |
1. Collect | Customers pay reais by Pix | Long reais |
2. Convert | The reais become USDC at a quote | Long dollars, short reais if reais are owed next |
3. Hold | USDC sits in a wallet until the payout | Open: the rate can move against you |
4. Convert back | USDC becomes reais at a second quote | Flat in reais |
5. Pay | Pix lands in the supplier's bank account | Closed |
The USDC in step 3 is a dollar position. It is right if the next bill is in dollars. It is wrong if the next bill is in reais, because a stronger real between steps 2 and 4 means the dollars buy fewer reais than you owe. The match comes from netting your own reais before they enter the loop. The stablecoin rail only carries the part that has to cross.
On Lumx the loop is two separate transactions. The collection leg is a Pix payment into a named virtual account (a local account number issued in the customer's own name) that Lumx converts and delivers as USDC to the customer's wallet, which is the mechanism described in the on-ramp explainer. The payout leg is an off-ramp from the same wallet to a Pix destination, covered in the off-ramp explainer. Each leg converts at its own quote and carries its own receipt.
What the round trip costs next to netting first
Every conversion pays a margin, so reais that go into USDC and come back out pay it twice. Run one week of flows both ways. The first case is the structure where nobody nets, which is a company with no local account; a company that can net keeps the Pix leg local, and that is the second case. The 5.40 reais per dollar and the 0.5% margin per conversion are assumptions for the arithmetic, not a Lumx rate or price.
A company with no dollar revenue collects R$900,000 by Pix in a week. It pays R$650,000 of local payables, and it owes US$20,000 for cloud and software, which is R$108,000 at the assumed 5.40. That leaves R$142,000 of surplus.
One week of flows, converted gross and netted first. Illustrative margins of 0.5% per conversion.
Approach | Reais converted | Conversions paid | Cost at 0.5% each |
Gross, no local account: convert all R$900,000, then pay R$650,000 back out in reais | R$1,550,000 | 2 on the R$650,000, 1 on the rest | R$7,750 |
Net first: pay R$650,000 locally, convert only R$250,000 | R$250,000 | 1 | R$1,250 |
The difference is R$6,500 a week, 1.0% of the R$650,000 that went in and came back out. Over 52 weeks that is R$338,000, about half of one week's local payables. For a company that cannot net, that is the price of the structure. For one that can, it is the saving from keeping the Pix leg local.
To size the open amount, take the reais collected in a week and subtract the reais paid out and the dollar costs: R$900,000 minus R$650,000 minus R$108,000 leaves R$142,000. That surplus is what a forward or a faster conversion has to cover.
My recommendation to a finance team is to do the netting on paper before anyone opens an API reference: list a month of flows by currency and by week, then circle every real that arrived and left inside the same week. That circled number should have been netted, not converted. I would rather a client send us less volume than pay the margin twice, because the cheapest conversion is the one that does not happen.
Netting first needs a place to net. A company with a Brazilian entity and a local bank account can pay local payables from local reais and send only the surplus through the rail. A foreign company with no local entity collects and pays through the same account, so the round trip is the structure and the lever is time, covered next.
On Lumx, both legs of the round trip are visible after the fact. The receipt for a converted deposit carries the amounts, the exchange rate and the fees, and a webhook marks each leg as it completes, so the same reais going in and out show up in your records. Lumx does not charge a setup fee; how fees and FX on a locked quote add up is in how stablecoin payout pricing works.
How long the exposure stays open between the two legs
What is open is the amount you hold in dollars, for as long as the rate on it is not fixed. A locked quote fixes the rate for a window. Outside any window the rate floats, and you carry whatever the market does.
Where the exchange rate is fixed along the loop, with the Lumx lock windows from the docs.
Stage | Is the rate fixed? | Who carries a move |
Floating reference rate, no lock | No | You |
Locked quote, 30 seconds (free) or 1 or 5 minutes (fee) | Yes | Fixed for you inside the window |
Per-deposit collection on a locked quote | Yes, the quote's ID replaces the amount | Fixed for you inside the window |
Deposit through a standing autoconversion rule | The docs show no lock option | You |
USDC in the wallet between the legs | No | You, in dollars |
Pix payout landing | Already converted | Nobody |
The wallet row is the one to manage. The Lumx cut-off docs list Pix as instant, with no cut-off, 24/7/365, so the window is as short as you make it: shortest when the payout is triggered right after the deposit lands. Lumx publishes no end-to-end time for the whole loop (Pix in, conversion, stablecoin delivery, off-ramp), so this guide does not state one. Dollar rails are different: a USD payout over FEDWIRE has a 3:00 PM ET cut-off, and a request made after it waits for the next US business day.
Reais held in dollars times the percentage move is the gain or loss. On R$650,000, a 1% move is R$6,500, the same figure as the round trip at the illustrative margins above. When the payout can run inside the day, the round trip's margin is the main cost. When it will sit for days, the rate move is the bigger number, and it can go either way. Each leg of a stablecoin corridor has its own timing.
On Lumx you request a locked quote, choose a 30-second, 1-minute or 5-minute lock, and pass the quote's ID on the transaction. If the lock expires before the transaction is submitted, the ID stops working and you request a new quote. The payout and a per-deposit collection take a locked quote this way; a standing autoconversion rule always converts at the market rate.
Should you hold USDC or convert back to reais?
Hold USDC only against dollar costs. Convert back when the next outflow is in reais and no local reais can cover it.
What to do with collected reais, by what the company owes next.
Situation | Better move | Why |
Reais in, reais out, same entity, local bank account, similar timing | Pay locally, convert only the surplus | No conversion on the matched amount |
Reais in, dollar costs next (cloud, US vendors) | Collect into USDC and hold it | The dollars are needed anyway |
Reais in, reais out, no Brazilian account | Round trip, payout triggered right after collection, payout quote locked | Two margins, but the rate risk is shortest when the payout is triggered right after the deposit lands |
Dollars in, reais out | Convert per payout on a locked quote | One conversion, rate fixed per payment |
Reais in March, reais out in September | A natural hedge does not apply | The timing gap is too wide |
For companies that earn dollars and pay reais, see receiving USD payments in Brazil and automating corporate treasury with stablecoins.
On Lumx the wallet holds USDC between operations, so a customer can collect once and run several payouts against the balance. A payout larger than the wallet balance fails with an insufficient balance error. Live rates for the two directions are on the BRL to USDC and USDC to BRL pages.
When a natural hedge is the wrong tool
Flows months apart. Holding USDC for six months to bridge March and September turns a payment into a currency position, and a forward is the tool built for that.
Flows you cannot forecast. A marketplace whose payouts depend on next month's sales has no fixed amount to match, so convert close to the payment.
Reported earnings. Translating a subsidiary's results into the parent's currency is an accounting question, not something a payment rail changes.
One regulatory point belongs here. Article 3 of Law 14.286 of December 29, 2021 says foreign exchange operations may only be carried out through institutions authorized by the Central Bank of Brazil. Whether a conversion from reais into USDC is an FX operation or a virtual-asset transfer under Law 14.478/2022, with BCB Resolution 521/2025 defining the virtual-asset activity, depends on how the flow is structured. Stablecoin regulation in Brazil lays out both.
The instruments for the exposure that remains come from a bank or an FX broker: a forward, an option or a non-deliverable forward, which non-deliverable currencies covers for BRL. Lumx's part is the legs: collect, hold, convert and pay out.
What the two legs look like on Lumx
The business is onboarded as a customer with a BRL account in its own name, after the terms of service and KYB (know your business, the verification of a company and its owners). A BRL account becomes active right after the customer is approved, and a webhook says when it can receive. A foreign company can hold a named BRL account without a local entity in Brazil.
Lumx is stablecoin payments infrastructure for businesses that move money between Latin America and the rest of the world: one API to collect, hold, convert, and pay out in BRL, MXN, COP, USD, EUR, and GBP or in USDC and USDT, over local rails such as PIX, SPEI, PSE, Bre-B, ACH, FEDWIRE, SEPA, and Faster Payments, with SWIFT and on-behalf-of payments and collections (POBO and COBO) in USD, EUR, and GBP, plus named virtual accounts, custodial wallets, and KYB/KYC built in.
For the collection leg there are two modes. A standing autoconversion rule returns a static Pix QR code and converts every deposit paid through it, with no per-deposit call, which suits recurring collection. Each deposit through a rule must be worth at least 50 USD in the account's currency or it is not converted, and a rule always converts at the market rate, with no lock. A per-deposit on-ramp expects one known amount and returns a Pix code for it, which suits checkout, and it can take a locked quote. Either way the USDC lands in the customer's wallet, on Ethereum, Polygon or Base for USDC.
For the payout leg, the customer registers the supplier as a destination on the Pix rail and creates an off-ramp that debits the wallet. The transaction carries a purpose code, and a supplier invoice has its own. Pix payouts do not have a Lumx fee deducted from the amount that arrives; only the recipient's bank can charge them.
When the off-ramp runs, Lumx debits the wallet and sends the Pix to the registered destination, and the recipient sees the customer's name as the payer, not Lumx. Rail schedules and cut-offs are on the payment rail cut-off times page. Which currencies and rails are live for your customers is on the coverage page, and the wider set of products around the legs is under global payments.
Methodology and sources
Lumx product behavior comes from docs.lumx.io pages read on November 1, 2026. The R$ figures, the 5.40 rate and the 0.5% margin are assumptions, not Lumx prices. Law 14.286 of December 29, 2021 and Law 14.478 of December 21, 2022 were read on planalto.gov.br on September 24, 2026, for our stablecoin regulation guide; BCB Resolution 521/2025 is cited by number and year from that guide. The PTAX figures are the Central Bank's dollar sell rate from its Olinda PTAX service, October 1, 2025 to October 30, 2026, read on November 1, 2026.
Verified on November 1, 2026. Operational context, not legal, tax, or investment advice.
Cover photo: Antje Winkler on Unsplash.
What is a natural FX hedge in Brazil?
It is the match between the reais a company collects and the reais it pays out, so a currency move offsets itself on the matched amount without a forward or option. Lumx provides the Pix collection, the USDC wallet and the Pix payout, so a company can convert only the amount that has to change currency.
Do stablecoin payment rails create a natural hedge on their own?
No. A collection turns reais into a dollar stablecoin and a payout turns them back, so each leg is a conversion with its own quote. The hedge comes from matching your own flows first. On Lumx each leg is a separate transaction with its own rate and receipt, and a locked quote fixes the rate for 30 seconds, 1 minute or 5 minutes.
Is it expensive to collect reais by Pix and pay reais out through USDC?
It costs two conversions on the money that makes the round trip. On illustrative 0.5% margins, R$650,000 that goes in and comes back out costs about R$6,500. On Lumx there is no setup fee, and the receipt of each converted leg shows the amounts, the exchange rate and the fees.
How long can the exchange rate be locked between the two legs?
A lock covers one conversion, not the gap between two, so the exposure is the time the USDC sits in the wallet. Lumx offers locks of 30 seconds with no fee, and 1 minute or 5 minutes with a fee, and a payout above the wallet balance fails with an insufficient balance error.
When should I hold USDC instead of paying reais right away?
Hold it when the next outflow is in dollars. If the next bill is in reais, holding USDC leaves you short reais until the payout runs. On Lumx the wallet keeps the balance, so one collection can fund several payouts.





