[{"data":1,"prerenderedAt":706},["ShallowReactive",2],{"content-\u002Fresources\u002Fmore\u002Fhow-a-stablecoin-payin-works-step-by-step":3,"resources-category-how-a-stablecoin-payin-works-step-by-step":691},{"title":4,"seoTitle":5,"description":6,"date":7,"updated":8,"category":9,"faq":10,"howto":29,"body":53},"How a stablecoin payin works step by step (ACH, wire, SWIFT, and Pix to USDC)","How a stablecoin payin works: ACH, wire, Pix to USDC","How does a stablecoin payin work? Follow eight steps from bank transfer to USDC in a wallet, with timing by rail, checks, webhooks, and failure cases.","2026-10-19",null,"payments",[11,14,17,20,23,26],{"q":12,"a":13},"How does a stablecoin payin work in simple terms?","A customer sends a normal bank transfer to details you give them. The provider detects the deposit, checks it, converts the money to a stablecoin such as USDC, and sends it to the wallet you chose. Your system gets webhooks as each step changes, so you do not have to poll.",{"q":15,"a":16},"How does ACH to USDC work?","The payer sends an ACH transfer to a virtual account or to the instructions on a payin. When the ACH funds arrive, the provider converts the dollars to USDC and delivers them on-chain. ACH itself can take days, so the delay is usually the bank rail, not the blockchain.",{"q":18,"a":19},"How long does a stablecoin payin take?","It depends on the rail. BlindPay's docs show an arrival window of up to 5 business days for ACH and wire, and typically minutes for Pix, SPEI, Transfers, and PSE. Standard ACH is 1 to 3 business days in general. On development instances, payins complete in about 30 seconds.",{"q":21,"a":22},"What checks happen before the money is converted?","The customer passes KYC or KYB first. For virtual accounts, a compliance and bank review comes before the account is active. After that, transaction monitoring can flag a deposit and put it on hold for review. A held payin can ask for more information, and may be refunded.",{"q":24,"a":25},"Can a stablecoin payin fail or be refunded?","Yes. BlindPay payins end as completed, failed, or refunded. A deposit that never arrives can end as failed. A deposit held for review can end as refunded to the sender. Use the sandbox amounts of 666.00 and 777.00 USD to test both outcomes before launch.",{"q":27,"a":28},"What does my system receive at each step?","Webhooks: payin.new when a payin is created, payin.update when it moves through a step like an arrival check or review, and payin.complete when it finishes. Each payload has a status field and tracking objects. Read the status, not just the event name, because completion events can cover failed and refunded.",{"name":30,"steps":31},"How a stablecoin payin works from bank transfer to wallet",[32,35,38,41,44,47,50],{"name":33,"text":34},"Verify the customer","Have the customer accept the provider's terms and complete KYC or KYB. Wait for an approved status before you ask for deposit details.",{"name":36,"text":37},"Create the deposit destination","Create a virtual account for repeat deposits, or request a payin quote for a single payment, and link the wallet that will receive the stablecoin.",{"name":39,"text":40},"Share the deposit details","Show the payer the account number, memo code, Pix code, or other instructions returned by the API for their rail.",{"name":42,"text":43},"Let the payer send the transfer","The payer sends a normal bank transfer or Pix payment. Nothing crypto-related happens on their side.",{"name":45,"text":46},"Wait for detection and checks","The provider detects the deposit, runs transaction monitoring, and may hold it for review. Track the payin status and tracking steps.",{"name":48,"text":49},"Convert and deliver the stablecoin","The provider converts the deposit to USDC or USDT and sends it to the wallet you chose.",{"name":51,"text":52},"Handle webhooks and reconcile","Verify each webhook signature, dedupe by message ID, update your ledger on the status field, and compare payins with your records daily.",{"type":54,"value":55,"toc":679},"minimark",[56,60,65,89,103,107,110,162,170,174,182,291,298,302,305,341,344,347,361,435,472,479,483,486,537,555,559,562,608,612,673],[57,58,59],"p",{},"A customer sends a bank transfer to a virtual account, the provider screens and converts the deposit to a stablecoin, and the stablecoin arrives in the wallet you choose, with a webhook telling your system at each step. BlindPay runs this flow for ACH, wire, SWIFT, Pix, and other rails.",[61,62,64],"h2",{"id":63},"key-takeaways","Key takeaways",[66,67,68,72,75,78,86],"ul",{},[69,70,71],"li",{},"The payer does a normal bank transfer. The provider handles the conversion and the on-chain delivery.",[69,73,74],{},"The slow part is usually the bank rail, not the blockchain.",[69,76,77],{},"Checks happen at onboarding, at account review, and during transaction monitoring.",[69,79,80,81,85],{},"Webhooks report each step. Read the ",[82,83,84],"code",{},"status"," field to know the real outcome.",[69,87,88],{},"Test failed and refunded payins in the sandbox before you go live.",[57,90,91,92,97,98,102],{},"For the concepts first, see ",[93,94,96],"a",{"href":95},"\u002Fresources\u002Fmore\u002Fwhat-is-a-stablecoin-payin-api","what a stablecoin payin API is"," and ",[93,99,101],{"href":100},"\u002Fresources\u002Fmore\u002Fvirtual-accounts-for-stablecoin-payins","virtual accounts for stablecoin payins",".",[61,104,106],{"id":105},"what-are-the-steps-from-bank-transfer-to-stablecoin-in-a-wallet","What are the steps from bank transfer to stablecoin in a wallet?",[57,108,109],{},"There are eight steps from a verified customer to a delivered stablecoin. A stablecoin is a digital token built to hold a steady value, like one US dollar. A wallet is an address on a blockchain that holds tokens.",[111,112,113,120,126,132,138,144,150,156],"ol",{},[69,114,115,119],{},[116,117,118],"strong",{},"Customer verified."," The customer accepts the provider's terms and completes KYC (know your customer) or KYB (know your business).",[69,121,122,125],{},[116,123,124],{},"Virtual account created."," You create a virtual account for repeat deposits, or request a payin quote for one payment. You link the wallet that will receive the stablecoin.",[69,127,128,131],{},[116,129,130],{},"Deposit details shared."," You show the payer the account number, memo code, Pix code, or other instructions.",[69,133,134,137],{},[116,135,136],{},"Customer sends the transfer."," The payer uses their own bank app. They do not need a crypto wallet.",[69,139,140,143],{},[116,141,142],{},"Deposit detected."," The provider sees the funds arrive and creates or updates the payin.",[69,145,146,149],{},[116,147,148],{},"Compliance screening."," Transaction monitoring checks the deposit. A flagged deposit goes on hold for review.",[69,151,152,155],{},[116,153,154],{},"Conversion to USDC or USDT."," The provider converts the fiat to the stablecoin at the quoted rate.",[69,157,158,161],{},[116,159,160],{},"Delivery and webhook."," The stablecoin is sent to the chosen blockchain wallet, and a webhook tells your system.",[57,163,164,165,169],{},"In BlindPay's quote-based flow, the quote locks the amount, fee split, and destination for 5 minutes, and you create the payin before it expires. Once created, a payin cannot be canceled. See ",[93,166,168],{"href":167},"\u002Fdocs\u002Fpayins","Payins",". A virtual account skips the quote: each deposit creates a payin automatically.",[61,171,173],{"id":172},"how-long-does-each-rail-take-ach-same-day-ach-wire-swift-pix","How long does each rail take (ACH, same-day ACH, wire, SWIFT, Pix)?",[57,175,176,177,181],{},"Each rail has its own clock. The table shows typical timing for the rail in general. It is typical for the rail, not a BlindPay commitment. Settlement windows and cut-offs come from BlindPay's ",[93,178,180],{"href":179},"\u002Fdocs\u002Fkb\u002Fcut-off-times","cut-off times"," reference, which describes the networks, not BlindPay's end-to-end time.",[183,184,185,204],"table",{},[186,187,188],"thead",{},[189,190,191,195,198,201],"tr",{},[192,193,194],"th",{},"Rail",[192,196,197],{},"Typical timing for the rail",[192,199,200],{},"Cut-off (ET)",[192,202,203],{},"BlindPay arrival window",[205,206,207,222,236,247,260,277],"tbody",{},[189,208,209,213,216,219],{},[210,211,212],"td",{},"ACH",[210,214,215],{},"1 to 3 business days",[210,217,218],{},"9:00 PM",[210,220,221],{},"Up to 5 business days",[189,223,224,227,230,233],{},[210,225,226],{},"Same-day ACH",[210,228,229],{},"Same business day",[210,231,232],{},"3:00 PM",[210,234,235],{},"Not listed separately",[189,237,238,241,243,245],{},[210,239,240],{},"Domestic wire",[210,242,229],{},[210,244,232],{},[210,246,221],{},[189,248,249,252,254,257],{},[210,250,251],{},"International SWIFT",[210,253,221],{},[210,255,256],{},"10:30 AM",[210,258,259],{},"Requires an approved virtual account",[189,261,262,265,268,271],{},[210,263,264],{},"Pix (Brazil)",[210,266,267],{},"Typically minutes",[210,269,270],{},"Not applicable",[210,272,273,274],{},"BlindPay waits up to 30 minutes before marking a non-OTC payin ",[82,275,276],{},"failed",[189,278,279,282,284,286],{},[210,280,281],{},"SPEI (Mexico)",[210,283,267],{},[210,285,270],{},[210,287,288,289],{},"Waits up to 30 minutes before marking ",[82,290,276],{},[57,292,293,294,102],{},"Requests after a cut-off are processed the next business day. Business days exclude weekends and holidays. Bre-B deposits in Colombia are final in seconds. On a development instance, every payin completes about 30 seconds after creation. For a longer guide by rail, read ",[93,295,297],{"href":296},"\u002Fresources\u002Fmore\u002Fhow-long-does-a-stablecoin-onramp-take","how long a stablecoin on-ramp takes",[61,299,301],{"id":300},"what-checks-happen-before-funds-are-converted","What checks happen before funds are converted?",[57,303,304],{},"Three layers of checks happen before a stablecoin reaches the wallet. The first is customer verification. The second is account review for virtual accounts. The third is transaction monitoring on the deposit itself.",[66,306,307,313,327],{},[69,308,309,312],{},[116,310,311],{},"Customer verification."," KYC Standard for individuals is automated and typically completes in about 60 seconds. Higher-risk countries need KYC Enhanced with manual review. Businesses complete KYB.",[69,314,315,318,319,322,323,326],{},[116,316,317],{},"Virtual account review."," In production, a virtual account starts in ",[82,320,321],{},"pending_review"," for a compliance review, then moves to ",[82,324,325],{},"verifying"," for the bank. Either stage can reject.",[69,328,329,332,333,336,337,102],{},[116,330,331],{},"Transaction monitoring."," BlindPay's monitoring system can flag a payin as suspicious and hold it. The payin shows ",[82,334,335],{},"on_hold",". Compliance may send a Request for Information, and if it is not answered within 24 hours the transaction may be refunded to the sender. See ",[93,338,340],{"href":339},"\u002Fdocs\u002Fkb\u002Fon-hold-transactions","on-hold transactions",[57,342,343],{},"For SWIFT, BlindPay requires an approved virtual account. There is no memo-code fallback.",[61,345,27],{"id":346},"what-does-my-system-receive-at-each-step",[57,348,349,350,353,354,357,358,102],{},"Your system receives webhooks and can also poll the API. BlindPay's payin events are ",[82,351,352],{},"payin.new",", ",[82,355,356],{},"payin.update",", and ",[82,359,360],{},"payin.complete",[183,362,363,376],{},[186,364,365],{},[189,366,367,370,373],{},[192,368,369],{},"Step",[192,371,372],{},"Event or object",[192,374,375],{},"What it tells you",[205,377,378,390,402,417],{},[189,379,380,383,387],{},[210,381,382],{},"Payin created",[210,384,385],{},[82,386,352],{},[210,388,389],{},"A payin exists. Also fires for a deposit into a virtual account",[189,391,392,395,399],{},[210,393,394],{},"Arrival check or review",[210,396,397],{},[82,398,356],{},[210,400,401],{},"The payin moved through an intermediate step",[189,403,404,407,411],{},[210,405,406],{},"Finished",[210,408,409],{},[82,410,360],{},[210,412,413,414,416],{},"The payin ended. Check ",[82,415,84],{}," for completed, refunded, or failed",[189,418,419,422,428],{},[210,420,421],{},"Any time",[210,423,424,427],{},[82,425,426],{},"GET"," payin",[210,429,430,431,434],{},"Current status and ",[82,432,433],{},"tracking_*"," steps",[57,436,437,438,440,441,353,444,353,446,353,449,451,452,455,456,353,459,357,462,465,466,468,469,471],{},"The payin ",[82,439,84],{}," is ",[82,442,443],{},"processing",[82,445,335],{},[82,447,448],{},"completed",[82,450,276],{},", or ",[82,453,454],{},"refunded",". Three tracking objects, ",[82,457,458],{},"tracking_transaction",[82,460,461],{},"tracking_payment",[82,463,464],{},"tracking_complete",", show a finer step for each stage. The final transaction hash appears in ",[82,467,464],{},". Treat ",[82,470,84],{}," as the source of truth, because the hash can change if the on-chain transaction is replaced.",[57,473,474,475,102],{},"To handle events safely, verify the signature on the raw body, dedupe by message ID, and never move a payment backward from a final status. See ",[93,476,478],{"href":477},"\u002Fresources\u002Fmore\u002Fstablecoin-api-webhooks-reconciliation","webhook handling and reconciliation",[61,480,482],{"id":481},"what-can-go-wrong","What can go wrong?",[57,484,485],{},"Most problems are late funds, missing references, holds, and refunds. Use this list to plan for them.",[111,487,488,499,505,514,523,531],{},[69,489,490,493,494,496,497,102],{},[116,491,492],{},"Deposit never arrives."," The payin stays ",[82,495,443],{}," until the monitoring window ends, then can become ",[82,498,276],{},[69,500,501,504],{},[116,502,503],{},"Missing or wrong reference."," On the memo-code path, a deposit without the right code is harder to match. A virtual account avoids this.",[69,506,507,510,511,513],{},[116,508,509],{},"Funds arrive late."," For Transfers (Argentina) payins, BlindPay revives a failed payin to ",[82,512,443],{}," if matching funds arrive before any stablecoins were sent.",[69,515,516,519,520,522],{},[116,517,518],{},"Held for review."," The payin shows ",[82,521,335],{}," until compliance releases or refunds it.",[69,524,525,528,529,102],{},[116,526,527],{},"Refund."," The deposit is returned to the sender and the payin shows ",[82,530,454],{},[69,532,533,536],{},[116,534,535],{},"Fees consume the amount."," If fees leave a receiver amount of 0, the payin completes without an on-chain transfer.",[57,538,539,540,542,543,545,546,550,551,102],{},"Test these cases before launch. On a development instance, a payin quote with a request amount of $666.00 forces ",[82,541,276],{},", and $777.00 forces ",[82,544,454],{},". The ",[93,547,549],{"href":548},"\u002Fresources\u002Fmore\u002Fwhy-crypto-on-ramp-deposits-fail","guide to failed on-ramp deposits"," covers each cause in detail. If you are comparing ACH options, read ",[93,552,554],{"href":553},"\u002Fresources\u002Fmore\u002Fach-pull-vs-ach-push-onramp","ACH pull vs ACH push",[61,556,558],{"id":557},"where-does-blindpay-fit","Where does BlindPay fit?",[57,560,561],{},"BlindPay converts funds that arrive by bank transfer into USDC or USDT and delivers them to a wallet you choose. These facts come from the BlindPay docs.",[66,563,564,567,578,585,592],{},[69,565,566],{},"Payin methods include ACH, wire, RTP, international SWIFT, Pix, TED, SPEI, Transfers, PSE, Bre-B, card, and ACH pull.",[69,568,569,570,573,574,577],{},"The destination is a customer-controlled external blockchain wallet (",[82,571,572],{},"bw_...",") or a BlindPay-managed wallet (",[82,575,576],{},"bl_...","), which is BlindPay-custodied and in beta.",[69,579,580,581,102],{},"Fees depend on the rail and network, and the quote shows them before you execute. See ",[93,582,584],{"href":583},"\u002Fpricing","pricing",[69,586,587,588,102],{},"US virtual accounts cost $1.50 per month per account. See the ",[93,589,591],{"href":590},"\u002Fvirtual-accounts","virtual accounts page",[69,593,594,595,599,600,607],{},"The ",[93,596,598],{"href":597},"\u002Fdocs\u002Fquickstart-payin","quickstart"," walks a payin through on a development instance, and the ",[93,601,603,606],{"href":602},"\u002Fprompts\u002Fintegrate-payins",[82,604,605],{},"integrate-payins"," prompt"," helps an AI agent build it.",[61,609,611],{"id":610},"sources","Sources",[66,613,614,625,635,644,657,665],{},[69,615,616,617,353,619,357,622],{},"BlindPay docs, ",[93,618,168],{"href":167},[93,620,621],{"href":179},"Cut-off times",[93,623,624],{"href":339},"On-hold transactions",[69,626,616,627,97,631],{},[93,628,630],{"href":629},"\u002Fdocs\u002Flearn\u002Fwebhooks-events","Webhook events",[93,632,634],{"href":633},"\u002Fdocs\u002Fkb\u002Fkyc-basics","KYC basics",[69,636,637,638],{},"Nacha, ",[93,639,643],{"href":640,"rel":641},"https:\u002F\u002Fwww.nacha.org\u002F",[642],"nofollow","Same Day ACH and ACH network overview",[69,645,646,647,97,652],{},"Federal Reserve Financial Services, ",[93,648,651],{"href":649,"rel":650},"https:\u002F\u002Fwww.frbservices.org\u002Ffinancial-services\u002Fach",[642],"FedACH",[93,653,656],{"href":654,"rel":655},"https:\u002F\u002Fwww.frbservices.org\u002Ffinancial-services\u002Fwires",[642],"Fedwire",[69,658,659,660],{},"Swift, ",[93,661,664],{"href":662,"rel":663},"https:\u002F\u002Fwww.swift.com\u002F",[642],"cross-border payments overview",[69,666,667,668],{},"Banco Central do Brasil, ",[93,669,672],{"href":670,"rel":671},"https:\u002F\u002Fwww.bcb.gov.br\u002Festabilidadefinanceira\u002Fpix",[642],"Pix",[57,674,675],{},[676,677,678],"em",{},"This article is for general information only and is not legal, tax, or financial advice.",{"title":680,"searchDepth":681,"depth":681,"links":682},"",2,[683,684,685,686,687,688,689,690],{"id":63,"depth":681,"text":64},{"id":105,"depth":681,"text":106},{"id":172,"depth":681,"text":173},{"id":300,"depth":681,"text":301},{"id":346,"depth":681,"text":27},{"id":481,"depth":681,"text":482},{"id":557,"depth":681,"text":558},{"id":610,"depth":681,"text":611},[692,697,702],{"path":693,"title":694,"description":695,"date":696},"\u002Fresources\u002Fmore\u002Fstablecoin-payout-cut-off-times-weekends-holidays","Do stablecoin payouts work on weekends and holidays? Cut-offs and bank calendars by rail","The stablecoin leg runs 24\u002F7, and so do Pix, SPEI, and RTP. ACH, wire, SEPA, TED, and SWIFT wait for a business day. Cut-offs and calendars by rail.","2026-09-27",{"path":698,"title":699,"description":700,"date":701},"\u002Fresources\u002Fmore\u002Fstablecoin-card-balance-to-local-bank","From stablecoin to local bank: when to cash out over Pix, SPEI, ACH, SEPA, or SWIFT instead of using a card","When a stablecoin card is the wrong tool and a local bank payout fits: rent, payroll, invoices. Each rail compared, plus how a payout API flow works.","2026-10-09",{"path":703,"title":704,"description":705,"date":7},"\u002Fresources\u002Fmore\u002Fbis-competing-rails-cross-border-payments","Banks, fintechs, or stablecoins? What the BIS \"competing rails\" paper found about cross-border payment costs","BIS Working Paper 1385 compared bank wires, money transfer operators, and stablecoins on all-in cost. The five findings, the numbers, and what they mean.",1794399374573]