Bitcoin

Official Website: bitcoin.org

Addresses

We automatically generate new Bitcoin addresses after each use for better privacy. Previous addresses continue to work.

We use the same derivation scheme as Electrum: m/0/x for receive addresses, and m/1/x for change addresses.

There are multiple address types supported.

  • Segwit (P2WPKH)
  • Taproot (P2TR)
  • Segwit (P2WSH)
  • Segwit-Compatible (P2SH)
  • Legacy (P2PKH)

You can switch to a different address type by going to the Receive screen and clicking on the current address type at the top of the screen.

Click current address type Choose address type

Seed format

Bitcoin wallets only currently support being created using the Electrum seed format. We support restoring seeds generated in the Electrum and BIP-39 seed format.

BIP-39 restoring will check for multiple derivation paths, and ask you which one you would like to use if transactions are detected on multiple paths.

Bitcoin fee levels

We recommend leaving your Cake Wallet fee for Bitcoin as Medium.

Cake Wallet nameestimatefee valueDescription
Slow ~24hrs100Save on fees if you can wait a full day for the transaction to be confirmed.
Medium5The best blend of speed and cost. You’ll usually get a confirmation within 3 blocks.
Fast1Aggressively pursues inclusion in the next block, usually overpaying.

RBF (Replace-By-Fee)

As of Cake Wallet version 4.15.4, the Bitcoin wallet supports using RBF (Replace-by-fee), and is enabled by default for every transaction.

RBF allows you to modify the fee after you have already sent a transaction. You can do this by going to the Transactions screen, clicking on the desired transaction, the clicking Bump fee. Once you are in the Bump fee page, you can set your fee and click Send.

Click "Bump fee" Modify fee

Silent Payments

Silent Payments (BIP-352) is a protocol for static payment addresses in Bitcoin without on-chain linkability of payments or a need for on-chain notifications.

This protocol protects the receivers privacy by automatically having the sender generate a new Taproot address on chain only the receiver can know is theirs and spend from everytime a transaction is sent to their Silent Payments address.

For a more detailed explanation on how Silent Payments works, please visit silentpayments.xyz.

One major difference of Silent Payments is in order to fully protect the privacy of the user and not have the server know which Silent Payments transactions belong to them, we opt for on-device scanning of transactions instead of having a light wallet and making the node do all the work for us. This incurrs greater synchronization time, device power consumption and hardware utilization, but protects the privacy of the user much more.

Silent Payment addresses start with sp1.

Scanning

In order to enable Silent Payments, tap the switch on the “Silent Payments” card to start scanning blocks for Silent Paymemnts.

Toggle Silent Payments scanning

The wallet will start scanning from the height of when you first opened it after installing 4.18.0 or higher, or continue where it left off. Silent Payments scanning will automnatically turn off once it has reached the current blockheight. If you would like it to automatically scan for Silent Payment transactions on new blocks, please toggle an option under Menu -> Silent Payments settings -> “Set Silent Payments always scanning” to on. Silent Payments scanning will automatically toggle on if there are new blocks to scan and toggle back off when it’s finished.

App menu Toggle always scanning

Receiving

In order to receive a Silent Payment, you must give the sender your Silent Payments address, which can be found by switching the address type to Silent Payments following the instructions at the beginning of this page. When you want to receive the transaction in the wallet, you must enable Silent Payments scanning.

Sending

You can send Bitcoin to an existing Silent Payments address (sp1xxx) using the same flow. No extra work is required to send to a Silent Payments address, the wallet will handle the unique address generation in the background before sending your transaction.