Send USDC to a Mexican bank account: verify the recipient, quote in pesos, fund from a wallet, and confirm on SPEI. Recipient data, statuses, and failures.
To send USDC to a bank account in Mexico, onboard with a stablecoin payout API, add the recipient's CLABE and legal name, request a USDC to MXN quote, fund it from a wallet, and execute. The provider converts to pesos and delivers them over SPEI, which runs 24/7, so most payouts land in minutes.
That's the short version. The rest of this guide is the detail that decides whether the first payout works: what to collect from each type of recipient, what each SPEI status means, and where Mexican payouts fail.
Key takeaways
If you're new to the categories of APIs that do this, start with the types of stablecoin APIs. This guide assumes a payout API: one that takes stablecoins in and sends local currency out.
You need three things before any money moves: a verified sender, a verified recipient bank account, and USDC or USDT on a network the provider accepts.
The sender side is onboarding. A business completes KYB once, an individual completes KYC. Nothing in the Mexico corridor skips this.
The recipient side is where most teams under-collect. What you need depends on who you're paying, so build the form per recipient type instead of one generic "bank details" box.
| Recipient | Account identifier | Name to collect | Keep on file |
|---|---|---|---|
| Employee | CLABE | Full legal name on the account | Payroll record, RFC if finance needs it |
| Independent contractor | CLABE | Full legal name on the account | Contract and the invoice being paid |
| Supplier (company) | CLABE of the company's account | Legal company name, not the trade name | The supplier's invoice and its RFC |
| Family member (remittance) | CLABE, debit card, or phone number | Full legal name | Relationship and, if asked, source of funds |
| Your own Mexican entity | CLABE | The entity's legal name | Intercompany agreement |
Two details from that table trip teams up. First, a debit card or phone number only works with the receiving bank's institution code, so the form has to ask for the bank too. Second, the relationship matters to compliance. Payout APIs usually ask whether the account belongs to the sender, an employee, a contractor, or a supplier, and some run a name-match check only when you pay your own account.
The field-by-field anatomy of a CLABE, including the check digit math, is in what details you need to pay someone in Brazil or Mexico. Validate it client-side. It catches typos before they become returns.
You add the bank account once, then quote, fund, and execute each payout against it. The field names below come from BlindPay's API (bank accounts, payout quotes, payouts); other providers use similar objects with different names.
beneficiary_name, spei_protocol (CLABE, debit card, or phone), the identifier, and spei_institution_code when the protocol is card or phone. Validation runs the same way on development and production, so a malformed CLABE fails in testing.is_active: false instead of removing them.network and token. Set currency_type to receiver to fix the peso amount, or sender to fix the USDC amount. Set cover_fees: true if the recipient must get the full amount. Amounts are integers in minor units.payout.update fires on status changes and payout.complete fires when the payout reaches completed, failed, or refunded.Network choice is part of step 3. In this API's matrix, USDC payouts can be funded on networks including Ethereum, Polygon, Base, Arbitrum, Stellar, and Solana, and USDT on Ethereum, Polygon, Solana, and Tron. USDT isn't available on Base, Arbitrum, or Stellar, and USDC isn't on Tron. The full matrix is in supported chains. The recipient never sees any of this. They get pesos.
Once the provider releases the transfer, SPEI settles it between the two banks in real time, and the receiving bank credits the account.
Banco de México runs SPEI as a real-time settlement system on a 24/7 schedule. Its user guide cites Notice 17/2010: a SPEI payment should not take more than 30 seconds after approval. That's why "minutes" is a fair ETA for the whole payout, and why a Friday night payout lands like a Tuesday morning one.
Your provider's status is the first thing to check. When you need the bank-level view, Banxico's MI-SPEI service reports these states:
| SPEI status | What it means | What to do |
|---|---|---|
| Being processed | SPEI received the order, money not yet deposited | Wait. This normally clears in seconds |
| Liquidated | SPEI settled it; the receiving bank can credit the account | Send the recipient the tracking key |
| Cancelled | The sending bank cancelled before the money moved | Check the payout status with your provider |
| Rejected | SPEI rejected it for errors or inconsistent data | Fix the account data, then send a new payout |
| Undergoing return | The receiving bank is sending the money back | Don't resend yet; wait for the return to finish |
| Returned | The money is back with the sender | Confirm the account details, then resend |
| Cancelled at the close | Not authorized before SPEI's close of operations | Check with your provider before resending |
| Not found | No SPEI record matches the search | Recheck the date, key, and amount you searched |
"Liquidated" is the state that matters for disputes. From there, the recipient's bank has the money, and a CEP can prove it.
You prove it with the CEP, the electronic payment receipt Banco de México issues from the receiving bank's confirmation.
According to Banxico, the CEP can take up to 30 minutes after the deposit to become available, and it can be looked up for SPEI payments from the last 45 working days. The lookup needs the date, the tracking key or reference, the sending and receiving banks, the receiving account, and the amount. Download it at Banxico's CEP page. The CEP comes as a PDF and an XML file with a digital seal, so an auditor can validate it.
Practical rule: store the tracking key on your payout record the moment you have it. A recipient who says "I didn't get it" gets a CEP link, not a support ticket. How to track an off-ramp payout covers the same idea across every rail.
Most failures come from recipient data, not from SPEI. Here are the eight that show up most, with the fix.
failed means refunded. It doesn't. Here, refunded means the stablecoins went back to the funding source; failed does not refund automatically, so contact support.On references: Banxico's guide says the payment description that reaches the payee runs up to 40 characters. Whatever your provider passes through, put the invoice or payroll ID at the front.
The steps are the same for everyone; the quote settings and records change by use case. These are illustrative scenarios, not customer stories.
| Use case | Illustrative scenario | Quote setting | Record to keep |
|---|---|---|---|
| Contractor payroll | A US startup pays 40 engineers in Guadalajara every two weeks | Fix the peso amount, sender covers fees | Contract and invoice per contractor |
| Supplier payments | An importer pays a Monterrey manufacturer a MXN invoice | Fix the peso amount to match the invoice | Supplier invoice and RFC |
| Marketplace payouts | A platform pays out weekly seller balances | Fix the USDC amount, fees from the payout | Seller ledger entry per payout |
| Remittance | An app lets US users send pesos to family | Show the peso amount before confirming | Sender KYC and relationship |
Payroll is the clearest case for fixed-receiver quotes: contractors expect a round peso number, not whatever is left after fees. Stablecoin payroll for LATAM contractors goes deeper on that flow.
Mexico regulates financial technology and virtual asset activity under its 2018 Fintech Law, with Banco de México and the CNBV as the main authorities, and the SAT handles tax. Paying from a stablecoin balance doesn't change the recipient's tax treatment or your payroll and supplier obligations; it changes how the pesos get there.
The rules for converting USDC to pesos, and the stablecoin bill introduced in the Senate in May 2026, are covered in USDC to MXN routes compared. Confirm your specific obligations in Mexico with qualified counsel before launching a corridor.
Score each provider on eight criteria, and test the ones you can in a sandbox instead of asking.
| Criterion | What to test | Red flag |
|---|---|---|
| SPEI protocols | Can you pay to CLABE, debit card, and phone? | CLABE only, with no plan for the rest |
| Validation | Does a bad CLABE fail at bank account creation? | It fails days later as a return |
| Quote control | Can you fix the peso amount and choose who pays fees? | Only sender-side amounts |
| Funding networks | Is your token supported on the network you hold it on? | One chain, or USDC only |
| Pre-funding | Do you need a peso balance parked in Mexico? | A float that grows with volume |
| Status detail | Do webhooks separate conversion from bank delivery? | One "pending" until "done" |
| Tracking reference | Do you get a reference you can take to Banxico's CEP lookup? | No rail reference exposed |
| Refund rules | What happens to the stablecoins when a payout can't complete? | No written answer |
BlindPay pays out pesos over SPEI to a CLABE, debit card, or phone number, funded with USDC or USDT from a managed wallet or a wallet you control, with no pre-funded peso balance. KYC, KYB, and sanctions screening run inside the payout flow. The same API also pays out over Pix, ACH, RTP, SEPA, and SWIFT (POBO/COBO), and SDKs for Node.js, Python, Go, PHP, and Swift wrap it.
For the Brazil version of this walkthrough, see how to send USDC to a bank account in Brazil. Then send a test payout to a CLABE on a free development instance with the payout quickstart, and check today's rate on the USDC to MXN page.
This article is general information, not legal or tax advice.
Seven places blockchain payments beat bank rails: contractor payroll, remittances, B2B suppliers, marketplaces, 24/7 treasury, bill pay, and PSP payouts.
AP2, ACP, and x402 each verify that an AI agent had permission to spend. Here is what every protocol covers, who backs it, and the reconciliation gap none of them close.
Seven stablecoin payment platforms compared for US fintechs in 2026: what makes an API production-ready, how each provider handles compliance, settlement speed against ACH, and how to run the evaluation.