[{"data":1,"prerenderedAt":524},["ShallowReactive",2],{"content-\u002Fresources\u002Fmore\u002Fcustodial-vs-non-custodial-payin-apis":3,"resources-category-custodial-vs-non-custodial-payin-apis":508},{"title":4,"seoTitle":5,"description":6,"date":7,"updated":8,"category":9,"faq":10,"howto":8,"body":29},"Custodial vs non-custodial stablecoin payin APIs: what changes for your business","Custodial vs non-custodial stablecoin payin APIs","Non-custodial stablecoin payment API or custodial? Who holds the keys, funds and risk in a payin, with a risk table and six diligence questions.","2026-10-24",null,"compliance",[11,14,17,20,23,26],{"q":12,"a":13},"What is a non-custodial stablecoin payin API?","It is a payin API that delivers stablecoins to a wallet the recipient controls, so the provider never holds the recipient's keys or ongoing balance. The provider still handles the fiat deposit and the conversion before delivery. With BlindPay, you choose this path by pointing a payin quote at a customer-controlled blockchain wallet (blockchain_wallet_id).",{"q":15,"a":16},"Is BlindPay custodial or non-custodial for payins?","It depends on the destination you choose. A payin to an external blockchain wallet (bw_...) delivers stablecoins to an address your customer controls. A payin to an optional BlindPay-managed wallet (bl_..., beta) is custodial, because BlindPay holds the keys. Fiat is also handled by BlindPay between the deposit and the delivery.",{"q":18,"a":19},"Who holds my money while a payin is processing?","While a payin is processing, the fiat deposit has landed with the provider's banking setup and the conversion is in progress. The stablecoins are not yet in the destination wallet. Check each provider's terms for how deposits are held during that window, and ask what happens to them if the payin fails or is refunded.",{"q":21,"a":22},"What happens if a BlindPay payin fails or is returned?","BlindPay payin statuses include failed and refunded. Refunded means the deposit was returned to the sender. Some stages can be held for manual review, shown as on_hold, before they continue. Once stablecoins are delivered to a blockchain wallet, BlindPay cannot reverse the on-chain transfer, so confirm the address and network.",{"q":24,"a":25},"Do I need to pre-fund a balance to accept payins?","No pre-funding is part of the payin flow itself. The payer sends fiat, the provider converts it, and stablecoins arrive in the destination wallet. A custodial wallet model can mean balances sit with the provider, so ask each vendor whether you must hold a balance with them for your use case.",{"q":27,"a":28},"How do I check if a payin provider is really non-custodial?","Ask who generates and holds the wallet keys, who can move funds without the customer's signature, where fiat sits while the payin processes, and what the contract says if the provider fails. Read the provider's wallet documentation and terms, and test with a small amount on a development instance first.",{"type":30,"value":31,"toc":495},"minimark",[32,36,39,44,79,93,97,100,103,107,110,117,121,124,127,227,231,234,252,259,263,266,273,305,309,312,333,345,349,352,407,442,446,489],[33,34,35],"p",{},"Custody in a payin depends on where the stablecoins end up. With a non-custodial setup, the provider delivers them to a wallet your customer controls, so it never holds the keys. With a custodial setup, the provider holds the wallet and the balance. BlindPay offers both: an external customer-controlled wallet, or an optional BlindPay-managed wallet (beta).",[33,37,38],{},"Fiat is a separate question. In any payin, the provider handles the deposit before it converts and delivers.",[40,41,43],"h2",{"id":42},"key-takeaways","Key takeaways",[45,46,47,51,54,73,76],"ul",{},[48,49,50],"li",{},"\"Custodial\" depends on the wallet that receives the stablecoins, not only on the provider's brand.",[48,52,53],{},"A payin has two legs: the fiat deposit and the stablecoin delivery. Custody can differ on each.",[48,55,56,57,61,62,65,66,61,69,72],{},"With BlindPay, ",[58,59,60],"code",{},"blockchain_wallet_id"," (",[58,63,64],{},"bw_...",") targets a customer-controlled wallet, and ",[58,67,68],{},"wallet_id",[58,70,71],{},"bl_...",") targets an optional BlindPay-managed wallet in beta.",[48,74,75],{},"Once stablecoins land in a customer-controlled wallet, the provider cannot reverse or recover them.",[48,77,78],{},"Verify custody in the provider's documentation and contract, not in marketing.",[33,80,81,82,87,88,92],{},"For the basics of the product, read ",[83,84,86],"a",{"href":85},"\u002Fresources\u002Fmore\u002Fwhat-is-a-stablecoin-payin-api","what a stablecoin payin API is",". For custody on the payout side, see ",[83,89,91],{"href":90},"\u002Fresources\u002Fmore\u002Fcustodial-vs-non-custodial-off-ramps","custodial vs non-custodial off-ramps",".",[40,94,96],{"id":95},"what-does-custodial-mean-in-payments","What does custodial mean in payments?",[33,98,99],{},"Custodial means a third party holds the means to move the funds. In stablecoin payments, that means the provider generates the wallet, holds its private keys and keeps your balance. You hold a claim on the provider, not the keys.",[33,101,102],{},"The upside is convenience: no wallet software, no signing, simple balances. The downside is that your funds depend on the provider's security, solvency and legal setup. MPC (multi-party computation) wallets split key control between several parties and sit between the two models.",[40,104,106],{"id":105},"what-does-non-custodial-mean","What does non-custodial mean?",[33,108,109],{},"Non-custodial means the recipient alone controls the private keys. The provider can send stablecoins to the address, but it cannot move them out without the owner's signature or on-chain authorization.",[33,111,112,113,92],{},"BlindPay's docs describe its external blockchain wallet this way: BlindPay never holds the private keys and cannot access, freeze or recover funds in it. If a payin goes to a wrong address, BlindPay cannot reverse the transfer. For the broader idea, see ",[83,114,116],{"href":115},"\u002Fresources\u002Fmore\u002Fnon-custodial-payments-explained","non-custodial payments explained",[40,118,120],{"id":119},"what-risks-does-each-model-carry","What risks does each model carry?",[33,122,123],{},"Each model moves risk to a different place. Custodial models carry provider risk: loss, freezes and insolvency. Non-custodial models carry user risk: wrong addresses, lost keys and no recovery. Both carry fiat-leg risk while a deposit processes.",[33,125,126],{},"Use this table to compare them for a payin.",[128,129,130,146],"table",{},[131,132,133],"thead",{},[134,135,136,140,143],"tr",{},[137,138,139],"th",{},"Question",[137,141,142],{},"Custodial destination (for example a BlindPay-managed wallet, beta)",[137,144,145],{},"Non-custodial destination (for example a customer-controlled blockchain wallet)",[147,148,149,161,172,183,194,205,216],"tbody",{},[134,150,151,155,158],{},[152,153,154],"td",{},"Who holds the keys?",[152,156,157],{},"The provider",[152,159,160],{},"The customer",[134,162,163,166,169],{},[152,164,165],{},"Who can move funds after delivery?",[152,167,168],{},"The provider, on your instruction",[152,170,171],{},"Only the customer",[134,173,174,177,180],{},[152,175,176],{},"Pre-funding",[152,178,179],{},"Balances sit with the provider, so ask what you must hold",[152,181,182],{},"No balance is held for the payin itself",[134,184,185,188,191],{},[152,186,187],{},"Wrong-address risk",[152,189,190],{},"Lower, since the provider generates the address",[152,192,193],{},"Higher: funds sent to a wrong address cannot be recovered",[134,195,196,199,202],{},[152,197,198],{},"If the provider fails",[152,200,201],{},"Your balance may be exposed. Read the terms",[152,203,204],{},"Delivered funds are unaffected, but payins in flight and the fiat leg may be",[134,206,207,210,213],{},[152,208,209],{},"Regulatory perimeter",[152,211,212],{},"Provider more likely to be treated as a custodian",[152,214,215],{},"Provider acts as a payment processor, but may still be a service provider",[134,217,218,221,224],{},[152,219,220],{},"Balance exposure",[152,222,223],{},"Whatever stays in the wallet",[152,225,226],{},"Only what the customer chooses to keep",[40,228,230],{"id":229},"how-does-custody-affect-pre-funding-and-balances","How does custody affect pre-funding and balances?",[33,232,233],{},"In a payin flow, there is no pre-funding step: the payer sends fiat first, and stablecoins arrive afterward. Custody changes what happens next. In a custodial wallet, the balance stays with the provider until you move it. In a customer-controlled wallet, the balance leaves the provider at delivery.",[33,235,236,237,239,240,242,243,247,248,92],{},"With BlindPay, a managed wallet (",[58,238,71],{},") holds a balance you can check through the wallets API, while a blockchain wallet (",[58,241,64],{},") is just an address BlindPay delivers to. See the ",[83,244,246],{"href":245},"\u002Fdocs\u002Fwallets","managed wallets reference"," and the ",[83,249,251],{"href":250},"\u002Fdocs\u002Fblockchain-wallets","blockchain wallets reference",[33,253,254,255,92],{},"The fiat leg works the same either way. A payer sends a bank transfer to payment details BlindPay provides, or to a customer's virtual account. During that window, the money is not yet stablecoins and not yet in your wallet. See ",[83,256,258],{"href":257},"\u002Fresources\u002Fmore\u002Fvirtual-accounts-for-stablecoin-payins","virtual accounts for stablecoin payins",[40,260,262],{"id":261},"what-happens-if-a-provider-fails","What happens if a provider fails?",[33,264,265],{},"If a custodial provider fails, balances it holds may be at risk and recovery depends on the contract and local law. If a non-custodial provider fails, stablecoins already delivered to a customer-controlled wallet are unaffected, but payins in flight depend on the provider.",[33,267,268,272],{},[83,269,271],{"href":270},"\u002Fresources\u002Fmore\u002Fwhat-happens-if-a-stablecoin-payment-provider-fails","What happens if a stablecoin payment provider fails"," walks through the cases. The key habit is to design for both: keep reconciliation records, avoid leaving large balances in any custodial wallet, and know which statuses are final.",[33,274,275,276,279,280,279,283,279,286,289,290,293,294,296,297,299,300,304],{},"BlindPay's payin statuses are ",[58,277,278],{},"processing",", ",[58,281,282],{},"on_hold",[58,284,285],{},"completed",[58,287,288],{},"failed"," and ",[58,291,292],{},"refunded",". ",[58,295,292],{}," means the deposit was returned to the sender. ",[58,298,282],{}," means the payin is held for manual review before continuing. See the ",[83,301,303],{"href":302},"\u002Fdocs\u002Fpayins","payins reference"," for the full lifecycle.",[40,306,308],{"id":307},"how-do-i-check-a-providers-model","How do I check a provider's model?",[33,310,311],{},"Check it with documents and a test, not with a label. Answer these six questions for each provider and for each product, since custody can differ between a wallet product and a payment product:",[313,314,315,318,321,324,327,330],"ol",{},[48,316,317],{},"Who generates the wallet and holds its private keys?",[48,319,320],{},"Can the provider move funds without the customer's signature?",[48,322,323],{},"Where does the fiat sit between the deposit and the delivery?",[48,325,326],{},"Do I have to hold a balance with the provider for this flow?",[48,328,329],{},"What do the terms say if the provider fails or freezes an account?",[48,331,332],{},"What status or document proves each payment ended up where it should?",[33,334,335,336,340,341,92],{},"For a longer checklist, use ",[83,337,339],{"href":338},"\u002Fresources\u002Fmore\u002Fhow-to-verify-non-custodial-payment-provider","how to verify a non-custodial payment provider",". For how this interacts with the law, see ",[83,342,344],{"href":343},"\u002Fresources\u002Fmore\u002Fgenius-act-mica-for-payin-businesses","the GENIUS Act and MiCA for payin businesses",[40,346,348],{"id":347},"where-does-blindpay-fit","Where does BlindPay fit?",[33,350,351],{},"BlindPay offers two destinations for a payin. The docs describe both, so you can pick per customer.",[128,353,354,370],{},[131,355,356],{},[134,357,358,361,364,367],{},[137,359,360],{},"Destination",[137,362,363],{},"Field",[137,365,366],{},"Custody",[137,368,369],{},"Status",[147,371,372,390],{},[134,373,374,377,384,387],{},[152,375,376],{},"External blockchain wallet",[152,378,379,61,381,383],{},[58,380,60],{},[58,382,64],{},")",[152,385,386],{},"Customer-controlled",[152,388,389],{},"Available",[134,391,392,395,401,404],{},[152,393,394],{},"Managed wallet",[152,396,397,61,399,383],{},[58,398,68],{},[58,400,71],{},[152,402,403],{},"BlindPay-custodied",[152,405,406],{},"Beta",[45,408,409,416,422,432],{},[48,410,411,415],{},[412,413,414],"strong",{},"Payouts from customer-controlled wallets are non-custodial."," BlindPay operates as a non-custodial payment processor for payout flows from customer-controlled wallets: you authorize the exact amount and BlindPay executes that single transaction. Optional BlindPay-managed wallets (beta) are custodial when you choose that path.",[48,417,418,421],{},[412,419,420],{},"Payins are handled in two legs."," BlindPay watches for the fiat deposit, converts it, and sends stablecoins on-chain to the destination you set on the quote.",[48,423,424,427,428,431],{},[412,425,426],{},"Customer checks."," The payin tutorials require a customer with ",[58,429,430],{},"kyc_status: \"approved\""," first. See the managed-wallet payin tutorial in the docs.",[48,433,434,437,438,92],{},[412,435,436],{},"Fees."," Per-transaction fees vary by rail and network and appear in the live quote. See ",[83,439,441],{"href":440},"\u002Fpricing","pricing",[40,443,445],{"id":444},"sources","Sources",[45,447,448,461,471,481],{},[48,449,450,451,279,454,279,457,460],{},"BlindPay docs: ",[83,452,453],{"href":250},"Blockchain wallets",[83,455,456],{"href":245},"Managed wallets",[83,458,459],{"href":302},"Payins"," and Payin with managed wallet, checked on October 24, 2026.",[48,462,463,464,289,467,92],{},"BlindPay pages: ",[83,465,9],{"href":466},"\u002Fcompliance",[83,468,470],{"href":469},"\u002Fsecurity","security",[48,472,473,474,480],{},"MiCA, Regulation (EU) 2023\u002F1114: ",[83,475,479],{"href":476,"rel":477},"https:\u002F\u002Feur-lex.europa.eu\u002Feli\u002Freg\u002F2023\u002F1114\u002Foj",[478],"nofollow","EUR-Lex",", checked on October 24, 2026.",[48,482,483,484,480],{},"GENIUS Act enrolled text: ",[83,485,488],{"href":486,"rel":487},"https:\u002F\u002Fwww.congress.gov\u002F119\u002Fbills\u002Fs1582\u002FBILLS-119s1582enr.htm",[478],"Congress.gov, S.1582",[33,490,491],{},[492,493,494],"em",{},"This article is general information, not legal advice.",{"title":496,"searchDepth":497,"depth":497,"links":498},"",2,[499,500,501,502,503,504,505,506,507],{"id":42,"depth":497,"text":43},{"id":95,"depth":497,"text":96},{"id":105,"depth":497,"text":106},{"id":119,"depth":497,"text":120},{"id":229,"depth":497,"text":230},{"id":261,"depth":497,"text":262},{"id":307,"depth":497,"text":308},{"id":347,"depth":497,"text":348},{"id":444,"depth":497,"text":445},[509,514,519],{"path":510,"title":511,"description":512,"date":513},"\u002Fresources\u002Fmore\u002Fwhere-neobanks-hold-customer-funds","Where does a neobank hold customer funds? FBO accounts, custodial wallets, and non-custodial flows","Pooled FBO bank accounts, custodial stablecoin wallets, or customer-controlled wallets: who holds the money, who reconciles it, and what fails.","2026-10-11",{"path":515,"title":516,"description":517,"date":518},"\u002Fresources\u002Fmore\u002Fkyc-kyb-for-stablecoin-payins","KYC and KYB for stablecoin payins: who verifies whom?","Stablecoin KYC for payins: your business verifies its customers, the payin provider screens and monitors. A responsibility table and BlindPay facts.","2026-10-21",{"path":520,"title":521,"description":522,"date":523},"\u002Fresources\u002Fmore\u002Fmerchant-kyb-checkout-platform","Merchant onboarding for a checkout platform: KYB steps and timing","How a checkout platform onboards merchants in 2026: terms of service, KYB fields and documents, review times, and what to show while a merchant waits.","2026-10-26",1794399393402]