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