Deposit Guide

This guide covers the complete process for depositing 10 BTC to Citrea using Clementine CLI. The deposit process involves creating a wallet, generating a deposit address, sending 10 BTC, and monitoring the bridging process.

View all deposit commands:

clementine-cli deposit --help
triangle-exclamation

Prerequisites

Before starting a deposit, ensure you have:

  • A Citrea address

  • A Clementine CLI wallet with deposit purpose ("dep" prefix address) which will be used as the recovery taproot address

  • Access to a Bitcoin wallet for sending 10 BTC to the deposit address

Deposit Process Overview

The deposit process consists of several stages:

  1. Create a Wallet for Deposits - Create a recovery taproot address

  2. Start Deposit - Create a unique deposit address using your Citrea (EVM) address and recovery taproot address

  3. Send 10 BTC to the Deposit Address - Transfer 10 BTC to the deposit address and rest will be automatically handled by the Clementine, and you will receive your 10 cBTC on your Citrea address.

  4. Monitor Deposit Status - Track the bridging process

  5. Fund Recovery (If Needed) - Recover funds if bridging fails

circle-exclamation

Step 1: Create a Wallet for Deposits

Create a deposit-purpose wallet to get your recovery taproot address:

The dep-prefixed address output is your RECOVERY_TAPROOT_ADDRESS. See Wallet Operations for details.

Step 2: Start Deposit (Generate Deposit Address)

Start Deposit

Create a deposit address using your Citrea (EVM) address and recovery taproot address:

Example:

circle-exclamation

Step 3: Send 10 BTC to the Deposit Address

Send your Bitcoin to the generated deposit address. You can use any Bitcoin wallet or client. The deposit amount is fixed to 10 BTC. After sending the funds, rest will be automatically handled by the Clementine, and you will receive your 10 cBTC on your Citrea address.

triangle-exclamation

Step 4: Monitor Deposit Status

Track the progress of your deposit throughout the bridging process:

Example:

Step 5: Fund Recovery (If Needed)

If 200 blocks have passed and the deposit status shows the Move to Vault transaction has not been broadcasted, you can recover your funds using the recovery mechanism. Recovery is done by signing a recovery transaction with your Clementine CLI wallet and broadcasting it to the Bitcoin network.

Prepare Recovery Data

Gather all necessary information:

  • RECOVERY_TAPROOT_ADDRESS: Your wallet's recovery address (depbc1p...)

  • CITREA_ADDRESS: Your Citrea address used for the deposit (0x...)

  • DEPOSIT_UTXO_OUTPOINT: Your deposit Outpoint (txid:vout)

  • DESTINATION_ADDRESS: Bitcoin address where recovered funds will be sent

  • CLEMENTINE_AGGREGATED_KEY: MuSig2 aggregated x-only public key for the bridge signers

You can check CLEMENTINE_AGGREGATED_KEY with: clementine-cli show-config --network <BITCOIN_NETWORK> or clementine-cli deposit get-deposit-address-details <DEPOSIT_ADDRESS>.

Use MuSig2 key aggregation if you need to compute CLEMENTINE_AGGREGATED_KEY from signer pubkeys. Signer pubkeys are listed in Clementine signers. Check the aggregated key with the command below:

PUBKEYS is a comma-separated list of hex-encoded public keys.

Example:

Create Recovery Transaction

Generate signed recovery transaction:

Example:

circle-exclamation

Verify Recovery Transaction (Optional)

Verify the recovery transaction details before broadcasting:

Broadcast Recovery Transaction

Send the recovery transaction to the Bitcoin network:

Troubleshooting

Common Issues

Deposit address generation fails:

  • Verify Citrea (EVM) address format (0x...)

  • Check recovery taproot address format (depbc1p...)

  • Ensure network parameter matches your Bitcoin network

Status check returns no results:

  • Confirm deposit address is correct

  • Wait for Bitcoin network confirmation (usually 1-6 blocks)

  • Check if deposit transaction was actually broadcasted

Recovery transaction creation fails:

  • Verify all parameters match original deposit exactly

  • Check that 200 blocks have actually passed

  • Ensure recovery taproot address is from the correct wallet

Last updated

Was this helpful?