---
title: "Integrate stablecoin payouts end to end"
description: "Build a complete stablecoin to fiat payout flow: customer onboarding, bank accounts, quotes, and payout execution over Pix, ACH, SPEI, SEPA, and more."
date: "2026-08-26"
category: "integrations"
products: ["payouts", "quotes", "compliance", "webhooks"]
---

Paste this prompt into Claude, Cursor, or any coding agent to scaffold a production-grade payout integration against the BlindPay API.

## Prompt

```text
You are integrating BlindPay stablecoin payouts (USDC/USDT to local fiat) into my application.

Before writing code, read these sources and follow them over any prior knowledge:
- https://blindpay.com/docs/llms.txt (docs index; read the payout quickstart, quotes, bank accounts, and webhooks pages)
- The OpenAPI spec: curl https://api.blindpay.com/doc

Build the full payout flow:
1. Terms of service acceptance (POST /v1/e/instances/{instance_id}/tos), then create a customer (POST /v1/instances/{instance_id}/customers) and wait for KYC approval via the customer.update webhook, not polling.
2. Add the recipient's bank account (POST /v1/instances/{instance_id}/customers/{customer_id}/bank-accounts) with the right rail type for the corridor (pix for BRL, ach/wire/rtp for USD, spei for MXN, sepa for EUR, transfers for ARS).
3. Request a payout quote (POST /v1/instances/{instance_id}/quotes) with bank_account_id, network, and token. Treat the quote as expiring in 5 minutes; read expires_at instead of hardcoding.
4. Execute the payout (POST /v1/instances/{instance_id}/payouts/evm) with the quote_id before expiry. If funding from an external wallet, handle the ERC-20 approve step using the contract object returned by the quote.
5. Track completion through payout.new, payout.update, and payout.complete webhooks, verifying Svix signatures (svix-id, svix-timestamp, svix-signature headers; HMAC-SHA256 over the raw body with the whsec_ secret; reject timestamps older than 5 minutes).

Constraints:
- All amounts are integers in minor units (cents).
- The API key is a Bearer token and must never reach client-side code.
- Start against a development instance: use USDB on a testnet (for example base_sepolia), where KYC auto-approves and payouts auto-complete.
- Persist BlindPay IDs (re_, ba_, qu_, po_) on my own records for reconciliation.

Deliverables: typed API client (or use the official SDK for my stack), the payout service, the webhook handler, and a happy-path integration test against the development instance.
```

## How to use

1. Create a development instance and API key at [app.blindpay.com](https://app.blindpay.com).
2. Paste the prompt into your agent along with your stack details (language, framework, database).
3. Give the agent your instance ID and let it run against the development instance, where payouts auto-complete in seconds.
4. Review the generated webhook verification code carefully before going live.

## Related docs

- [Payout quickstart](https://blindpay.com/docs/quickstart-payout)
- [Payout quotes](https://blindpay.com/docs/payout-quotes)
- [Bank accounts](https://blindpay.com/docs/bank-accounts)
- [Webhooks](https://blindpay.com/docs/learn/webhooks)
