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 0.99.82 on Android

Tested on: 2019-07-25

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.
  • 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.
  • 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.

By default, Samourai generates bech32 receive addresses.
By default, Samourai generates bech32 receive addresses.

Samourai can send to all segwit v0 addresses.
Samourai can send to all segwit v0 addresses.


Samourai allows the user to choose the type of their receive address.
Samourai allows the user to choose the type of their receive address.

Samourai has setting options for 1. receive to segwit address and 2. receive change to like-typed outputs. Both of which are on by default.
Samourai has setting options for 1. receive to segwit address and 2. receive change to like-typed outputs. Both of which are on by default.


Samourai has options to view the wallet's X/Y/ZPUBs.
Samourai has options to view the wallet’s X/Y/ZPUBs.

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 0.81 on Android

Tested on: 2018-10-25

Receiving support

  • Notification does not note RBF
    Notification of incoming transaction does not note that the transaction signals RBF.
  • Received transaction not labeled replaceable in list
    Does not visually indicate that an incoming transaction has signaled RBF.
  • Does not show transaction details
    Does not show transaction details natively. Usually this means the service links to a block explorer for transaction details.
  • Shows replacement and original transactions
    Both the original transaction and replacement transaction(s) are shown in the transaction list.

Sending support

  • Signals BIP125 replacability when sending transactions
    Allows sending of BIP125 opt-in-RBF transactions in the interface.
  • Sent transaction not labeled replaceable in list
    Does not visually indicate that an outgoing transaction has signaled RBF.
  • Does not show transaction details
    Does not show transaction details natively. Usually this means the service links to a block explorer for 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 - Settings for sending RBF enabled transactions. RBF disabled by default.
Sending Transaction - Settings for sending RBF enabled transactions. RBF disabled by default.

Sending Transaction - Default send transaction screen. No RBF options.
Sending Transaction - Default send transaction screen. No RBF options.


Sending Transaction - Prompt during send transaction for “STONEWALL” feature.
Sending Transaction - Prompt during send transaction for “STONEWALL” feature.

Sending Transaction - Sent RBF enabled transaction. No RBF flag.
Sending Transaction - Sent RBF enabled transaction. No RBF flag.


Attempting Transaction Replacement - Transaction details for RBF enabled transaction with Increase TX Fee option. Interesting note here - If there are no additional funds to pay for the bump, Samourai just fails silently here with no message and takes the user back to the transaction list screen.
Attempting Transaction Replacement - Transaction details for RBF enabled transaction with Increase TX Fee option. Interesting note here - If there are no additional funds to pay for the bump, Samourai just fails silently here with no message and takes the user back to the transaction list screen.

Sending Transaction - Prompt when “increase tx fee” is chosen. Miner fee not customizable.
Sending Transaction - Prompt when “increase tx fee” is chosen. Miner fee not customizable.


Sending Transaction - Send RBF replacement transaction replaces original RBF enabled transaction. No flag. Confirmation message does say “RBF transaction sent”.
Sending Transaction - Send RBF replacement transaction replaces original RBF enabled transaction. No flag. Confirmation message does say “RBF transaction sent”.

Receiving Transaction Signaling RBF - Transaction list screen for receiving RBF enabled transaction. No RBF flag.
Receiving Transaction Signaling RBF - Transaction list screen for receiving RBF enabled transaction. No RBF flag.


Receiving Transaction Signaling RBF - Transaction details prompt for received transaction. “View transaction” defaults to Smartbit explorer (explorer configurable in settings).
Receiving Transaction Signaling RBF - Transaction details prompt for received transaction. “View transaction” defaults to Smartbit explorer (explorer configurable in settings).

Receiving Transaction Signaling RBF - Transaction details “Increase transaction fee” dialog which uses CPFP behind the scenes to increase the effective transaction feerate on the incoming transaction.
Receiving Transaction Signaling RBF - Transaction details “Increase transaction fee” dialog which uses CPFP behind the scenes to increase the effective transaction feerate on the incoming transaction.


Receiving Replacement Transaction - Transaction list screen showing both original and replacement transactions. Total reflecting sum of both transactions. No RBF flag or warnings.
Receiving Replacement Transaction - Transaction list screen showing both original and replacement transactions. Total reflecting sum of both transactions. No RBF flag or warnings.

Receiving Replacement Transaction - Transaction list screen updated to just show replacement transaction after a period of time. Even before either RBF signaling transaction was confirmed.
Receiving Replacement Transaction - Transaction list screen updated to just show replacement transaction after a period of time. Even before either RBF signaling transaction was confirmed.