Skip to main content
Heads up: Stablecoin issuance is a permissioned product and must be explicitly enabled by our team before use. If you’re interested in accessing our stablecoin issuance APIs, please contact us to request activation and discuss eligibility and setup.

Prerequisites

To mint or redeem, create a BUSINESS identity and submit compliance data for that entity. See this page for more details.

Mint workflow

This flow enables minting stablecoin tokens to an address on a supported blockchain. At this time, the only supported blockchain is SOLANA_DEVNET

Step 1: Register a mint destination address

Endpoint: POST /v2/issuance/mint-addresses Registers an on-chain address as an eligible destination for minted tokens. Tokens cannot be minted to an address that has not been successfully registered.

Request

Response

Step 2: Create mint instructions

Endpoint: POST /v2/issuance/mint-instructions Creates a mint instruction for a given identity. This endpoint will return the following information, which will be needed to trigger a mint:
  • Details about the bank account that funds must be transferred to in order to trigger a mint
  • A memo_id, which must be attached to the memo field of any wire transfer sent to the returned bank account in order to trigger a mint

Request

Response

Step 3: Send a wire transfer

Send a wire transfer following the mint instructions generated in step 2. Alternatively, in sandbox you may simulate a wire transfer via the Simulate Fiat Deposit endpoint. Calling this endpoint with the request body provided below will trigger a test mint. The ID of the triggered mint will be returned in the response.

Request

Response

Step 4: View mint history

Endpoint: GET /v2/issuance/mints List mints and their statuses.

Sample call

GET /v2/issuance/mints?identity_id=34ekQKpGgpmjAZ4DNu9KiTfGmxk&status=ACCEPTED

Response


Redemption workflow

Allows customers to redeem tokens for fiat through supported bank rails.

Step 1: Register a bank account

Endpoint: POST /v2/issuance/bank-account Registers a bank account with Bastion. Only registered bank accounts can receive the proceeds of any redemptions.

Request

Response

Step 2: Create redemption instructions

Endpoint: POST /v2/issuance/redemption-instructions Creates a blockchain-to-bank redemption path for a customer. Each redemption instruction is tied to a bank account and fiat payout method and provides a redemption address. When a deposit to this redemption address is detected, a redemption will be initiated.

Request

Response

Step 3: Deposit to the redemption address

Transfer the stablecoin you would like to redeem to the redemption address generated in step 2.

Step 4: View redemption history

Endpoint: GET /v2/issuance/redemptions

Sample call

GET /v2/issuance/redemptions?identity_id=34ekQKpGgpmjAZ4DNu9KiTfGmxk&status=ACCEPTED

Response