Skip to main content

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:
  1. Register a bank account - Add the bank account where redeemed funds will be sent
  2. Create redemption instructions - Set up the redemption configuration with bank account and blockchain details
  3. Send stablecoins to the redemption address - Initiate redemption by transferring stablecoins
  4. 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 address returned 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.
Once the stablecoin transfer is received and verified:
  1. The stablecoins are burned
  2. The equivalent USD amount is calculated
  3. 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

  1. Use unique request IDs: Generate a new UUID for each new logical request, and reuse the same request_id when retrying that request so it stays idempotent.
  2. Verify bank details: Double-check bank account information before creating bank accounts.
  3. Correct address: Always verify you’re sending to the correct redemption address on the correct chain.
  4. Test small amounts: For initial testing, start with small redemption amounts.
  5. Monitor status: Use webhooks or polling to track redemption progress.
  6. 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