How long does a stablecoin payout take? Settlement times by country and rail

Stablecoin payouts settle in minutes on Pix, SPEI, RTP, and Transfers 3.0, and in 1 to 5 business days on ACH, SEPA, and SWIFT. Full table by rail.

A stablecoin payout takes as long as the local rail at the end of it. The on-chain leg settles in seconds to a couple of minutes. After that, the receiver gets funds instantly over Pix in Brazil, SPEI in Mexico, Transfers 3.0 in Argentina, and RTP in the US; in about one business day over TED, domestic wire, SEPA, and Colombian ACH; in about two business days over US ACH; and in up to five business days over SWIFT.

So "stablecoin payouts are instant" is half true. The stablecoin part is. The bank part is whatever the bank rail does.

Here's the full breakdown, with the rail-by-rail table, the steps that add time, and a few timelines you can reason about.

What are the settlement times by rail?

These are the estimated times of arrival for BlindPay payouts, by the type you set on the receiver's bank account.

CountryRailtypeEstimated arrivalRuns 24/7
BrazilPixpixInstantYes
BrazilPIX Safepix_safeInstantYes
BrazilTEDted~1 business dayNo
MexicoSPEIspei_bitsoInstantYes
ArgentinaTransfers 3.0transfers_bitsoInstantYes
ColombiaACHach_cop_bitso~1 business dayNo
United StatesRTPrtpInstantYes
United StatesDomestic wirewire~1 business dayNo
United StatesACHach~2 business daysNo
EuropeSEPAsepa~1 business dayNo
GlobalSWIFTinternational_swift~5 business daysNo

High transaction volumes can stretch any of these. SWIFT payouts have a 100 USD minimum and carry a UETR and an MT103 confirmation, so you can trace the wire. The live rail list is in the bank accounts docs.

What happens between "send" and "arrived"?

A stablecoin payout is four steps. Only one of them is slow, and it's rarely the blockchain.

  1. Quote (you control this). Request a quote, show the receive amount, confirm. A quote is valid for five minutes by default, sometimes less on SEPA.
  2. On-chain transfer (seconds to a couple of minutes). USDC or USDT moves from the funding wallet. Fast networks like Base, Polygon, Solana, and Stellar confirm in seconds.
  3. Compliance and conversion (usually seconds, sometimes a review). Screening runs on the payout. Most clear automatically. Some go to on_hold.
  4. Local delivery (the rail). This is the number in the table above.

Add them up and a Pix payout is minutes end to end. A SWIFT payout is days, and nearly all of that is SWIFT.

Why would a payout take longer than the table says?

Three reasons, in order of how often they show up.

Cut-off times. Banking rails have daily cut-offs. Submit after it and you're in the next business day's batch. In Eastern Time:

RailDaily cut-off (ET)Settlement after cut-off
ACH9:00 PM1 to 3 business days
Same-Day ACH3:00 PMSame business day
Domestic wire3:00 PMSame business day
International SWIFT10:30 AMUp to 5 business days
TED (Brazil)End of Brazilian banking daySame or next banking day

Business days exclude weekends, US federal holidays, and applicable international banking holidays. The full reference is in cut-off times.

Compliance holds. A payout can land in on_hold for review. At BlindPay, every SWIFT payout starts in on_hold, and USD ACH, wire, and RTP payouts pass through it too. Screening matches, unusually large amounts, and first-time activity can also trigger a hold. If compliance needs more information, it sends a request, and an unanswered request can end with the funds returned to the sender. Read on-hold transactions for how that works.

Bad bank details. A wrong account number or a closed account means the receiving bank rejects the payment. The payout ends failed or refunded. Stablecoin refunds go back to the originating wallet right away; fiat returns take as long as the receiving bank takes.

What do real timelines look like?

A few scenarios. On USD and SWIFT payouts, review time comes on top of the rail time.

Saturday, 11:00 PM, 5,000 BRL to Brazil over Pix. Quote, send, done. Reais land in minutes. Pix doesn't care that it's Saturday.

Tuesday, 2:00 PM ET, 20,000 MXN to Mexico over SPEI. Minutes. SPEI runs around the clock too.

Friday, 4:00 PM ET, 3,000 USD to a US bank account over domestic wire. That's after the 3:00 PM wire cut-off, so it goes out Monday and settles the same business day, plus any review time.

Friday, 4:00 PM ET, 3,000 USD over ACH. Before the 9:00 PM ACH cut-off, so it's submitted Friday. About two business days means Tuesday, plus any review time.

Wednesday, 9:00 AM ET, 25,000 USD to a supplier in Hong Kong over SWIFT. Before the 10:30 AM cut-off, starts in on_hold for review, then up to five business days on SWIFT, depending on the correspondent chain. Track it with the UETR.

Monday, noon, 2,000,000 COP to Colombia over ACH. About one business day, so Tuesday.

How does this compare with a traditional wire?

A SWIFT wire from a US bank to Brazil passes through one or two correspondent banks, each updating its own ledger and taking its own fee. That usually means 1 to 5 business days, and the receiving bank applies its own FX rate when the dollars arrive.

The same payment as a stablecoin payout over Pix settles in minutes, at a rate you saw before you sent it. For corridors with an instant local rail, the difference is days versus minutes. For corridors that still end in SWIFT, the difference is smaller on speed and bigger on traceability and quote certainty. We go deeper in stablecoins vs SWIFT for B2B payments, and on what "final" actually means in stablecoin API SLAs and settlement finality.

How should your product show payout timing?

A few things that save support tickets:

  • Show the ETA per rail, not per provider. "Arrives in minutes" for Pix, "about 2 business days" for ACH.
  • Treat on_hold as pending. Don't retry, don't show an error. It resolves to processing, completed, failed, or refunded.
  • Listen for webhooks. payout.update fires on every status change, including failed, and payout.complete fires when local currency is delivered.
  • Read expires_at from the quote. It's in epoch milliseconds. Don't hardcode five minutes.
  • Store the rail reference. On SWIFT, keep the UETR; your finance team will ask for it.

The full integration flow, with endpoints and statuses, is in how to integrate a stablecoin API.

Where does BlindPay fit?

BlindPay pays out USDC and USDT as local currency over every rail in the table above, with no pre-funding, a quote that locks the receive amount before you commit, and compliance screening inside the API. Payouts start from your own stablecoin wallet or from a virtual USD account that converts ACH, wire, and SWIFT deposits into stablecoins. Rails cover Brazil, Mexico, Colombia, Argentina, the US, Europe, and 100+ countries over SWIFT (POBO/COBO). Pricing is published.

What to do next

List your top three payout countries and look up each rail in the table. If any of them has an instant rail, that's the corridor to launch first. Then create a development instance, run a test payout, and use the sentinel amounts 66600 and 77700 to force failed and refunded so your UI handles the slow paths before real users hit them.

This article is for general information only and is not legal, tax, or financial advice.

FAQ