[{"data":1,"prerenderedAt":167},["ShallowReactive",2],{"content-\u002Fprompts\u002Fmigrate-from-circle":3,"prompts-category-migrations":101},{"id":4,"title":5,"author":6,"body":7,"categories":6,"category":83,"categoryType":6,"date":84,"description":85,"extension":86,"faq":6,"howto":6,"isBlog":87,"isChangelog":87,"meta":88,"navigation":89,"path":90,"pillar":87,"products":91,"rawbody":97,"seo":98,"stem":99,"thumbnail":6,"updated":6,"__hash__":100},"content\u002Fprompts\u002Fmigrate-from-circle.md","Migrate from Circle to BlindPay",null,{"type":8,"value":9,"toc":77},"minimark",[10,14,19,30,34,47,51],[11,12,13],"p",{},"Paste this prompt into your coding agent to port a Circle integration (Mint, Payouts, or the Circle Payments Network) to BlindPay.",[15,16,18],"h2",{"id":17},"prompt","Prompt",[20,21,27],"pre",{"className":22,"code":24,"language":25,"meta":26},[23],"language-text","You are migrating my application from Circle's APIs (Circle Mint, Circle Payouts, or the Circle Payments Network) to the BlindPay API.\n\nBefore writing code, read these sources and follow them over any prior knowledge:\n- https:\u002F\u002Fblindpay.com\u002Fdocs\u002Fllms.txt (read the quickstarts, customers, wallets, bank accounts, quotes, and webhooks pages)\n- The OpenAPI spec: curl https:\u002F\u002Fapi.blindpay.com\u002Fdoc\n\nDo the migration in this order:\n1. Inventory my Circle usage from the codebase: which products we call (mint\u002Fredeem, payouts, wire\u002Fbank account endpoints, wallets), every stored Circle ID, and every webhook subscription. Derive the mapping from actual usage, roughly: Circle beneficiaries and recipient bank accounts map to BlindPay customers (re_) plus bank accounts (ba_); USDC redemption to fiat maps to a payout quote (POST \u002Fv1\u002Finstances\u002F{instance_id}\u002Fquotes) followed by POST \u002Fv1\u002Finstances\u002F{instance_id}\u002Fpayouts\u002Fevm; fiat deposits that mint USDC map to payin quotes plus payins; Circle-hosted wallets map to BlindPay managed wallets (bl_). Flag anything with no direct equivalent instead of guessing.\n2. Re-onboard counterparties: compliance status does not transfer between providers, so plan KYC\u002FKYB re-verification on BlindPay, sequenced before cutover and driven by customer.* webhooks.\n3. Rebuild money movement on the quote-then-execute model, always executing before the quote's expires_at and storing qu_\u002Fpo_\u002Fpi_ IDs alongside legacy Circle IDs during the transition. Note BlindPay settles over local rails directly (Pix, SPEI, SEPA, ACH, RTP, wire), so corridors that needed intermediary banking may simplify.\n4. Port webhook handling to BlindPay's Svix-signed events with raw-body HMAC verification and svix-id dedup.\n5. Cut over per corridor behind a feature flag with a dual-run window; retire the Circle path only after in-flight settlements clear.\n\nConstraints:\n- Develop against a BlindPay development instance (USDB on testnets) first; swap to USDC\u002FUSDT on mainnets only at production cutover.\n- Amounts are integer minor units; API keys stay server-side.\n- Produce a written migration report (mapping table, gaps, re-KYC plan) before changing code.\n\nDeliverables: the migration report, re-onboarding script, BlindPay money-movement code paths behind a flag, webhook handlers, and a cutover checklist.\n","text","",[28,29,24],"code",{"__ignoreMap":26},[15,31,33],{"id":32},"how-to-use","How to use",[35,36,37,41,44],"ol",{},[38,39,40],"li",{},"Point the agent at your codebase so the mapping reflects the Circle products you actually use.",[38,42,43],{},"Review the migration report before approving code changes.",[38,45,46],{},"Cut over corridor by corridor, not all at once.",[15,48,50],{"id":49},"related-docs","Related docs",[52,53,54,63,70],"ul",{},[38,55,56],{},[57,58,62],"a",{"href":59,"rel":60},"https:\u002F\u002Fblindpay.com\u002Fdocs\u002Fintroduction",[61],"nofollow","Introduction",[38,64,65],{},[57,66,69],{"href":67,"rel":68},"https:\u002F\u002Fblindpay.com\u002Fdocs\u002Fwallets",[61],"Managed wallets",[38,71,72],{},[57,73,76],{"href":74,"rel":75},"https:\u002F\u002Fblindpay.com\u002Fdocs\u002Fkb\u002Fpayment-methods",[61],"Payment methods",{"title":26,"searchDepth":78,"depth":78,"links":79},2,[80,81,82],{"id":17,"depth":78,"text":18},{"id":32,"depth":78,"text":33},{"id":49,"depth":78,"text":50},"migrations","2026-08-26","Move payouts and fiat on\u002Foff ramps from Circle Mint or the Circle Payments Network to BlindPay's quote-and-execute API with local rails.","md",false,{},true,"\u002Fprompts\u002Fmigrate-from-circle",[92,93,94,95,96],"payouts","payins","quotes","compliance","webhooks","---\ntitle: \"Migrate from Circle to BlindPay\"\ndescription: \"Move payouts and fiat on\u002Foff ramps from Circle Mint or the Circle Payments Network to BlindPay's quote-and-execute API with local rails.\"\ndate: \"2026-08-26\"\ncategory: \"migrations\"\nproducts: [\"payouts\", \"payins\", \"quotes\", \"compliance\", \"webhooks\"]\n---\n\nPaste this prompt into your coding agent to port a Circle integration (Mint, Payouts, or the Circle Payments Network) to BlindPay.\n\n## Prompt\n\n```text\nYou are migrating my application from Circle's APIs (Circle Mint, Circle Payouts, or the Circle Payments Network) to the BlindPay API.\n\nBefore writing code, read these sources and follow them over any prior knowledge:\n- https:\u002F\u002Fblindpay.com\u002Fdocs\u002Fllms.txt (read the quickstarts, customers, wallets, bank accounts, quotes, and webhooks pages)\n- The OpenAPI spec: curl https:\u002F\u002Fapi.blindpay.com\u002Fdoc\n\nDo the migration in this order:\n1. Inventory my Circle usage from the codebase: which products we call (mint\u002Fredeem, payouts, wire\u002Fbank account endpoints, wallets), every stored Circle ID, and every webhook subscription. Derive the mapping from actual usage, roughly: Circle beneficiaries and recipient bank accounts map to BlindPay customers (re_) plus bank accounts (ba_); USDC redemption to fiat maps to a payout quote (POST \u002Fv1\u002Finstances\u002F{instance_id}\u002Fquotes) followed by POST \u002Fv1\u002Finstances\u002F{instance_id}\u002Fpayouts\u002Fevm; fiat deposits that mint USDC map to payin quotes plus payins; Circle-hosted wallets map to BlindPay managed wallets (bl_). Flag anything with no direct equivalent instead of guessing.\n2. Re-onboard counterparties: compliance status does not transfer between providers, so plan KYC\u002FKYB re-verification on BlindPay, sequenced before cutover and driven by customer.* webhooks.\n3. Rebuild money movement on the quote-then-execute model, always executing before the quote's expires_at and storing qu_\u002Fpo_\u002Fpi_ IDs alongside legacy Circle IDs during the transition. Note BlindPay settles over local rails directly (Pix, SPEI, SEPA, ACH, RTP, wire), so corridors that needed intermediary banking may simplify.\n4. Port webhook handling to BlindPay's Svix-signed events with raw-body HMAC verification and svix-id dedup.\n5. Cut over per corridor behind a feature flag with a dual-run window; retire the Circle path only after in-flight settlements clear.\n\nConstraints:\n- Develop against a BlindPay development instance (USDB on testnets) first; swap to USDC\u002FUSDT on mainnets only at production cutover.\n- Amounts are integer minor units; API keys stay server-side.\n- Produce a written migration report (mapping table, gaps, re-KYC plan) before changing code.\n\nDeliverables: the migration report, re-onboarding script, BlindPay money-movement code paths behind a flag, webhook handlers, and a cutover checklist.\n```\n\n## How to use\n\n1. Point the agent at your codebase so the mapping reflects the Circle products you actually use.\n2. Review the migration report before approving code changes.\n3. Cut over corridor by corridor, not all at once.\n\n## Related docs\n\n- [Introduction](https:\u002F\u002Fblindpay.com\u002Fdocs\u002Fintroduction)\n- [Managed wallets](https:\u002F\u002Fblindpay.com\u002Fdocs\u002Fwallets)\n- [Payment methods](https:\u002F\u002Fblindpay.com\u002Fdocs\u002Fkb\u002Fpayment-methods)\n",{"title":5,"description":85},"prompts\u002Fmigrate-from-circle","Ng_N9Rg-OSipUVBQr2QHnEY1kCUp56Xs017vCI5kNbY",[102,106,110,114,115,119,123,127,131,135,139,143,147,151,155,159,163],{"path":103,"title":104,"description":105},"\u002Fprompts\u002Fmigrate-from-anchorage","Migrate from Anchorage Digital to BlindPay","Keep Anchorage Digital for custody and move the stablecoin-to-fiat leg to BlindPay: map transfers, withdrawals, and settlement events to BlindPay quotes, payouts, and webhooks.",{"path":107,"title":108,"description":109},"\u002Fprompts\u002Fmigrate-from-bitgo","Migrate from BitGo to BlindPay","Move the stablecoin-to-fiat leg of a BitGo integration to BlindPay: map wallets, transfers, and settlement webhooks to BlindPay customers, quotes, payouts, and Svix events.",{"path":111,"title":112,"description":113},"\u002Fprompts\u002Fmigrate-from-bridge","Migrate from Bridge to BlindPay","Move an existing Bridge integration to the BlindPay API: map customers, external accounts, liquidation addresses, and transfers to their BlindPay equivalents.",{"path":90,"title":5,"description":85},{"path":116,"title":117,"description":118},"\u002Fprompts\u002Fmigrate-from-cobo","Migrate from Cobo to BlindPay","Move an existing Cobo Payments integration to the BlindPay API: keep Cobo for custody if you want, and replace the stablecoin-to-fiat leg with BlindPay's customers, quotes, and payouts.",{"path":120,"title":121,"description":122},"\u002Fprompts\u002Fmigrate-from-coinbase-cdp","Migrate from Coinbase CDP to BlindPay","Move the stablecoin-to-fiat offramp leg of a Coinbase Developer Platform integration to BlindPay: add Pix, SPEI, SEPA, ACH, and wire payouts while CDP wallets keep custody.",{"path":124,"title":125,"description":126},"\u002Fprompts\u002Fmigrate-from-conduit","Migrate from Conduit to BlindPay","Move a Conduit cross-border payments integration to BlindPay: counterparties, corridors, and settlement tracking on the quote-and-execute model.",{"path":128,"title":129,"description":130},"\u002Fprompts\u002Fmigrate-from-crossmint","Migrate from Crossmint to BlindPay","Move the stablecoin-to-fiat leg of a Crossmint integration to BlindPay while Crossmint keeps handling wallets, checkout, or orchestration.",{"path":132,"title":133,"description":134},"\u002Fprompts\u002Fmigrate-from-dfns","Migrate from Dfns to BlindPay","Keep Dfns for MPC wallet custody and move the stablecoin-to-fiat leg to BlindPay: map transfers and exchange withdrawals to quotes, payouts, and registered external wallets.",{"path":136,"title":137,"description":138},"\u002Fprompts\u002Fmigrate-from-dynamic","Migrate from Dynamic to BlindPay","Keep Dynamic for embedded and server wallets, move the stablecoin-to-fiat offramp leg to BlindPay: register the Dynamic wallet, quote and execute payouts, and verify webhooks.",{"path":140,"title":141,"description":142},"\u002Fprompts\u002Fmigrate-from-fern","Migrate from Fern to BlindPay","Move a Fern stablecoin integration to BlindPay: customers, wallets, on\u002Foff ramps, and webhook-driven settlement on the quote-and-execute model.",{"path":144,"title":145,"description":146},"\u002Fprompts\u002Fmigrate-from-fireblocks","Migrate from Fireblocks to BlindPay","Move the stablecoin-to-fiat payout leg of a Fireblocks integration to BlindPay: map payout instruction sets, fiat accounts, and webhooks while Fireblocks stays as custodian.",{"path":148,"title":149,"description":150},"\u002Fprompts\u002Fmigrate-from-privy","Migrate from Privy to BlindPay","Keep Privy for embedded and server wallets, move the stablecoin-to-fiat offramp leg to BlindPay: register the Privy wallet, quote and execute payouts, and verify webhooks.",{"path":152,"title":153,"description":154},"\u002Fprompts\u002Fmigrate-from-swift-wires","Migrate from SWIFT wires to stablecoin payouts","Replace multi-day international wires with same-day stablecoin settlement over local rails, keeping SWIFT as a fallback where you still need it.",{"path":156,"title":157,"description":158},"\u002Fprompts\u002Fmigrate-from-turnkey","Migrate from Turnkey to BlindPay","Keep Turnkey for wallets and signing, and move the stablecoin-to-fiat offramp leg of a Turnkey-based product to BlindPay: map payout accounts, quotes, and webhooks.",{"path":160,"title":161,"description":162},"\u002Fprompts\u002Fmigrate-from-utila","Migrate from Utila to BlindPay","Keep Utila as custodian and signer, and route the stablecoin-to-fiat leg through BlindPay: map vaults, wallets, transactions, and webhooks to their BlindPay equivalents.",{"path":164,"title":165,"description":166},"\u002Fprompts\u002Fmigrate-from-manual-payouts","Migrate from manual bank payouts to the API","Turn a spreadsheet-and-bank-portal payout operation into an automated, webhook-driven API flow with an auditable state machine.",1787868849777]