Clementine Web App

Clementine Web App

The Clementine Web App lets you bridge between Bitcoin and Citrea from your browser.

You can use it to:

  • Deposit 10 BTC and receive 10 cBTC on Citrea.

  • Withdraw 10 cBTC and receive BTC on Bitcoin.

URLs

Before you start

You will need:

  • An EVM wallet connected to Citrea.

  • A Bitcoin wallet that can send exact BTC amounts.

  • For deposits: exactly 10 BTC.

  • For withdrawals: 10 cBTC on Citrea and a Bitcoin dust UTXO.

The same EVM wallet is used throughout each flow. The app may ask your wallet to sign messages so it can generate the Bitcoin keys needed for the bridge process.

These keys are generated locally in your browser and are kept only for your current session. If you refresh the page, they are cleared. You can regenerate them by signing the same message again with the same EVM wallet.

Each page also has a Restart Flow button in the top right. This clears the current flow and lets you start over.

For advanced users who want stronger key isolation, such as signing from an offline machine, use the Clementine CLI.

For more background, see:


Deposit BTC to Citrea

Use the Deposit page to bridge 10 BTC into 10 cBTC.

Step 1: Choose your Citrea destination

Connect the Citrea wallet where the minted cBTC should be sent.

By default, the connected wallet address is used as the destination address on Citrea.

Step 2: Generate your recovery key

Click Generate Recovery Signer Key.

Your wallet will ask you to sign a message. This signature is used locally in your browser to generate a Bitcoin recovery key.

This recovery key is required to recover your BTC if something goes wrong with the deposit, such as sending the wrong amount.

The first time you generate this key, the app may ask you to run a Determinism Check. This confirms that your wallet can reliably regenerate the same key later.

If the result is Match, you can continue.

Step 3: Send exactly 10 BTC

The app will generate a Bitcoin deposit address.

Send exactly 10 BTC to the address shown in the app.

Do not send more or less than 10 BTC. Deposits with any other amount will not complete normally and must be recovered.

You can optionally open the mempool.space link shown in the app to verify the deposit address details.

After sending the BTC, click Continue.

Step 4: Track your deposit

The app will show the status of your deposit.

Common statuses are:

Status
Meaning

In Mempool

Your Bitcoin transaction has been seen but is not confirmed yet.

New

Your transaction is confirmed on Bitcoin and is waiting for finalization.

In Progress

The bridge is processing your deposit.

Move To Vault Transaction Sent

The bridge has moved your deposit into the vault.

Completed

Your 10 cBTC has been minted on Citrea.

When the deposit is complete, the app shows the Citrea transaction hash.

Recovering a deposit

If you sent the wrong amount, the app will show the deposit under Incorrect amount deposits.

To recover it:

  1. Wait for the 200-block recovery delay to pass.

  2. Derive the recovery key using the Sign to derive key button.

  3. Click Generate recovery tx.

  4. Enter the Bitcoin address where you want the funds returned.

  5. Choose a fee rate.

  6. Preview or broadcast the recovery transaction.

For valid 10 BTC deposits, you can also create and download a recovery transaction as a safety backup. This transaction can only be used if the bridge does not process your deposit in time.


Withdraw cBTC to Bitcoin

Use the Withdraw page to bridge 10 cBTC back to BTC.

You burn 10 cBTC on Citrea, and the amount of BTC you receive depends on which payout path completes the withdrawal:

  • Optimistic payout: 9.9999976 BTC This is the default path and completes within 12 hours in the normal case.

  • Operator payout: 9.97 BTC This fallback runs if no optimistic payout arrives within 12 hours, and pays a higher fee to the operator that completes the withdrawal.

Step 1: Connect your Citrea wallet

Connect the EVM wallet that holds the 10 cBTC you want to withdraw.

The app will show your current cBTC balance.

Step 2: Enter your Bitcoin address

Enter the Bitcoin address where you want to receive BTC.

The app checks that the address matches the current network.

Step 3: Generate your withdrawal key

Click Generate Withdrawal Signer Key.

Your wallet will ask you to sign a message. This signature is used locally to generate a Bitcoin key for the withdrawal.

This key is used to sign the withdrawal payout bound to your selected Bitcoin address.

As with deposits, the app may ask you to run a Determinism Check. If the result is Match, you can continue.

Step 4: Send the dust transaction

The app will show a Bitcoin signer address and a small dust amount. The default is 0.0000033 BTC; if your wallet doesn't support that amount, you can change the dust value in Settings.

Send the indicated dust amount from your Bitcoin wallet to the signer address.

This small Bitcoin transaction is used as part of the withdrawal process.

Once the dust transaction appears on Bitcoin:

  1. Click Scan for UTXOs.

  2. Select the UTXO you just sent.

  3. Click Continue.

Step 5: Sign and send the withdrawal transaction

The app will prepare your withdrawal transaction on Citrea.

Before sending, click Simulate Transaction. This checks that the transaction can be submitted successfully.

Once the simulation passes, click Send Transaction.

Your EVM wallet will ask you to confirm the transaction. This sends 10 cBTC to the bridge contract on Citrea.

After the transaction is submitted, the app shows the Citrea transaction hash.

If the selected Bitcoin UTXO needs more confirmations, the send button will stay disabled and the app will show how many blocks are left.

Step 6: Track your withdrawal

The app will show the withdrawal status.

Common statuses are:

Status
Meaning

Waiting for Citrea finalization on Bitcoin

The withdrawal request is waiting for Citrea finalization before payout.

completed

The withdrawal is complete.

Step 7: Submit operator signatures, if needed

Most withdrawals complete through the optimistic payout path.

If no optimistic payout arrives within 12 hours, the withdrawal falls back to operator payout: you can move on by submitting signatures so an operator can complete your payout instead.

Click Submit Operator Signatures.

After the signature is submitted, Step 7 is marked as Submitted. This means the operator signature was sent successfully; continue using Monitor Status to track payout completion.

Last updated

Was this helpful?