How to Perform Non-Custodial Bitcoin to USDC Swaps Using Boltz: A Step-by-Step Guide
Overview
Boltz, a leading non-custodial swap provider for Bitcoin, has launched USDC Swaps, enabling instant, trustless conversion between Bitcoin and USDC, Circle's regulated stablecoin. This guide walks you through everything you need to know to use this service—from understanding how it works to successfully completing your first swap. Whether you're a Bitcoin enthusiast wanting to hold dollars without leaving the ecosystem, or a DeFi user looking for a no-KYC on-ramp, this tutorial will help you navigate the process safely and efficiently.

Prerequisites
What You'll Need
- A Bitcoin wallet that supports the Lightning Network (recommended for speed) or on-chain transactions. Examples: Breez, Phoenix (LN), or BlueWallet (on-chain).
- A USDC wallet on a supported network. Boltz currently supports USDC on Ethereum (ERC-20) and possibly Polygon. Ensure you have the correct receiving address.
- Sufficient funds for the swap amount plus network fees (Bitcoin transaction fees or Lightning routing fees).
- Access to Boltz.exchange via a browser or API. For this tutorial, we'll use the web interface.
Understanding the Swap Mechanism
Boltz uses atomic swaps and Lightning Network to ensure neither party can cheat. When you initiate a swap, Boltz provides a Bitcoin invoice and a USDC address. You pay the invoice, and the swap executes trustlessly—your funds never leave your control until the USDC arrives in your wallet. No accounts, no KYC, no custody.
Step-by-Step Instructions
Step 1: Prepare Your Wallets
Open your Bitcoin wallet and note your Lightning invoice or on-chain address. For USDC, have your wallet (e.g., MetaMask, Trust Wallet) ready on the correct network to receive the stablecoin.
Step 2: Visit Boltz Exchange
Navigate to boltz.exchange. No account creation is needed.
Step 3: Select Swap Pair and Network
From the dropdown, choose BTC → USDC (or the reverse). Select the Bitcoin network (Lightning is fastest with low fees) and the USDC network (typically Ethereum).
Step 4: Enter Amount
Input the amount of Bitcoin you wish to swap. The interface will show the estimated USDC you'll receive, including any fees. Note the minimum and maximum swap limits displayed.
Step 5: Provide Your USDC Receiving Address
Paste your USDC wallet address into the field provided. Double-check the network matches your wallet (e.g., Ethereum mainnet).
Step 6: Initiate the Swap
Click Swap Now. Boltz will generate a Bitcoin Lightning invoice or on-chain address. If using Lightning, your wallet will prompt you to pay the invoice.
Step 7: Complete the Payment
Scan the QR code or copy the invoice into your Lightning wallet and pay. For on-chain, send the exact Bitcoin amount to the provided address. Confirm the transaction.
Step 8: Receive USDC
Once the Bitcoin transaction is confirmed (on Lightning, this is near-instant; on-chain, wait for 1-3 confirmations), Boltz will release the USDC to your provided address. Check your USDC wallet. The entire process is trustless—Boltz cannot hold your funds hostage.
Example with Code (API)
For advanced users, Boltz offers an API. Here's a simplified Python example using the boltz-swap library (not official, but illustrative):
import requests
# 1. Get swap rates
rates = requests.get('https://api.boltz.exchange/v2/swap/btc/usdc?amount=0.01').json()
print('Estimated USDC:', rates['estimated'])
# 2. Create swap
payload = {
'receive_wallet': '0xYourUSDCAddress',
'network': 'lightning',
'amount': 0.01
}
swap = requests.post('https://api.boltz.exchange/v2/swap/btc/usdc', json=payload).json()
print('Pay this invoice:', swap['bitcoin_invoice'])
# 3. (In your wallet, pay the invoice)
# 4. Verify completion
status = requests.get(f"https://api.boltz.exchange/v2/swap/status/{swap['id']}").json()
print('Status:', status['status'])
Note: This is a conceptual example. Always refer to official API docs.
Common Mistakes
Mistake 1: Using the Wrong USDC Network
Ensure your wallet supports the same network as the USDC you're requesting. For example, an Ethereum address cannot receive USDC on Polygon. Boltz shows the network during the swap.
Mistake 2: Insufficient Fees
For Lightning swaps, low routing fees may cause delays. For on-chain, set a fee high enough to confirm within reasonable time. Boltz's UI warns about this.
Mistake 3: Falling for Phishing Sites
Always verify the URL: boltz.exchange. Bookmark it to avoid fake clones.
Mistake 4: Not Double-Checking the Invoice Amount
Always compare the invoice amount with your intended swap amount. Scammers may trick you with modified invoices.
Summary
Boltz's non-custodial USDC swaps bridge Bitcoin and Circle's regulated dollar without intermediaries. By following this guide, you can convert BTC to USDC (or vice versa) in minutes, retaining full control of your funds. This innovation opens up Bitcoin to the wider stablecoin ecosystem while preserving its permissionless ethos.