[{"data":1,"prerenderedAt":761},["ShallowReactive",2],{"content-\u002Fresources\u002Fmore\u002Fvirtual-accounts-for-stablecoin-payins":3,"resources-category-virtual-accounts-for-stablecoin-payins":746},{"title":4,"seoTitle":5,"description":6,"date":7,"updated":8,"category":9,"faq":10,"howto":8,"body":29},"Virtual accounts for stablecoin payins: what they are and how to use them","Virtual accounts for stablecoin payins explained","Virtual account stablecoin guide: a dedicated deposit account per customer that converts bank transfers to USDC or USDT. Rails, limits, and how to compare.","2026-10-18",null,"payments",[11,14,17,20,23,26],{"q":12,"a":13},"What is a virtual account for stablecoins?","It is a dedicated bank account number issued for one customer. When a bank transfer arrives, the provider matches it to that customer, converts it to a stablecoin like USDC or USDT, and delivers it to the customer's linked wallet. The payer sends a normal bank transfer and never touches crypto.",{"q":15,"a":16},"How do I get a virtual USD account that settles in USDC?","Onboard the customer and wait for approved KYC or KYB, link a wallet as the settlement destination, and create the virtual account through the API. Then wait for approval. BlindPay's US accounts go through a compliance review and then a bank review before they are active.",{"q":18,"a":19},"Can a virtual account receive international transfers?","Yes, depending on the account type. BlindPay's US virtual accounts accept ACH, wire, and SWIFT transfers. One US business account type accepts foreign senders only and also supports RTP. Another accepts US senders only. Check the account type table in the docs before you promise a payer a rail.",{"q":21,"a":22},"How much does a virtual account cost?","BlindPay's docs list US virtual accounts at $1.50 per month per account. Each deposit is a payin with its own fee. Fees on deposits below $100.00 accrue to your monthly invoice, and fees on deposits of $100.00 or more are taken at the time of the transaction. Colombia and Mexico account pricing is by contact.",{"q":24,"a":25},"Is one virtual account per customer the right setup?","Usually yes. A virtual account belongs to one onboarded customer, which keeps deposits and reconciliation clean. Do not use one account to collect for several underlying parties that BlindPay has not onboarded. That is nesting, and BlindPay does not allow it. Give each party its own customer record instead.",{"q":27,"a":28},"Do virtual accounts help with reconciliation?","Yes. Each account maps to one customer, so a deposit identifies who it belongs to without a memo code. Each deposit creates a payin you can list, retrieve, and match to webhooks. You still need a daily job that compares payins with your ledger.",{"type":30,"value":31,"toc":729},"minimark",[32,36,41,60,69,73,76,84,88,91,132,140,145,148,256,259,263,266,355,363,367,370,420,432,436,439,442,468,483,487,490,553,561,565,568,594,606,610,613,648,667,671,723],[33,34,35],"p",{},"A virtual account is a dedicated deposit account number for one customer. When a bank transfer arrives, the provider matches it to that customer, converts it to a stablecoin such as USDC or USDT, and delivers it to the customer's linked wallet. BlindPay issues virtual accounts through its API.",[37,38,40],"h2",{"id":39},"key-takeaways","Key takeaways",[42,43,44,48,51,54,57],"ul",{},[45,46,47],"li",{},"A virtual account is a real account number tied to one customer, so deposits identify themselves.",[45,49,50],{},"BlindPay's US accounts accept ACH, wire, and SWIFT. Colombia uses Bre-B and Mexico uses SPEI.",[45,52,53],{},"Approval has two stages in production, a compliance review and a bank review. Do not promise a payer a go-live time.",[45,55,56],{},"Each deposit creates a payin, which gives you a record to reconcile.",[45,58,59],{},"Use a virtual account for repeat payers. Use one-time instructions for a single payment.",[33,61,62,63,68],{},"For the wider picture of payins, start with ",[64,65,67],"a",{"href":66},"\u002Fresources\u002Fmore\u002Fwhat-is-a-stablecoin-payin-api","what a stablecoin payin API is",".",[37,70,72],{"id":71},"what-is-a-virtual-account","What is a virtual account?",[33,74,75],{},"A virtual account is a bank account number issued in your customer's name that points to your provider's banking setup. Anyone can send money to it like to any other account. In BlindPay's case, the customer gets their own routing and account number for US accounts.",[33,77,78,79,83],{},"For a plain-English intro, see ",[64,80,82],{"href":81},"\u002Fresources\u002Fmore\u002Fwhat-is-a-virtual-account","what a virtual account is",". The account number is the integration. You do not build a checkout flow or show payment instructions for each deposit.",[37,85,87],{"id":86},"how-do-virtual-accounts-work-for-stablecoin-payins","How do virtual accounts work for stablecoin payins?",[33,89,90],{},"You create the account once, give the details to the payer, and the provider converts each deposit. The steps:",[92,93,94,110,113,119,129],"ol",{},[45,95,96,97,101,102,105,106,109],{},"Onboard the customer. Their ",[98,99,100],"code",{},"kyc_status"," must be ",[98,103,104],{},"approved"," (or ",[98,107,108],{},"approved_rfi",") before you can request an account.",[45,111,112],{},"Link a blockchain wallet as the settlement destination.",[45,114,115,116,68],{},"Create the virtual account. It starts in ",[98,117,118],{},"pending_review",[45,120,121,122,124,125,128],{},"After compliance and bank review, the status becomes ",[98,123,104],{}," and the ",[98,126,127],{},"virtualAccount.complete"," webhook fires.",[45,130,131],{},"The payer sends a transfer. BlindPay creates a payin, converts the deposit, and sends the stablecoin to the linked wallet.",[33,133,134,135,139],{},"A virtual account belongs to one customer and settles to one wallet. See ",[64,136,138],{"href":137},"\u002Fdocs\u002Fvirtual-accounts-create","Create a virtual account"," for required fields.",[141,142,144],"h3",{"id":143},"what-account-types-does-blindpay-offer","What account types does BlindPay offer?",[33,146,147],{},"The table below summarizes the types in the BlindPay docs.",[149,150,151,173],"table",{},[152,153,154],"thead",{},[155,156,157,161,164,167,170],"tr",{},[158,159,160],"th",{},"Type",[158,162,163],{},"Payment methods",[158,165,166],{},"Countries",[158,168,169],{},"SLA",[158,171,172],{},"Cost",[174,175,176,194,210,224,241],"tbody",{},[155,177,178,182,185,188,191],{},[179,180,181],"td",{},"US (individuals and businesses)",[179,183,184],{},"ACH, Wire, SWIFT",[179,186,187],{},"US and foreign",[179,189,190],{},"24 hours",[179,192,193],{},"$1.50\u002Fmo per account",[155,195,196,199,202,205,208],{},[179,197,198],{},"US (businesses, foreign senders)",[179,200,201],{},"ACH, RTP, Wire, SWIFT",[179,203,204],{},"Foreign only",[179,206,207],{},"3-5 business days",[179,209,193],{},[155,211,212,215,217,220,222],{},[179,213,214],{},"US (businesses, US senders)",[179,216,184],{},[179,218,219],{},"US only",[179,221,207],{},[179,223,193],{},[155,225,226,229,232,235,238],{},[179,227,228],{},"Colombia (Bre-B)",[179,230,231],{},"Bre-B",[179,233,234],{},"Colombia only",[179,236,237],{},"Instant",[179,239,240],{},"Contact BlindPay",[155,242,243,246,249,252,254],{},[179,244,245],{},"Mexico (SPEI CLABE)",[179,247,248],{},"SPEI",[179,250,251],{},"Mexico only",[179,253,237],{},[179,255,240],{},[33,257,258],{},"The SLA column is the issuance SLA, not how fast a deposit arrives.",[37,260,262],{"id":261},"virtual-account-vs-deposit-address-vs-one-time-payment-instructions","Virtual account vs deposit address vs one-time payment instructions?",[33,264,265],{},"Pick the collection method by payer behavior. A virtual account suits repeat payers. A deposit address suits payers who already hold stablecoins. One-time instructions suit a single invoice or checkout.",[149,267,268,283],{},[152,269,270],{},[155,271,272,274,277,280],{},[158,273],{},[158,275,276],{},"Virtual account",[158,278,279],{},"On-chain deposit address",[158,281,282],{},"One-time payment instructions",[174,284,285,299,313,327,341],{},[155,286,287,290,293,296],{},[179,288,289],{},"Payer experience",[179,291,292],{},"Normal bank transfer to a fixed account",[179,294,295],{},"Needs a crypto wallet and the right network",[179,297,298],{},"Bank transfer, Pix code, or card for one payment",[155,300,301,304,307,310],{},[179,302,303],{},"Reconciliation",[179,305,306],{},"Account maps to one customer",[179,308,309],{},"Match by address and amount",[179,311,312],{},"Match by memo code or payin ID",[155,314,315,318,321,324],{},[179,316,317],{},"Rails",[179,319,320],{},"Bank rails of the account type",[179,322,323],{},"Blockchain only",[179,325,326],{},"Many rails, including Pix, PSE, and card",[155,328,329,332,335,338],{},[179,330,331],{},"Setup effort",[179,333,334],{},"Customer review before activation",[179,336,337],{},"Wallet creation",[179,339,340],{},"A quote and a payin per payment",[155,342,343,346,349,352],{},[179,344,345],{},"Best for",[179,347,348],{},"Recurring payers and receivables",[179,350,351],{},"Crypto-native payers",[179,353,354],{},"One-off collections",[33,356,357,358,362],{},"At BlindPay, a payin quote returns one-time instructions. For ACH and wire, the memo code is shown only when the customer has no enabled virtual account. With one, BlindPay shows the dedicated account details instead. The ",[64,359,361],{"href":360},"\u002Fresources\u002Fmore\u002Fvirtual-account-vs-one-time-deposit-instructions","one-time vs virtual account guide"," goes deeper.",[37,364,366],{"id":365},"should-i-use-one-virtual-account-per-customer-or-per-brand","Should I use one virtual account per customer or per brand?",[33,368,369],{},"Use one per onboarded customer. The model is one customer, one account. That keeps the owner of each deposit visible to the provider and to you.",[149,371,372,385],{},[152,373,374],{},[155,375,376,379,382],{},[158,377,378],{},"Setup",[158,380,381],{},"How it works",[158,383,384],{},"Watch out for",[174,386,387,398,409],{},[155,388,389,392,395],{},[179,390,391],{},"Per customer",[179,393,394],{},"Each onboarded customer has its own account and wallet",[179,396,397],{},"Most clean for reconciliation",[155,399,400,403,406],{},[179,401,402],{},"Per legal entity or brand",[179,404,405],{},"Onboard each legal entity as its own customer, then create an account for each",[179,407,408],{},"Each entity needs its own KYC or KYB",[155,410,411,414,417],{},[179,412,413],{},"One shared account for many parties",[179,415,416],{},"One customer account collects for several others",[179,418,419],{},"This is nesting if those parties are not onboarded. Not allowed",[33,421,422,423,426,427,431],{},"A customer can hold more than one account in some cases. On BlindPay's ",[98,424,425],{},"jpmorgan"," banking partner, a customer can hold several accounts at once. For other banking partners, a customer cannot have two non-deleted, non-rejected accounts on the same partner. Read the ",[64,428,430],{"href":429},"\u002Fdocs\u002Fvirtual-accounts","virtual accounts docs"," before you design the layout.",[37,433,435],{"id":434},"how-do-virtual-accounts-help-reconciliation","How do virtual accounts help reconciliation?",[33,437,438],{},"Because each account belongs to one customer, a deposit tells you whose money it is without a reference code. Each deposit also becomes a payin with amounts, fees, status, and a transaction hash.",[33,440,441],{},"A practical reconciliation loop:",[92,443,444,455,458,465],{},[45,445,446,447,450,451,454],{},"Receive ",[98,448,449],{},"payin.new"," and ",[98,452,453],{},"payin.update",", and dedupe by webhook message ID.",[45,456,457],{},"Store the payin ID and the customer ID against your ledger entry.",[45,459,460,461,464],{},"Mark the entry final only on a completed status. Read the ",[98,462,463],{},"status"," field, not the event name.",[45,466,467],{},"Run a daily job that lists payins and compares totals with your ledger.",[33,469,470,471,450,474,477,478,482],{},"For wire deposits, the payin can carry sender details such as ",[98,472,473],{},"sender_name",[98,475,476],{},"transaction_reference",". See ",[64,479,481],{"href":480},"\u002Fresources\u002Fmore\u002Fvirtual-account-reconciliation","how virtual accounts automate reconciliation"," for a worked example.",[37,484,486],{"id":485},"what-are-the-limits-and-eligibility-rules","What are the limits and eligibility rules?",[33,488,489],{},"Eligibility depends on the customer, the account type, and the banking partner. Do not assume every customer qualifies.",[42,491,492,499,509,522,528,534,540],{},[45,493,494,498],{},[495,496,497],"strong",{},"KYC or KYB first."," The customer must be approved before you request an account.",[45,500,501,504,505,68],{},[495,502,503],{},"Business fields."," Businesses need fields such as account purpose, business type, NAICS industry code, and registered owners. See ",[64,506,508],{"href":507},"\u002Fresources\u002Fmore\u002Fvirtual-account-requirements-kyc-kyb","virtual account requirements",[45,510,511,514,515,517,518,521],{},[495,512,513],{},"Two review stages."," Compliance review moves an account from ",[98,516,118],{}," to ",[98,519,520],{},"verifying",", then the bank decides. Either stage can reject.",[45,523,524,527],{},[495,525,526],{},"Colombia (Bre-B)."," Only customers with a Colombian ID card or NIT qualify. Each deposit is limited to about COP 12,000,000, depending on the payer's bank. Bre-B deposits cannot be reversed.",[45,529,530,533],{},[495,531,532],{},"Mexico (SPEI CLABE)."," Available for customers of any country. One CLABE per customer.",[45,535,536,539],{},[495,537,538],{},"Fees on small deposits."," Every deposit is processed and delivers at least $0.01 of stablecoin.",[45,541,542,545,546,548,549,552],{},[495,543,544],{},"Development behavior."," On a development instance, accounts skip review and are created as ",[98,547,104],{},". The routing number is always ",[98,550,551],{},"110000000"," and the account number is fake.",[33,554,555,556,560],{},"BlindPay's ",[64,557,559],{"href":558},"\u002Fdocs\u002Fkb\u002Fvirtual-accounts","virtual account knowledge base"," lists the documents the evaluation asks for.",[37,562,564],{"id":563},"how-do-i-evaluate-providers","How do I evaluate providers?",[33,566,567],{},"Check the same items for every provider and write down what the provider's own documentation says, not what a sales deck says. Use this list:",[92,569,570,573,576,579,582,585,588,591],{},[45,571,572],{},"Which account types and payer countries are live today?",[45,574,575],{},"Does the account carry the customer's name, or a pooled name?",[45,577,578],{},"How long does issuance take, and what can cause rejection?",[45,580,581],{},"Which rails does each account support, including international?",[45,583,584],{},"Where do stablecoins go, and can the customer control that wallet?",[45,586,587],{},"How are deposit fees charged, and how are small deposits handled?",[45,589,590],{},"What webhooks cover account approval and each deposit?",[45,592,593],{},"Can you test in a sandbox without real bank numbers?",[33,595,596,597,601,602,68],{},"Use the ",[64,598,600],{"href":599},"\u002Fresources\u002Fmore\u002Fhow-to-choose-a-virtual-account-provider","12-point virtual account provider checklist"," and test first with ",[64,603,605],{"href":604},"\u002Fresources\u002Fmore\u002Fhow-to-test-virtual-accounts-sandbox","this sandbox guide",[37,607,609],{"id":608},"where-does-blindpay-fit","Where does BlindPay fit?",[33,611,612],{},"BlindPay offers virtual accounts that convert deposits to stablecoins and deliver them to a linked wallet. These facts come from the BlindPay docs.",[42,614,615,618,621,624,634],{},[45,616,617],{},"US accounts support ACH, wire, and SWIFT, and are issued in the customer's name. Named payouts originate under the end user's name.",[45,619,620],{},"Colombia (Bre-B) and Mexico (SPEI CLABE) accounts are not named accounts. Payers see a pooled recipient name, but each key or CLABE is unique to one customer.",[45,622,623],{},"Production accounts get real, bank-issued routing and account numbers.",[45,625,626,627,630,631,68],{},"US accounts cost $1.50 per month per account. Deposit fees depend on the deposit amount and show on the payin as ",[98,628,629],{},"billing_fee_amount"," or ",[98,632,633],{},"transaction_fee_amount",[45,635,636,637,640,641,643,644,647],{},"Webhooks: ",[98,638,639],{},"virtualAccount.new",", ",[98,642,127],{},", and the ",[98,645,646],{},"payin.*"," events.",[33,649,650,651,640,655,643,659,666],{},"See the ",[64,652,654],{"href":653},"\u002Fvirtual-accounts","virtual accounts product page",[64,656,658],{"href":657},"\u002Fpricing","pricing",[64,660,662,665],{"href":661},"\u002Fprompts\u002Fintegrate-virtual-accounts",[98,663,664],{},"integrate-virtual-accounts"," prompt"," for an AI-assisted build.",[37,668,670],{"id":669},"sources","Sources",[42,672,673,685,691,700,708,716],{},[45,674,675,676,640,679,681,682],{},"BlindPay docs, ",[64,677,678],{"href":429},"Virtual accounts",[64,680,138],{"href":137},", and ",[64,683,684],{"href":558},"Virtual account documents",[45,686,675,687],{},[64,688,690],{"href":689},"\u002Fdocs\u002Flearn\u002Fwebhooks-events","Webhook events",[45,692,693,694],{},"Nacha, ",[64,695,699],{"href":696,"rel":697},"https:\u002F\u002Fwww.nacha.org\u002F",[698],"nofollow","ACH network rules",[45,701,702,703],{},"Federal Reserve Financial Services, ",[64,704,707],{"href":705,"rel":706},"https:\u002F\u002Fwww.frbservices.org\u002Ffinancial-services\u002Fwires",[698],"Fedwire Funds Service",[45,709,710,711],{},"Banco Central do Brasil, ",[64,712,715],{"href":713,"rel":714},"https:\u002F\u002Fwww.bcb.gov.br\u002Festabilidadefinanceira\u002Fpix",[698],"Pix",[45,717,718,719],{},"Banco de Mexico, ",[64,720,248],{"href":721,"rel":722},"https:\u002F\u002Fwww.banxico.org.mx\u002F",[698],[33,724,725],{},[726,727,728],"em",{},"This article is for general information only and is not legal, tax, or financial advice.",{"title":730,"searchDepth":731,"depth":731,"links":732},"",2,[733,734,735,739,740,741,742,743,744,745],{"id":39,"depth":731,"text":40},{"id":71,"depth":731,"text":72},{"id":86,"depth":731,"text":87,"children":736},[737],{"id":143,"depth":738,"text":144},3,{"id":261,"depth":731,"text":262},{"id":365,"depth":731,"text":366},{"id":434,"depth":731,"text":435},{"id":485,"depth":731,"text":486},{"id":563,"depth":731,"text":564},{"id":608,"depth":731,"text":609},{"id":669,"depth":731,"text":670},[747,752,757],{"path":748,"title":749,"description":750,"date":751},"\u002Fresources\u002Fmore\u002Fstablecoin-virtual-accounts-explained","Stablecoin virtual accounts explained: from bank transfer to wallet balance","A stablecoin virtual account is a bank account in your customer's name whose deposits convert to USDC or USDT. How approval, deposits, and fees work.","2026-07-28",{"path":753,"title":754,"description":755,"date":756},"\u002Fresources\u002Fmore\u002Fwhat-is-a-stablecoin-payouts-api","What is a stablecoin payouts API? How it works and when to use one (2026)","A stablecoin payouts API turns USDC or USDT into local currency in a recipient's bank account. Learn the flow, the rails, compliance, and when to use one.","2026-10-16",{"path":758,"title":759,"description":760,"date":7},"\u002Fresources\u002Fmore\u002Fabstracted-vs-advanced-blockchain-payment-api","Rails-first vs chain-first: choosing between an abstracted and an advanced blockchain payments API","Rails-first or chain-first? How BlindPay's Abstracted and Advanced API flavors differ, what changes in your code, and a go-live checklist for both.",1794399386042]