What it is
A payout moves funds from the sender's wallet to a customer's bank account. Stablecoins stored in a BlindPay-managed wallet can also be used as the source of funds.
A payout can only execute after a quote is created, and the quote expires 5 minutes after creation. Review how BlindPay manages stablecoins in the flow of funds explanation.
How it works
BlindPay supports payouts on EVM chains, Stellar, and Solana. On development instances, the test token is always USDB — a BlindPay-powered ERC20 stablecoin used to simulate payouts. See Supported Chains for the full chain and token matrix across all features.
Each network uses a distinct authorization mechanism before the payout executes:
| Network | Test network | Authorization mechanism |
|---|---|---|
| EVM | Base Sepolia Testnet | ERC20 approve on the token contract |
| Stellar | Stellar Testnet | Authorize endpoint + signed XDR transaction |
| Solana | Solana Devnet | Token delegation (prepare + signed transaction) |
Payout lifecycle: create a quote, authorize the tokens for the chosen network, then create the payout before the quote expires.
How to mint USDB
USDB is a fake ERC20 stablecoin powered by BlindPay to simulate payouts on development instances. You can mint infinite USDB on EVM chains, but the wallet needs Ether to pay gas — get some from the Base Sepolia faucet.
Put your instance_id on the following url https://app.blindpay.com/instances/<instance_id>/utilities/mint and mint USDB on Base Sepolia Testnet.
Remember: we're using Base Sepolia Testnet in all the examples below, so please double check you're doing everything on the correct network.
Mint on Stellar
USDB can also be minted on Stellar Testnet.
Stellar Testnet USDB issuer: GCQSSIMOW5OCGULZATDXKU5MOJBOMFX6G65X6CXZDQ7AIB3SKFUZ67NX
Step 1: Create Asset Trustline (Only required once)
Before you can receive USDB tokens, you need to create a trustline to the USDB asset. This is a one-time setup that you only need to do once per wallet.
This will return an unsigned XDR transaction:
Step 2: Sign and Submit the Trustline Transaction
You have two options to complete the trustline setup. Choose only one:
Option A: Sign and submit manually
- Sign the XDR using your Stellar wallet (or use Stellar Lab)
- Submit the signed transaction to the Stellar network yourself
Option B: Let BlindPay submit it for you
- Sign the XDR using your Stellar wallet
- Pass the
signedXdrto the mint endpoint in the next step - BlindPay will submit the trustline transaction for you
Step 3: Mint USDB Tokens
After your trustline is established, you can mint USDB tokens:
Put your wallet address, the amount, and optionally the signedXdr (if you chose Option B above) on the following url https://api.blindpay.com/v1/instances/{instance_id}/mint-usdb-stellar.
Important: Use the same wallet address that you used when creating your blockchain wallet in the blockchain wallets section. The trustline setup is only required once per wallet.
Mint on Solana
USDB can also be minted on Solana Devnet. Put your wallet address and the amount on the following endpoint:
This will return:
Prerequisites
Create a payout
The EVM flow is the primary path. All stablecoins supported by BlindPay are ERC20 tokens, so you call the approve method on the token contract to allow BlindPay to move funds from a blockchain wallet.
If you're using Stellar or Solana, you'll use a different delegation process instead of ERC20 approvals. See the Stellar and Solana sections below for blockchain-specific instructions.
Approving tokens
Before approving the tokens, you need to have:
- A RPC provider URL from Base Sepolia Testnet
- A blockchain wallet with enough funds to execute the transaction
- The private key or any way to instantiate the blockchain wallet using ethers.js
- ERC20 token contract address (Provided by BlindPay on Quote API response)
- ERC20 ABI (Provided by BlindPay on Quote API response)
- BlindPay smart contract address (Provided by BlindPay on Quote API response)
This example uses an express.js server and the ethers.js library to simulate an approval. Ensure Node.js is installed.
Create a folder called approve-erc20. Inside the folder, run:
Install the dependencies:
Create a file called index.js inside it, paste the code below and replace the values with your own.
Run the code:
Access http://localhost:3000 and after a few seconds you should see a result like this in your browser:
Creating a payout on EVM chains
Check the required fields in the BlindPay API Docs.
Before creating a payout, complete the prerequisites, then generate a quote and approve the tokens.
YOUR_SECRET_TOKEN with your API key and in_000000000000 with your instance ID. Creating a payout on Stellar
Check the required fields in the BlindPay API Docs.
BlindPay Stellar mainnet wallet: GCOSSQDM2SWMHRP7CDBOLL2V45NHCRLUWUCEHPPBA2ABCOOLPOLZKIHE. This is the treasury wallet that receives payout crypto and sends payin crypto on Stellar mainnet.
YOUR_SECRET_TOKEN with your API key and in_000000000000 with your instance ID. Authorizing a token on Stellar
This endpoint will return a transaction hash that you can use to execute the payout.
With this hash we can create the transaction on Stellar.
First, install the dependencies:
Create a file called index.js inside it, paste the code below and replace the values with your own.
::
Run the code:
Create the payout on BlindPay using the hash that you got from the result.
Congratulations! You've completed your first payout using BlindPay. If you want to execute more payouts you need to create a new quote and approve the tokens again.
Creating a payout on Solana
Check the required fields in the BlindPay API Docs.
YOUR_SECRET_TOKEN with your API key and in_000000000000 with your instance ID. Solana payouts require a token delegation before executing the payout. Sign and submit a delegation transaction before calling the payout API.
Step 1: Prepare the Delegation Transaction
First, call the BlindPay API to prepare a delegation transaction:
This will return a serialized transaction that you need to sign:
Step 2: Sign and Submit the Delegation
Install the Solana dependencies:
Create a file called solana-delegate.js:
Run the delegation:
Step 3: Create the Payout on BlindPay
After the delegation is confirmed, you can create the payout using the /payouts/evm endpoint (same as EVM and Stellar):
Congratulations! You've completed your first Solana payout using BlindPay. The /payouts/evm endpoint supports EVM chains, Stellar, and Solana networks.
Note: For each Solana payout, you need to complete the delegation process (Steps 1-2) before creating the payout. The delegation authorizes BlindPay to pull the specified amount of tokens from your wallet.
Testing scenarios
By default all payouts are automatically completed in development instances. Force refund and failed scenarios by setting specific values for the payout amount.
| Amount | Result Status |
|---|---|
| 666.00 | Failed |
| 777.00 | Refunded |