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.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: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.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: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:4.2. Create a redemption transfer
Transfer your remaining cirBTC balance to the BTC recipient address:Step 5: Verify the round trip
Check your final balance to confirm the transfers processed:- Deposited BTC to mint 0.001 cirBTC.
- Transferred 0.0005 cirBTC onchain to an Ethereum address.
- Redeemed 0.0005 cirBTC back to BTC.
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.