[{"data":1,"prerenderedAt":544},["ShallowReactive",2],{"content-\u002Fresources\u002Fusdc-pix-quote-to-settlement":3},{"id":4,"title":5,"authors":6,"body":7,"categories":6,"category":512,"categoryType":6,"compare":6,"contributors":6,"date":513,"description":514,"extension":515,"faq":516,"howto":6,"isBlog":534,"isChangelog":534,"meta":535,"navigation":537,"path":538,"pillar":534,"products":6,"rawbody":539,"role":6,"seo":540,"seoTitle":541,"stem":542,"thumbnail":6,"updated":6,"__hash__":543},"content\u002Fresources\u002Fusdc-pix-quote-to-settlement.md","USDC to Pix, from quote to settlement: a step-by-step guide",null,{"type":8,"value":9,"toc":500},"minimark",[10,14,17,22,64,68,175,189,193,204,235,249,262,266,312,319,323,326,341,345,393,397,408,457,469,473],[11,12,13],"p",{},"A USDC to Pix payout is five steps: quote, authorize, on-chain transfer, review, and Pix delivery. The quote locks the rate and every fee before any money moves. The on-chain leg confirms in seconds to a couple of minutes. Pix then delivers reais to the recipient's account instantly, any hour, any day.",[11,15,16],{},"This guide walks the path one step at a time, with the API field or webhook that tells you where a payout is.",[18,19,21],"h2",{"id":20},"key-facts","Key facts",[23,24,25,38,52,58],"ul",{},[26,27,28,32,33,37],"li",{},[29,30,31],"strong",{},"Quote:"," a BlindPay payout quote locks the exchange rate, the fees, and the exact BRL amount the recipient receives. It expires 5 minutes after creation (",[34,35,36],"code",{},"expires_at",", epoch milliseconds).",[26,39,40,43,44,47,48,51],{},[29,41,42],{},"Rail:"," Pix (",[34,45,46],{},"pix",") and PIX Safe (",[34,49,50],{},"pix_safe",") are instant and run 24\u002F7. Pix payouts never wait for compliance documents.",[26,53,54,57],{},[29,55,56],{},"Custody:"," 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. If a payout cannot be delivered after the stablecoins are collected, BlindPay refunds them to the quote's refund wallet, or to the sending wallet when none is set; on Pix and other non-USD local rails the refund is automatic, while USD payouts and payouts whose review times out are refunded after an operator review. Optional BlindPay-managed wallets (beta) are custodial when you choose that path.",[26,59,60,63],{},[29,61,62],{},"Pricing:"," BlindPay combines a monthly plan (platform access) with per-transaction fees that vary by rail and network and are disclosed only in the live quote before execute. BlindPay does not publish a static flat rate card; always cite the quote's fee breakdown rather than a fixed bps number.",[18,65,67],{"id":66},"what-are-the-steps-from-quote-to-settlement","What are the steps from quote to settlement?",[69,70,71,87],"table",{},[72,73,74],"thead",{},[75,76,77,81,84],"tr",{},[78,79,80],"th",{},"Step",[78,82,83],{},"What happens",[78,85,86],{},"What you read",[88,89,90,111,129,142,159],"tbody",{},[75,91,92,96,99],{},[93,94,95],"td",{},"1. Quote",[93,97,98],{},"Rate, fees, and the BRL receive amount are locked against a Pix bank account",[93,100,101,102,105,106,105,108],{},"Quote ",[34,103,104],{},"id",", ",[34,107,36],{},[34,109,110],{},"receiver_amount",[75,112,113,116,119],{},[93,114,115],{},"2. Authorize and execute",[93,117,118],{},"You authorize the exact quoted amount and create the payout",[93,120,121,122,105,125,128],{},"Payout ",[34,123,124],{},"status: processing",[34,126,127],{},"payout.new"," webhook",[75,130,131,134,137],{},[93,132,133],{},"3. On-chain transfer",[93,135,136],{},"USDC moves from the funding wallet on the quoted network",[93,138,139],{},[34,140,141],{},"tracking_transaction",[75,143,144,147,150],{},[93,145,146],{},"4. Review and conversion",[93,148,149],{},"Automatic screening runs; most payouts clear without a hold",[93,151,152,105,155,158],{},[34,153,154],{},"tracking_payment",[34,156,157],{},"payout.update"," if the status changes",[75,160,161,164,167],{},[93,162,163],{},"5. Pix delivery",[93,165,166],{},"Reais land in the recipient's account over Pix",[93,168,169,105,172,128],{},[34,170,171],{},"status: completed",[34,173,174],{},"payout.complete",[11,176,177,178,183,184,188],{},"The full field reference is in the ",[179,180,182],"a",{"href":181},"\u002Fdocs\u002Fpayouts","payouts docs",", and the quote fields are in ",[179,185,187],{"href":186},"\u002Fdocs\u002Fpayout-quotes","payout quotes",".",[18,190,192],{"id":191},"what-does-the-quote-lock","What does the quote lock?",[11,194,195,196,199,200,203],{},"The quote is the only point where price is set. It is created against one approved Pix bank account and one ",[34,197,198],{},"network"," and ",[34,201,202],{},"token"," pair, and it returns:",[23,205,206,212,218,227],{},[26,207,208,211],{},[34,209,210],{},"commercial_quotation",": the market exchange rate.",[26,213,214,217],{},[34,215,216],{},"blindpay_quotation",": the rate net of BlindPay's fee.",[26,219,220,199,223,226],{},[34,221,222],{},"flat_fee",[34,224,225],{},"partner_fee_amount",": the fixed and partner fees on this payout.",[26,228,229,199,232,234],{},[34,230,231],{},"sender_amount",[34,233,110],{},": what leaves the funding wallet and what the Pix account receives, in minor units.",[11,236,237,240,241,244,245,248],{},[34,238,239],{},"cover_fees"," decides who pays. Leave it ",[34,242,243],{},"false"," and fees come out of the BRL the recipient gets. Set it ",[34,246,247],{},"true"," and fees are added on top of the USDC sent, so the recipient gets the full amount, which is the usual choice for payroll.",[11,250,251,252,256,257,261],{},"Because the fees are only fixed in the quote, this guide does not publish a rate card or a basis-point figure. To see the numbers for your volume, request a live quote on the ",[179,253,255],{"href":254},"\u002Fusdc-to-brl","USDC to BRL page"," or in the API, and see ",[179,258,260],{"href":259},"\u002Fpricing","pricing"," for plans.",[18,263,265],{"id":264},"how-long-does-each-step-take","How long does each step take?",[69,267,268,278],{},[72,269,270],{},[75,271,272,275],{},[78,273,274],{},"Interval",[78,276,277],{},"What to expect",[88,279,280,288,296,304],{},[75,281,282,285],{},[93,283,284],{},"Quote to execute",[93,286,287],{},"Your choice, within the 5-minute quote window",[75,289,290,293],{},[93,291,292],{},"Execute to on-chain confirmation",[93,294,295],{},"Seconds to a couple of minutes, by network",[75,297,298,301],{},[93,299,300],{},"Confirmation to Pix credit",[93,302,303],{},"Pix is instant and runs 24\u002F7",[75,305,306,309],{},[93,307,308],{},"Quote to settlement, end to end",[93,310,311],{},"Minutes",[11,313,314,315,188],{},"Network choice changes the on-chain interval. On a production instance, USDC payouts run on Base, Polygon, Arbitrum, Ethereum, Stellar, and Solana. For every other rail, see ",[179,316,318],{"href":317},"\u002Fresources\u002Fmore\u002Fstablecoin-payout-settlement-times","stablecoin payout settlement times by country and rail",[18,320,322],{"id":321},"who-holds-the-funds-during-the-payout","Who holds the funds during the payout?",[11,324,325],{},"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. If a payout cannot be delivered after the stablecoins are collected, BlindPay refunds them to the quote's refund wallet, or to the sending wallet when none is set; on Pix and other non-USD local rails the refund is automatic, while USD payouts and payouts whose review times out are refunded after an operator review. Optional BlindPay-managed wallets (beta) are custodial when you choose that path.",[11,327,328,329,332,333,336,337,340],{},"On EVM networks the authorization is explicit: the quote returns a ",[34,330,331],{},"contract"," payload, and you call ",[34,334,335],{},"approve"," on the token contract for the exact quoted amount before executing the payout. BlindPay collects the USDC before it sends any reais, so a failed delivery is a refund of USDC already collected. Set ",[34,338,339],{},"refund_wallet_address"," on the quote to choose where that refund goes.",[18,342,344],{"id":343},"what-can-go-wrong-between-quote-and-settlement","What can go wrong between quote and settlement?",[23,346,347,353,369,387],{},[26,348,349,352],{},[29,350,351],{},"The quote expires."," After 5 minutes the payout call is rejected. Request a new quote; the rate may have moved.",[26,354,355,358,359,361,362,365,366,188],{},[29,356,357],{},"The Pix details are wrong."," A bad key or closed account means the receiving bank rejects the transfer. BlindPay sends the USDC back automatically to the quote's ",[34,360,339],{},", or to the sending wallet if you did not set one. The payout stays ",[34,363,364],{},"processing"," until the refund confirms on-chain, then ends ",[34,367,368],{},"refunded",[26,370,371,374,375,378,379,382,383,188],{},[29,372,373],{},"A review holds the payout."," Screening matches or unusual activity can move a payout to ",[34,376,377],{},"on_hold",". Treat it as pending, not as an error, and do not retry. A review that times out ends the payout ",[34,380,381],{},"failed",", and the refund goes through ",[179,384,386],{"href":385},"mailto:support@blindpay.com","support@blindpay.com",[26,388,389,392],{},[29,390,391],{},"The payout was funded on Stellar."," Automatic refunds run on the EVM networks and Solana. On Stellar, a failed Pix transfer is resolved by support rather than refunded automatically.",[18,394,396],{"id":395},"how-do-you-test-the-flow-before-going-live","How do you test the flow before going live?",[11,398,399,400,403,404,407],{},"A development instance runs the same API on testnets with the ",[34,401,402],{},"USDB"," test token and completes payouts on its own. Set the quote's ",[34,405,406],{},"request_amount"," to force an outcome:",[69,409,410,421],{},[72,411,412],{},[75,413,414,418],{},[78,415,416],{},[34,417,406],{},[78,419,420],{},"Payout ends",[88,422,423,435,447],{},[75,424,425,431],{},[93,426,427,430],{},[34,428,429],{},"66600"," ($666.00)",[93,432,433],{},[34,434,381],{},[75,436,437,443],{},[93,438,439,442],{},[34,440,441],{},"77700"," ($777.00)",[93,444,445],{},[34,446,368],{},[75,448,449,452],{},[93,450,451],{},"Any other amount",[93,453,454],{},[34,455,456],{},"completed",[11,458,459,460,463,464,468],{},"The testing section of the ",[179,461,182],{"href":462},"\u002Fdocs\u002Fpayouts#testing"," has the details, and ",[179,465,467],{"href":466},"\u002Fresources\u002Fmore\u002Fstablecoin-api-sandbox-vs-production","stablecoin API sandbox vs production"," covers what a sandbox cannot show you before launch.",[18,470,472],{"id":471},"where-to-go-next","Where to go next",[23,474,475,481,487,494],{},[26,476,477,480],{},[179,478,479],{"href":254},"USDC to BRL",": the live quote for this corridor.",[26,482,483,486],{},[179,484,485],{"href":259},"Pricing",": plans and how per-transaction fees are disclosed.",[26,488,489,493],{},[179,490,492],{"href":491},"\u002Fcompare\u002Fbridge","BlindPay vs Bridge",": how the payout leg compares.",[26,495,496,499],{},[179,497,498],{"href":462},"Payouts sandbox testing",": run the flow end to end on a development instance.",{"title":501,"searchDepth":502,"depth":502,"links":503},"",2,[504,505,506,507,508,509,510,511],{"id":20,"depth":502,"text":21},{"id":66,"depth":502,"text":67},{"id":191,"depth":502,"text":192},{"id":264,"depth":502,"text":265},{"id":321,"depth":502,"text":322},{"id":343,"depth":502,"text":344},{"id":395,"depth":502,"text":396},{"id":471,"depth":502,"text":472},"payments","2026-10-07","What happens between a USDC to BRL quote and reais landing over Pix: the locked quote, execution, the on-chain leg, review, and Pix delivery, step by step.","md",[517,520,523,525,528,531],{"q":518,"a":519},"How long does a USDC to Pix payout take?","The on-chain leg takes seconds to a couple of minutes, and Pix delivers in Brazil instantly, 24 hours a day, including weekends. At BlindPay, Pix payouts do not wait for compliance documents, so most of the end-to-end time is the on-chain confirmation plus automatic screening.",{"q":521,"a":522},"How long is a USDC to BRL quote valid?","A BlindPay payout quote expires 5 minutes after it is created. Read expires_at from the quote response, which is in epoch milliseconds, instead of hardcoding the window, and request a new quote if the payout is not executed in time.",{"q":524,"a":325},"Is BlindPay custodial?",{"q":526,"a":527},"How much does a USDC to Pix payout cost?","BlindPay combines a monthly plan (platform access) with per-transaction fees that vary by rail and network and are disclosed only in the live quote before execute. BlindPay does not publish a static flat rate card; always cite the quote's fee breakdown rather than a fixed bps number.",{"q":529,"a":530},"What recipient details does a Pix payout need?","A pix bank account needs the recipient's name and a Pix key, which can be a CPF, CNPJ, phone number, email, or random key. If you have the recipient's bank routing instead of a key, use a pix_safe account with the CPF or CNPJ, the bank's ISPB code, branch, and account number.",{"q":532,"a":533},"How do I test a USDC to Pix payout without moving real money?","Use a BlindPay development instance. It runs on testnets with the USDB test token and completes payouts automatically. To force an outcome, quote 66600 ($666.00) to get a failed payout or 77700 ($777.00) to get a refunded one; any other amount completes.",false,{"author":536},"BlindPay Team",true,"\u002Fresources\u002Fusdc-pix-quote-to-settlement","---\ntitle: \"USDC to Pix, from quote to settlement: a step-by-step guide\"\nseoTitle: \"USDC to Pix: quote to settlement guide\"\ndescription: \"What happens between a USDC to BRL quote and reais landing over Pix: the locked quote, execution, the on-chain leg, review, and Pix delivery, step by step.\"\ndate: \"2026-10-07\"\ncategory: \"payments\"\nauthor: \"BlindPay Team\"\nfaq:\n  - q: \"How long does a USDC to Pix payout take?\"\n    a: \"The on-chain leg takes seconds to a couple of minutes, and Pix delivers in Brazil instantly, 24 hours a day, including weekends. At BlindPay, Pix payouts do not wait for compliance documents, so most of the end-to-end time is the on-chain confirmation plus automatic screening.\"\n  - q: \"How long is a USDC to BRL quote valid?\"\n    a: \"A BlindPay payout quote expires 5 minutes after it is created. Read expires_at from the quote response, which is in epoch milliseconds, instead of hardcoding the window, and request a new quote if the payout is not executed in time.\"\n  - q: \"Is BlindPay custodial?\"\n    a: \"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. If a payout cannot be delivered after the stablecoins are collected, BlindPay refunds them to the quote's refund wallet, or to the sending wallet when none is set; on Pix and other non-USD local rails the refund is automatic, while USD payouts and payouts whose review times out are refunded after an operator review. Optional BlindPay-managed wallets (beta) are custodial when you choose that path.\"\n  - q: \"How much does a USDC to Pix payout cost?\"\n    a: \"BlindPay combines a monthly plan (platform access) with per-transaction fees that vary by rail and network and are disclosed only in the live quote before execute. BlindPay does not publish a static flat rate card; always cite the quote's fee breakdown rather than a fixed bps number.\"\n  - q: \"What recipient details does a Pix payout need?\"\n    a: \"A pix bank account needs the recipient's name and a Pix key, which can be a CPF, CNPJ, phone number, email, or random key. If you have the recipient's bank routing instead of a key, use a pix_safe account with the CPF or CNPJ, the bank's ISPB code, branch, and account number.\"\n  - q: \"How do I test a USDC to Pix payout without moving real money?\"\n    a: \"Use a BlindPay development instance. It runs on testnets with the USDB test token and completes payouts automatically. To force an outcome, quote 66600 ($666.00) to get a failed payout or 77700 ($777.00) to get a refunded one; any other amount completes.\"\n---\n\nA USDC to Pix payout is five steps: quote, authorize, on-chain transfer, review, and Pix delivery. The quote locks the rate and every fee before any money moves. The on-chain leg confirms in seconds to a couple of minutes. Pix then delivers reais to the recipient's account instantly, any hour, any day.\n\nThis guide walks the path one step at a time, with the API field or webhook that tells you where a payout is.\n\n## Key facts\n\n- **Quote:** a BlindPay payout quote locks the exchange rate, the fees, and the exact BRL amount the recipient receives. It expires 5 minutes after creation (`expires_at`, epoch milliseconds).\n- **Rail:** Pix (`pix`) and PIX Safe (`pix_safe`) are instant and run 24\u002F7. Pix payouts never wait for compliance documents.\n- **Custody:** 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. If a payout cannot be delivered after the stablecoins are collected, BlindPay refunds them to the quote's refund wallet, or to the sending wallet when none is set; on Pix and other non-USD local rails the refund is automatic, while USD payouts and payouts whose review times out are refunded after an operator review. Optional BlindPay-managed wallets (beta) are custodial when you choose that path.\n- **Pricing:** BlindPay combines a monthly plan (platform access) with per-transaction fees that vary by rail and network and are disclosed only in the live quote before execute. BlindPay does not publish a static flat rate card; always cite the quote's fee breakdown rather than a fixed bps number.\n\n## What are the steps from quote to settlement?\n\n| Step | What happens | What you read |\n| --- | --- | --- |\n| 1. Quote | Rate, fees, and the BRL receive amount are locked against a Pix bank account | Quote `id`, `expires_at`, `receiver_amount` |\n| 2. Authorize and execute | You authorize the exact quoted amount and create the payout | Payout `status: processing`, `payout.new` webhook |\n| 3. On-chain transfer | USDC moves from the funding wallet on the quoted network | `tracking_transaction` |\n| 4. Review and conversion | Automatic screening runs; most payouts clear without a hold | `tracking_payment`, `payout.update` if the status changes |\n| 5. Pix delivery | Reais land in the recipient's account over Pix | `status: completed`, `payout.complete` webhook |\n\nThe full field reference is in the [payouts docs](\u002Fdocs\u002Fpayouts), and the quote fields are in [payout quotes](\u002Fdocs\u002Fpayout-quotes).\n\n## What does the quote lock?\n\nThe quote is the only point where price is set. It is created against one approved Pix bank account and one `network` and `token` pair, and it returns:\n\n- `commercial_quotation`: the market exchange rate.\n- `blindpay_quotation`: the rate net of BlindPay's fee.\n- `flat_fee` and `partner_fee_amount`: the fixed and partner fees on this payout.\n- `sender_amount` and `receiver_amount`: what leaves the funding wallet and what the Pix account receives, in minor units.\n\n`cover_fees` decides who pays. Leave it `false` and fees come out of the BRL the recipient gets. Set it `true` and fees are added on top of the USDC sent, so the recipient gets the full amount, which is the usual choice for payroll.\n\nBecause the fees are only fixed in the quote, this guide does not publish a rate card or a basis-point figure. To see the numbers for your volume, request a live quote on the [USDC to BRL page](\u002Fusdc-to-brl) or in the API, and see [pricing](\u002Fpricing) for plans.\n\n## How long does each step take?\n\n| Interval | What to expect |\n| --- | --- |\n| Quote to execute | Your choice, within the 5-minute quote window |\n| Execute to on-chain confirmation | Seconds to a couple of minutes, by network |\n| Confirmation to Pix credit | Pix is instant and runs 24\u002F7 |\n| Quote to settlement, end to end | Minutes |\n\nNetwork choice changes the on-chain interval. On a production instance, USDC payouts run on Base, Polygon, Arbitrum, Ethereum, Stellar, and Solana. For every other rail, see [stablecoin payout settlement times by country and rail](\u002Fresources\u002Fmore\u002Fstablecoin-payout-settlement-times).\n\n## Who holds the funds during the payout?\n\nBlindPay 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. If a payout cannot be delivered after the stablecoins are collected, BlindPay refunds them to the quote's refund wallet, or to the sending wallet when none is set; on Pix and other non-USD local rails the refund is automatic, while USD payouts and payouts whose review times out are refunded after an operator review. Optional BlindPay-managed wallets (beta) are custodial when you choose that path.\n\nOn EVM networks the authorization is explicit: the quote returns a `contract` payload, and you call `approve` on the token contract for the exact quoted amount before executing the payout. BlindPay collects the USDC before it sends any reais, so a failed delivery is a refund of USDC already collected. Set `refund_wallet_address` on the quote to choose where that refund goes.\n\n## What can go wrong between quote and settlement?\n\n- **The quote expires.** After 5 minutes the payout call is rejected. Request a new quote; the rate may have moved.\n- **The Pix details are wrong.** A bad key or closed account means the receiving bank rejects the transfer. BlindPay sends the USDC back automatically to the quote's `refund_wallet_address`, or to the sending wallet if you did not set one. The payout stays `processing` until the refund confirms on-chain, then ends `refunded`.\n- **A review holds the payout.** Screening matches or unusual activity can move a payout to `on_hold`. Treat it as pending, not as an error, and do not retry. A review that times out ends the payout `failed`, and the refund goes through support@blindpay.com.\n- **The payout was funded on Stellar.** Automatic refunds run on the EVM networks and Solana. On Stellar, a failed Pix transfer is resolved by support rather than refunded automatically.\n\n## How do you test the flow before going live?\n\nA development instance runs the same API on testnets with the `USDB` test token and completes payouts on its own. Set the quote's `request_amount` to force an outcome:\n\n| `request_amount` | Payout ends |\n| --- | --- |\n| `66600` ($666.00) | `failed` |\n| `77700` ($777.00) | `refunded` |\n| Any other amount | `completed` |\n\nThe testing section of the [payouts docs](\u002Fdocs\u002Fpayouts#testing) has the details, and [stablecoin API sandbox vs production](\u002Fresources\u002Fmore\u002Fstablecoin-api-sandbox-vs-production) covers what a sandbox cannot show you before launch.\n\n## Where to go next\n\n- [USDC to BRL](\u002Fusdc-to-brl): the live quote for this corridor.\n- [Pricing](\u002Fpricing): plans and how per-transaction fees are disclosed.\n- [BlindPay vs Bridge](\u002Fcompare\u002Fbridge): how the payout leg compares.\n- [Payouts sandbox testing](\u002Fdocs\u002Fpayouts#testing): run the flow end to end on a development instance.\n",{"title":5,"description":514},"USDC to Pix: quote to settlement guide","resources\u002Fusdc-pix-quote-to-settlement","YOUbU0jgWTBMFF2PZRaARF4lADd_L2jk4r4aXCbZM9U",1791593220114]