Redeem Bastion-issued stablecoins
This guide walks you through the process of redeeming Bastion-issued stablecoins using Bastion’s Issuance API. Redemption converts stablecoins back into fiat currency (USD) that is sent to a registered bank account via wire transfer.Overview
The redemption process involves several steps:- Register a bank account - Add the bank account where redeemed funds will be sent
- Create redemption instructions - Set up the redemption configuration with bank account and blockchain details
- Send stablecoins to the redemption address - Initiate redemption by transferring stablecoins
- Monitor the redemption - Track the status of your redemption request
Prerequisites
Before you begin, ensure you have:- A valid API key with issuance permissions
- An approved Business identity created for the redeeming entity
- Note that Issuance is not supported for Individual identities at this moment
- Bank account details for receiving USD wire transfers
- Stablecoins in a wallet on a supported chain
Step 1: register a bank account
First, register the bank account where redeemed funds will be sent.Request
Request parameters
Bank account details object
Address object
Response
Step 2: create redemption instructions
Create redemption instructions that specify how redemptions should be processed, including the bank account and blockchain details.Request
Request parameters
Response
Important: Save the address from the response. This is the blockchain address where you’ll send stablecoins to initiate redemptions.
Step 3: initiate the redemption (send stablecoins)
To redeem stablecoins, send them to the redemption address provided in the redemption instructions response. Critical requirements:- Use the correct address: Send stablecoins to the exact
addressreturned in Step 2. - Correct chain: Ensure you’re sending on the same blockchain network specified in the redemption instructions.
- Correct stablecoin: Send the stablecoin type specified in
stablecoin_symbol.
- The stablecoins are burned
- The equivalent USD amount is calculated
- A wire transfer is initiated to your registered bank account
Step 4: monitor redemption status
List all redemptions
Query parameters
Response
Get a specific redemption
Response
Redemption status values
Redemption response fields
Additional endpoints
List bank accounts
Get bank account
List redemption instructions
Get redemption instructions
Supported chains
Error handling
Webhooks
Configure webhooks to receive real-time notifications when redemption status changes. See the Webhooks documentation for setup instructions.Best practices
- Use unique request IDs: Generate a new UUID for each new logical request, and reuse the same
request_idwhen retrying that request so it stays idempotent. - Verify bank details: Double-check bank account information before creating bank accounts.
- Correct address: Always verify you’re sending to the correct redemption address on the correct chain.
- Test small amounts: For initial testing, start with small redemption amounts.
- Monitor status: Use webhooks or polling to track redemption progress.
- Test on Devnet: Use Solana Devnet for testing before moving to production.
Processing timeline
Redemption processing times depend on several factors:- Blockchain confirmation: Typically minutes, depending on the chain
- Wire transfer: 1-3 business days for domestic US wires
Security considerations
- Bank account details are stored securely and cannot be modified after creation
- Each redemption instruction generates a unique blockchain address
- All transactions are logged and auditable
- Compliance checks are performed on all redemption requests