Segwit | Replace-by-Fee

Segwit Addresses

What are segwit addresses? Transactions that spend bitcoins secured by segregated witness (segwit) use less block weight than equivalent non-segwit (legacy) transactions, allowing segwit transactions to pay less total fee to achieve the same feerate as legacy transactions.

Tested: version 3.3.4 on macOS

Tested on: 2019-04-11

Receive support

  • Allows receiving to P2SH-wrapped segwit
    Allows the generation of P2SH-wrapped (either P2WPKH or P2WSH) segwit receiving addresses.
  • Allows receiving to bech32 segwit addresses
    Allows the generation of bech32 native (either P2WPKH or P2WSH) segwit receiving addresses.
  • Not tested: Can bech32m transaction outputs be received?
    We either didn’t test this or could not appropriately determine the results.
  • Default receiving address is bech32 P2WPKH
    This service generates bech32 P2WPKH segwit receiving addresses by default.

Send support

  • Allows sending to bech32 P2WPKH addresses
    Allows sending to bech32 P2WPKH native segwit addresses.
  • Allows sending to bech32 P2WSH addresses
    Allows sending to bech32 P2WSH native segwit addresses.
  • Allows sending to bech32m addresses
    Allows sending to bech32m (P2TR) addresses.
  • Creates bech32 change addresses
    When sending, generates bech32 (either P2WPKH or P2WSH) segwit change addresses.

Usability

Click on a thumbnail for a larger image or to play its video.

Electrum prompts users to choose a wallet type. Segwit or Legacy options available with Segwit as the default option. available.
Electrum prompts users to choose a wallet type. Segwit or Legacy options available with Segwit as the default option. available.

Default receive screen when using a "Segwit" wallet uses bech32 native addresses for receiving.
Default receive screen when using a “Segwit” wallet uses bech32 native addresses for receiving.


Electrum also [allows p2sh-wrapped segwit addresses](https://bitcointalk.org/index.php?topic=3057784.msg31519322#msg31519322) with a workaround.
Electrum also allows p2sh-wrapped segwit addresses with a workaround.

Electrum uses the wallet type's address format for change addresses. When using bech32/segwit wallet, the change addresses are bech32.
Electrum uses the wallet type’s address format for change addresses. When using bech32/segwit wallet, the change addresses are bech32.


Sending to bech32 addresses is possible from all Electrum wallet types.
Sending to bech32 addresses is possible from all Electrum wallet types.

Replace-by-Fee (RBF)

What is Replace-by-Fee (RBF)? An unconfirmed transaction can be replaced by another version of the same transaction that spends the same inputs. Most full nodes support this if the earlier transaction enables BIP125 signaling and the replacement transaction increases the amount of fee paid. In terms of block chain space used, this is the most efficient form of fee bumping.

Tested: version 3.2.2 on macOS

Tested on: 2018-08-28

Receiving support

  • Notification does not note RBF
    Notification of incoming transaction does not note that the transaction signals RBF.
  • Received transaction labeled replaceable in list
    Visually indicates that an incoming transaction has signaled RBF.
  • Received transaction not labeled replaceable in transaction details
    Does not visually indicate that a received transaction has signaled RBF when viewing the transaction details.
  • Shows replacement transaction only
    Only the replacement transaction is shown in the transaction list. No original transaction is shown.

Sending support

  • Signals BIP125 replaceability when sending transactions
    Allows sending of BIP125 opt-in-RBF transactions in the interface.
  • Sent transaction labeled replaceable in list
    Visually indicates that an outgoing transaction has signaled RBF.
  • Sent transaction not labeled replaceable in transaction details
    Does not visually indicate that a sent transaction has signaled RBF when viewing the transaction details.
  • Shows replacement transaction only
    Only the replacement transaction is shown in the transaction list. No original transaction is shown.

Usability

Click on a thumbnail for a larger image or to play its video.

Sending Transaction - Default Wallet Send Screen.
Sending Transaction - Default Wallet Send Screen.

Sending Transaction - Preferences Pane with RBF checkbox.
Sending Transaction - Preferences Pane with RBF checkbox.


Sending Transaction - Transaction list screen for outgoing RBF signaling transaction. RBF noted.
Sending Transaction - Transaction list screen for outgoing RBF signaling transaction. RBF noted.

Sending Transaction - Transaction details screen for outgoing RBF signaling transaction. No note of RBF signaling.
Sending Transaction - Transaction details screen for outgoing RBF signaling transaction. No note of RBF signaling.


Attempting Transaction Replacement - Transaction List context menu for “Increase fee”.
Attempting Transaction Replacement - Transaction List context menu for “Increase fee”.

Attempting Transaction Replacement - Dialog for inputting replacement transaction fee.
Attempting Transaction Replacement - Dialog for inputting replacement transaction fee.


Attempting Transaction Replacement - Transaction list shows only one unconfirmed transaction, the latest replacement transaction. RBF noted.
Attempting Transaction Replacement - Transaction list shows only one unconfirmed transaction, the latest replacement transaction. RBF noted.

Attempting Transaction Replacement - Transaction details of replacement transaction. No RBF noted. No note of original transaction.
Attempting Transaction Replacement - Transaction details of replacement transaction. No RBF noted. No note of original transaction.


Receiving Transaction Signaling RBF - Notification of incoming transaction. No specific note that the transaction is RBF signaled.
Receiving Transaction Signaling RBF - Notification of incoming transaction. No specific note that the transaction is RBF signaled.

Receiving Transaction Signaling RBF - Transaction List Screen. Notes RBF signaling as well as fee size.
Receiving Transaction Signaling RBF - Transaction List Screen. Notes RBF signaling as well as fee size.


Receiving Transaction Signaling RBF - Transaction Details screen for an RBF signaling transaction. No RBF note.
Receiving Transaction Signaling RBF - Transaction Details screen for an RBF signaling transaction. No RBF note.

Receiving Replacement Transaction - New transaction notification for the RBF replacement transaction.
Receiving Replacement Transaction - New transaction notification for the RBF replacement transaction.


Receiving Replacement Transaction - Transaction List Screen. Notes transaction signaling RBF as well as fee size. The replacement transaction does not show up as a separate. The original transaction disappears.
Receiving Replacement Transaction - Transaction List Screen. Notes transaction signaling RBF as well as fee size. The replacement transaction does not show up as a separate. The original transaction disappears.

Receiving Replacement Transaction - Transaction details of incoming replacement transaction. RBF not noted.
Receiving Replacement Transaction - Transaction details of incoming replacement transaction. RBF not noted.