-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Labels
Milestone
Description
Transactions in the mempool can be sped up, by making the same transaction again with a higher fee. This will lead miners to prioritize the new one, and the old transaction will be discarded. This is a useful tool for users with urgent outstanding transactions.
There are two methods, replace-by-fee (RBF) and child-pays-for-parent (CPFP) with different properties. I am not sure which ones core supports, but here's a quick outline of the two (via Claude).
- Replace-by-Fee (RBF):
- Mechanism: RBF replaces the original transaction entirely with a new one.
- Setup: The original transaction must be flagged as replaceable when it's first broadcast.
- Process: A new transaction is created with the same inputs but a higher fee, replacing the original.
- Control: The sender has full control over this process.
- Timing: Can be done anytime before the original transaction is confirmed.
- Impact: The original transaction is effectively cancelled and replaced.
- Child-Pays-for-Parent (CPFP):
- Mechanism: CPFP creates a new, child transaction that depends on the original (parent) transaction.
- Setup: No special flagging is required on the original transaction.
- Process: A new transaction is created that spends the outputs of the unconfirmed parent transaction.
- Control: Can be initiated by either the sender or the recipient.
- Timing: Can be done even if the original transaction isn't flagged as replaceable.
- Impact: Both the original and the new transaction must be mined together.
Key Differences:
- Transaction Replacement: RBF replaces the original transaction, while CPFP keeps the original and adds a new one.
- Fee Calculation: In RBF, miners consider the fee of the new transaction. In CPFP, miners look at the combined fees of both transactions.
- Flexibility: CPFP can be used even when RBF isn't available, making it more flexible.
- Initiator: RBF can only be initiated by the sender, while CPFP can be done by either the sender or the recipient.
- Complexity: RBF is generally simpler to implement and understand, while CPFP can be more complex.
So let's first figure out what's supported (if anything), and then come up with respective UI specs and user flows.
This would likely be an addition to the transaction details screen, covered in the activity page in the design docs.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Todo
Status
Todo