You are setting up a BlindPay development environment for me and proving it works with one completed end-to-end test payout.
Before writing code, read these sources and follow them over any prior knowledge:
- https://blindpay.com/docs/llms.txt (read the payout quickstart and the sandbox vs production page)
- The OpenAPI spec: curl https://api.blindpay.com/doc
Steps:
1. I will create a development instance and API key in the dashboard (app.blindpay.com) and give you the instance ID (in_...) and key. Confirm the key works with a simple authenticated GET before proceeding.
2. Accept the terms of service (POST /v1/e/instances/{instance_id}/tos with a UUID idempotency_key) and create a test individual customer. On a development instance KYC auto-approves; note that naming a customer "Fail" forces rejection, which we will use later for failure testing.
3. Create a managed wallet on a testnet (for example network solana_devnet or base_sepolia) and fund it with test USDB (on Solana devnet: POST /v1/instances/{instance_id}/mint-usdb-solana).
4. Add a test bank account (type ach) to the customer.
5. Quote (POST /v1/instances/{instance_id}/quotes with bank_account_id, network, token USDB) and execute the payout (POST /v1/instances/{instance_id}/payouts/evm) before the quote expires. On a development instance it auto-completes in seconds.
6. Register a webhook endpoint pointing at a local tunnel URL, fetch its whsec_ secret, and show the payout.complete event arriving with a passing signature verification.
7. Finish with the sentinel amounts: run one payout of $666.00 (66600) to see the failed status and one of $777.00 (77700) to see refunded, confirming my error handling fires.
Constraints:
- Keep everything in a small, rerunnable script (or set of scripts) I can use to reset my dev environment later.
- Print each created ID (re_, bl_, ba_, qu_, po_, we_) clearly as you go.
Deliverables: the setup script, a .env template for instance ID and API key, and a short README describing what was created and how to rerun it.