Skip to main content
Complete a full cirBTC mint-and-redeem cycle in the Circle Mint sandbox: create a BTC deposit address, deposit BTC to mint cirBTC, transfer cirBTC onchain to an Ethereum address, and redeem cirBTC back to BTC.

Prerequisites

Before you begin, complete the account and API key setup. Substitute your sandbox API key for ${YOUR_API_KEY} in the examples below.

Step 1: Create a BTC deposit address

1.1. Create a deposit address

Create a deposit address on the Bitcoin blockchain using the create a deposit address endpoint.
Expected response:
Save the address from the response.

1.2. Send BTC to the deposit address

Send BTC to the deposit address to initiate minting.
In the sandbox, use the Circle faucet to obtain testnet BTC and send it to your deposit address. You can also use the sandbox environment at app-smokebox.circle.com to test API interactions.

Step 2: Verify your cirBTC balance

After BTC reaches four-block confirmation, cirBTC is credited to your account. Verify your balance using the list all balances endpoint:
Expected response:
The available balance confirms that your BTC deposit minted cirBTC successfully.
cirBTC uses a fast-mint mechanism. After four-block BTC confirmation (~40 minutes), cirBTC is transferred from a pre-minted pool to your account. The underlying onchain reserve transfer completes in the background.

Step 3: Transfer cirBTC to an Ethereum address

Send cirBTC from your Circle Mint account to an external Ethereum address. This step requires two API calls: create a recipient address, then create a transfer.

3.1. Create a recipient address

Register a destination address using the create a recipient address endpoint.
Expected response:
Save the id from the response. You need it as the addressId in the next step.

3.2. Create a transfer

Send cirBTC to the recipient address using the create a transfer endpoint:
Expected response:
The transfer starts in pending status and reaches complete after sufficient blockchain confirmations. You can poll the get a transfer endpoint with the transfer id to check its status.

Step 4: Redeem cirBTC back to BTC

To redeem cirBTC, create a BTC recipient address and then transfer cirBTC to it. Circle burns the cirBTC and releases native BTC to the specified address.

4.1. Create a BTC recipient address

Register a Bitcoin withdrawal address using the create a recipient address endpoint:
Expected response:

4.2. Create a redemption transfer

Transfer your remaining cirBTC balance to the BTC recipient address:
Expected response:
Circle burns the cirBTC and releases the equivalent BTC to your withdrawal address after sufficient blockchain confirmations. See Blockchain confirmations for expected confirmation times.

Step 5: Verify the round trip

Check your final balance to confirm the transfers processed:
Expected response:
You completed the full cirBTC cycle:
  1. Deposited BTC to mint 0.001 cirBTC.
  2. Transferred 0.0005 cirBTC onchain to an Ethereum address.
  3. Redeemed 0.0005 cirBTC back to BTC.
Your available cirBTC balance returns to zero, confirming every token is accounted for.
The Circle faucet used in Step 1 is only available for testnet. In production, send real BTC to the deposit address you created in Step 1. All other API calls in this guide work the same in production. See Sandbox and Testing for details on transitioning.