Frequently Asked Questions
Find answers to common questions about xBTC.
1. Basic Questions
xBTC is a decentralized exchange platform that enables trustless trading between wrapped BTC and native Bitcoin. It uses smart contracts and on-chain Bitcoin verification to ensure secure trades without requiring any intermediaries or trusted third parties.
You need two wallets:
- Blockchain Wallet - For interacting with the smart contract on your chosen blockchain (e.g., MetaMask for Ethereum, Phantom for Solana)
- Unisat - For sending Bitcoin payments when buying wrapped BTC
xBTC supports various wrapped BTC tokens across multiple blockchains, including WBTC, cbBTC, tBTC on Ethereum, wBTC on Solana, and BTCB on BSC. The specific tokens available depend on what sellers are offering in the order book.
xBTC can be deployed on any EVM-compatible blockchain. Check the current deployment for supported networks. Bitcoin mainnet is used for BTC payments.
2. Trading
To create a sell order:
- Connect your blockchain wallet (e.g., MetaMask for Ethereum)
- Click "Create Order"
- Enter the wrapped BTC amount you want to sell
- Enter the native BTC amount you want to receive
- Enter your Bitcoin receiving address
- Approve the wrapped BTC transfer and confirm the transaction
Your wrapped BTC will be locked in the smart contract until the order is filled or cancelled.
To buy wrapped BTC:
- Browse available orders and select one
- Connect your Unisat wallet
- Send native BTC to the seller's address with the required OP_RETURN data
- Wait for Bitcoin confirmations
- Complete the order to receive your wrapped BTC
Trade completion time depends on Bitcoin network confirmation:
- Small trades (<0.1 BTC): ~10-20 minutes (1-2 confirmations)
- Medium trades (0.1-1 BTC): ~30-40 minutes (3-4 confirmations)
- Large trades (>1 BTC): ~60+ minutes (6+ confirmations)
After sufficient confirmations, completing the order on the blockchain takes only a few seconds.
Common reasons for delayed trades:
- Waiting for confirmations: Bitcoin transactions need multiple confirmations for security
- Low BTC fee: If you set a low transaction fee, your BTC transaction may be pending in the mempool
- Incorrect OP_RETURN: The transaction must include your receiving address in the OP_RETURN output
- Wrong amount: The BTC amount must match the order requirements
To cancel an order:
- Go to your orders
- Click "Cancel" on the order you want to cancel
- Wait for the cancellation waiting period (prevents front-running)
- After the waiting period, confirm the cancellation to reclaim your wrapped BTC
After initiating cancellation, there is a mandatory waiting period (typically 1 hour) to prevent front-running attacks. During this period, buyers can still complete purchases. After the waiting period expires, you can finalize the cancellation and immediately receive your wrapped BTC back.
3. Technical
OP_RETURN is a Bitcoin script opcode that allows embedding arbitrary data in a transaction. xBTC uses OP_RETURN to include the buyer's receiving address in the Bitcoin payment transaction, allowing the smart contract to identify who should receive the wrapped BTC.
The transaction format requirements ensure that:
- The correct amount is sent to the seller's address
- The buyer's receiving address is included for wrapped BTC delivery
- The transaction can be verified on-chain without trusted oracles
The number of required confirmations depends on the trade size. Larger trades require more confirmations for security. Generally:
- 1-2 confirmations for small amounts
- 3-4 confirmations for medium amounts
- 6+ confirmations for large amounts
xBTC uses an optimistic verification model with challenge mechanism:
- A block hash is submitted with a deposit
- Anyone can challenge by submitting competing block headers
- The chain with the most cumulative work wins
- Fraudulent submissions lose their deposits to challengers
This makes attacks economically infeasible as they would require outpacing Bitcoin's entire hashrate. See BTC On-Chain Verification for details.
4. Security
Yes. xBTC is designed with security as a priority:
- Non-custodial: You always control your assets until a trade completes
- Smart contract escrow: Wrapped BTC is held by the contract, not any third party
- Trustless verification: Bitcoin payments are verified on-chain without oracles
- Economic security: Attacks would cost more than Bitcoin's entire mining network
Please check the project's official channels for the latest audit status. We recommend reviewing the contract code and any available audit reports before using the platform with significant amounts.
Depending on the failure point:
- BTC not sent: Nothing happens, seller's wrapped BTC remains in the order
- BTC sent but verification fails: The order remains open; buyer should check transaction format
- Invalid block submitted: Challengers can prove invalidity and claim the deposit
In all cases, wrapped BTC only transfers when a valid BTC payment is verified.
No. xBTC never has access to your private keys:
- Your blockchain wallet signs transactions locally in your browser
- Unisat signs Bitcoin transactions locally
- The platform only sees your public addresses
Always verify you're on the correct website and never share your seed phrase or private keys.
5. Troubleshooting
Try these steps:
- Make sure your wallet extension is installed and unlocked
- Check that you're on the correct network
- Try refreshing the page
- Clear browser cache and reconnect
- Try disabling other browser extensions that might conflict
Try these steps:
- Make sure Unisat is installed and unlocked
- Check that Unisat is set to the correct Bitcoin network (mainnet/testnet)
- Try refreshing the page
- Ensure you have sufficient BTC for the transaction plus fees
Common causes and solutions:
- Insufficient funds: Ensure you have enough ETH for gas or BTC for the transaction
- User rejected: You may have accidentally clicked "Reject" in the wallet popup
- Network issues: Check your internet connection and try again
- Nonce issues: If transactions are stuck, try resetting your wallet account settings
If your order status doesn't match what you expect:
- Refresh the page: Status updates may not appear immediately
- Check the blockchain: Verify your transaction on a block explorer
- Wait for confirmations: Bitcoin transactions need time to confirm
- Check transaction details: Ensure your BTC transaction has the correct format and OP_RETURN
Still have questions?
If you couldn't find the answer you're looking for, check our documentation or reach out to the community.