Paying contractors in Latin America with stablecoins means holding dollars as USDC or USDT and paying each person either in the token or in their local currency over their country's own rail, in one run, from one balance. It removes the correspondent banking chain from a payroll that used to need one wire per person per month.
The reason companies move to it is rarely the fee. It is that a wire to a contractor in Bogota takes days and arrives short, while the contractor cannot tell you why. This guide covers the decision each contractor has to make, the data you need before the run, how a run actually executes, the timing, the costs, and the parts of contractor payroll that no payment product solves for you.
Start by deciding what each contractor receives
There are two products hiding inside "pay in stablecoins" and they have different consequences.
Pay the token. The contractor receives USDC or USDT to their own wallet address and decides for themselves when and where to convert. This suits people in countries with currency controls or high inflation, and it makes the payment final the moment it confirms.
Pay local currency. You send from a stablecoin balance and the contractor receives reais, pesos or Colombian pesos in their bank account, over Pix (Brazil's instant payment system, run by the Central Bank), SPEI (Mexico's interbank transfer system, run by Banxico) or a local transfer. The contractor never sees a token, which is the point for most people. The mechanics of that conversion are in the off-ramp explainer.
Most teams end up with both, per person, and the mistake is deciding for the contractor. Someone in Buenos Aires may want the token; someone in Sao Paulo almost certainly wants reais in their account today.
Collect the right data per country, once
The failure mode of contractor payroll is not the money. It is a spreadsheet of banking details assembled by twenty people who each interpreted the fields differently.
Brazil. Bank code, branch, account, account type, plus the holder's CPF (the Brazilian individual taxpayer ID) or, for a contractor billing through a company, the CNPJ (the Brazilian company taxpayer ID). A Pix key works in place of the account details. The tax ID has to match the account holder or the credit is refused.
Mexico. The CLABE (the 18-digit Mexican bank account number) and the beneficiary name as the bank holds it.
Colombia. Bank, account number, account type, and the national ID number of the holder.
Token payments. The wallet address and, separately, the network. An address that works on one network is not an instruction about which network to use, and this is where money gets stranded.
Collect it through a form that validates as it is typed, not through a message thread, and revalidate when someone changes bank. A provider that checks the destination when you register it turns a payday problem into a Tuesday problem.
What a run looks like
Fund the balance. Convert your operating dollars into USDC or USDT once for the whole run, rather than per person, so the whole payroll prices at one rate.
Quote and lock. Ask for the local currency amount per destination. If your contracts are denominated in dollars, the person is owed a dollar amount and the local figure follows the rate. If they are denominated in local currency, you need the reverse quote and the rate risk is yours.
Submit the payments. Each payment is its own call, with its own destination, amount and reference, and the calls run in parallel. Partial success is normal and healthy: one rejected destination should not hold the other forty.
Watch the exceptions. The run is not finished when the last call is accepted. It is finished when every payment has settled or been explicitly returned with a reason.
Reconcile against the references. Each settled payment should return the local rail's own identifier, such as the Pix end-to-end ID, so that a contractor claiming they were not paid is a lookup and not an argument.
The thing I underestimated about contractor payroll is that it is an emotional product. The first month we ran a large one, two payments held for a compliance check and I treated it as a queue item, because from where I sat it was two out of sixty and both would clear the next morning. What I had not thought about was that on the contractor's side there is no queue, there is rent. One of them had already written to the client twice by the time we got to it. Since then the rule on our side is that a held payroll payment gets a reason within the hour and the client hears it from us before the contractor hears it from their bank, and I would rather send an awkward message early than a correct one late.
Timing, and the cadence problem
Pix and SPEI settle in seconds, at any hour, weekends included. Colombian transfers and most other rails follow banking hours. The stablecoin leg settles in seconds to minutes depending on the network.
The part that actually bites is the calendar. Payroll runs on a date, and dates land on weekends and on local holidays that your calendar does not have. Brazil, Mexico and Colombia do not share holidays with each other or with you. Fund the balance the day before, not the morning of, and if a contractor is paid on the last business day of the month, decide in advance whether that means their business day or yours.
The other cadence question is compliance. A payment to a new destination gets more scrutiny than the fortieth payment to the same one, so onboard contractors before their first payday rather than on it, which means running KYB (know your business, the verification of a company and its owners) and the identity checks on individuals in the week you sign them. The KYB explainer lists what is usually asked for.
What it costs and who pays it
The network fee on any token payment, which is cents on low fee networks and dollars on Ethereum during congestion. For a sixty person payroll this is a line worth caring about.
The spread between the quote and the mid-market rate on every local currency payment. This is the real cost of the run and it is per corridor, not per company. The USDC to BRL and USDC to MXN pages carry the live rates for the two we run most, and the coverage page lists the rails per country.
The receiving side. Some banks charge to receive; some do not. Contractors notice when a fee appears on their end, so say in the contract who absorbs it.
Compared with a wire per person per month, the saving is usually less about the headline fee and more about the deductions in transit that nobody could predict and the hours someone spent chasing them.
What paying in stablecoins does not solve
It does not decide whether someone is a contractor. Worker classification is a legal question in each country, it is yours and your counsel's, and paying over a faster rail does not change the answer.
It does not produce local tax documents. What a contractor owes and files where they live is theirs, and what you must report is a question for your accountant in your jurisdiction.
It does not replace a contract. The invoice, the scope and the currency of denomination still have to exist, and the payment reference should point back to them.
It does not make you a licensed payments business. Paying out in local currency is a regulated activity, which is why the provider in the middle holds the authorization: a money services business registration with FinCEN in the United States, and its equivalent per country elsewhere.
Paying contractors on Lumx
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, 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.
On the global payments API a payroll run is a set of payouts from one custodial wallet to destinations that were validated when they were registered, so a mismatched tax ID is rejected at registration rather than on payday. Each payout emits its own events, which means a run reports per payment instead of as a single pass or fail, and each settled payment returns the local rail's reference. Contractors who want the token and contractors who want local currency are the same call with a different destination type.
Verified on September 25, 2026. Operational context, not legal, tax, or investment advice.
Cover photo: Mike Hindle on Unsplash.
Is it legal to pay contractors in stablecoins?
Paying in a stablecoin is a commercial arrangement between you and the contractor, and what governs it is the contract plus the rules of the country where the contractor lives. The regulated part is the conversion and the local payout, which is why that leg runs through an authorized provider rather than through you.
Should I pay in dollars or in local currency?
Ask each contractor. People in high inflation or capital control environments frequently prefer the token, while people with ordinary local banking prefer their own currency in their own account. Denominate the contract in one currency and be explicit about who carries the rate movement.
How do I handle a contractor whose payment was rejected?
Look at the return reason before resending. The common causes are a tax ID that does not match the account holder, a bank account that was closed, or a Pix key that moved to another bank. Fix the destination data and resend rather than paying around the problem.
Can I run one payroll across several countries?
Yes, and the run should report per payment rather than as a whole. A destination in Mexico failing validation is not a reason to hold the payments to Brazil, and a provider that fails the entire batch on one bad row turns a data error into a missed payday.





