Where is my off-ramp payout? How to track it rail by rail, and what to tell the recipient

Track an off-ramp payout from transaction hash to bank: the reference each rail gives you (Pix E2E ID, SPEI key, ACH trace, UETR) and status copy.

To track an off-ramp payout, follow the stablecoin leg by its transaction hash and the fiat leg by the reference its rail assigns: the end-to-end ID on Pix, the clave de rastreo on SPEI, the trace number on ACH, the IMAD on Fedwire, the UETR on SWIFT, or the end-to-end ID on SEPA. The provider's status shows which stage the payout is in.

Most "where is my money" tickets get solved by handing over the right reference. Here's which one, and when.

Key takeaways

  • Every off-ramp payout has two trackable halves: an on-chain transfer and a bank payment.
  • Each rail has its own reference. The recipient's bank can find a payment in minutes with it, and in days without it.
  • Statuses tell you the stage. On hold is a review, not an error, and completed means the money reached the rail, not that the recipient checked their app.
  • Write status copy per stage and per rail before launch. Support teams answer the same five questions all day.

What are the stages of an off-ramp payout?

Seven stages, and a recipient-facing message for each. The statuses are BlindPay's, from the payouts reference. Other providers use similar names.

StageWhat's happeningProvider status and eventWhat to tell the recipient
Quote acceptedRate and fees locked for a few minutesQuote created"Your payment of R$5,000.00 is confirmed at this rate."
Stablecoins collectedFunds pulled from the sender's walletprocessing, payout.new"We've received the funds and started your transfer."
Compliance reviewPayout held for screening or documentson_hold, payout.update"Your payment is being reviewed. No action needed unless we contact you."
ConvertingStablecoins converted to local currencyprocessing"We're converting your payment to reais."
Sent to the bankPayment submitted to Pix, SPEI, ACH, SEPA, or SWIFTprocessing, payout.update"Your payment is on its way to your bank. Expected: within minutes."
SettledPayment reached the receiving bankcompleted, payout.complete"Paid. Reference: E2E ID E1234..."
ReturnedStablecoins sent back instead of convertingrefunded, payout.complete"The bank couldn't accept this payment. Please check your account details."

Two statuses need care. A failed payout fires payout.update, not payout.complete, and at BlindPay it doesn't refund automatically. And on_hold isn't a failure, so never show it in red. The payout statuses explainer covers which statuses are final and why.

Each BlindPay payout also carries tracking objects (tracking_transaction, tracking_liquidity, tracking_payment, tracking_complete) whose step moves through processing, on_hold, pending_review, and completed. They're what lets you split "converting" from "sent to the bank" in your own UI.

Which reference does each rail give you?

RailReferenceFormatWhere it's checked
BlockchainTransaction hashHex or base58 string, per chainBlock explorer: Etherscan, Polygonscan, Basescan, Arbiscan, Solscan, Tronscan, StellarExpert
Pix (Brazil)End-to-end ID (E2E ID)32 alphanumeric charactersRecipient's bank app or statement
SPEI (Mexico)Clave de rastreoUp to 30 alphanumeric charactersBanxico's CEP lookup
ACH (US)Trace number15 digits, assigned by the originating bankRecipient's bank
Fedwire (US)IMADInput Message Accountability DataRecipient's bank
SWIFTUETR36-character unique identifierAny bank in the chain, through Swift gpi tracking
SEPAEnd-to-end IDUp to 35 characters, set by the senderRecipient's bank

A few notes from the field.

Pix. The E2E ID identifies the payment across the whole Pix system. If something goes wrong, it's also what the recipient's bank needs for a devolução (refund). The Central Bank's MED guide sets the rules for fraud-related returns, including an 80-day window from the original payment.

SPEI. The clave de rastreo is the most useful reference in Latin America, because anyone can check it. SPEI runs 24/7, so payouts settle at any hour.

SWIFT. Cross-border SWIFT payments moved to ISO 20022 messages when the coexistence period with the old MT format ended in November 2025, and the UETR carries over. With it, the recipient's bank can see which correspondent is holding the payment and why. BlindPay's SWIFT (POBO/COBO) payouts carry UETR tracking and MT103 confirmations, which recipients' finance teams and auditors already know how to read (how POBO/COBO works).

How do you check a SPEI payment yourself?

Mexico is the one rail where the sender can verify settlement without the recipient's bank.

  1. Go to banxico.org.mx/cep.
  2. Enter the date of the transfer.
  3. Enter the clave de rastreo, or the reference number.
  4. Select the sending bank and the receiving bank.
  5. Enter the recipient's CLABE and the exact amount.
  6. Download the CEP (Comprobante Electrónico de Pago).

The CEP is built from the receiving bank's information, which is why recipients and auditors accept it. It's the best answer to "I didn't get it" on a SPEI payout.

What does BlindPay return for tracking?

Statuses and webhooks for every payout, plus the rail references that the rail provides. Per the POBO/COBO guide, these arrive on GET /payouts/{id} and on the payout.complete webhook:

Railprovider_uetrprovider_imadprovider_referenceprovider_clearing_system
International SWIFTYesNoNoSWIFT
Domestic wireYesYesSometimesFED or CHIPS
ACHNoNoSometimesACH

provider_uetr stays null while the payment is in flight and fills in once the wire is confirmed. provider_reference is a bank-side booking reference, not the formal ACH trace number, so don't hand it to a bank as one.

SWIFT payouts add one more object. They start on_hold until compliance documents are approved, and tracking_documents reports progress from waiting_documents to compliance_reviewing (SWIFT statuses). Documents must be submitted within 30 days of payout creation.

How should support answer "where is my money"?

Work from the status, in this order.

  1. processing longer than the rail's normal time. Check which tracking object is still open. A stuck tracking_payment with a business-day rail usually means a cut-off was missed. The settlement times by rail give the normal window.
  2. on_hold. Tell the recipient it's under review. Don't retry. Answer any request for information within hours, since an unanswered one can end in a refund (on-hold transactions).
  3. completed, recipient says no. Send the rail reference. The recipient's bank finds the payment with it, then credits it or explains the delay.
  4. refunded. The stablecoins went back to the funding source. Fix the bank details, usually a name or account number problem, and send a new payout with a new quote.
  5. failed. At BlindPay this doesn't refund automatically. Open a ticket with support instead of waiting.

Keep every reference in your own ledger next to the payout ID. Finance asks for them months later, during reconciliation. The webhooks and reconciliation guide shows how to store events so they don't get processed twice.

How should status copy read?

Short, specific, and per rail.

  • Give the ETA for the rail, not the provider. "Within minutes" for Pix and SPEI. "One to two business days" for ACH.
  • Say what the recipient can do. Usually nothing, until a reference exists.
  • Show the reference as soon as you have it. E2E ID, clave de rastreo, UETR.
  • Don't say "instant" before settlement. Say it after.
  • Never show a review as an error. Grey or neutral, not red.

The payout mistakes guide lists the errors that cause most returns in the first place.

How does BlindPay help you track payouts?

BlindPay reports every payout through statuses, tracking objects, and webhooks, from the moment the stablecoins are collected to the moment local currency lands. SWIFT and domestic wire payouts carry the UETR, wires carry the IMAD, and SWIFT compliance progress shows up in tracking_documents. Start with the payouts reference, then wire payout.update and payout.complete into your status page.

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

FAQ