BitcoinDesign / Bitcoin-Core-App

Tracking the design process for the Bitcoin Core App.
https://bitcoincore.app
MIT License
53 stars 11 forks source link

Design user flow for automated test transactions for large payments #112

Open rabbitholiness opened 1 month ago

rabbitholiness commented 1 month ago

Based on this comment, this issue is about designing a user flow for automated test transactions.

The basic idea is that if a transaction value is higher than a certain amount, or a certain percentage of the wallet's balance, the app would allow users to send a small test payment before sending the full amount. Such a feature could help users be more comfortable when making large payments.

Sending test transactions is already a common practice for large transactions. Reason for this dedicated feature is that there is anxiety around making a mistake setting up the follow-up transaction. That anxiety could be removed by making this simple logic a formal wallet feature. This might lead to more people doing test transactions and therefore fewer losses related to them. Of course, there's the downside of paying fees for two transactions.

This idea is probably more of future addition beyond the MVP. The goal for this issue is to create a design exploration as a reference for future implementation, as well as to get some feedback on the feature's usefulness.

test_transaction_screenshot

rabbitholiness commented 1 month ago

I have created an initial prototype of how this could look like in this Figma prototype

GBKS commented 1 month ago

Worth mentioning your social post and the feedback you received about alternative methods. It would be nice to somehow avoid one of the fees by cleverly using the mempool, replace-by-fee, etc. Not sure I can actually piece together a proper way of making that work technically...

rabbitholiness commented 1 month ago

I posted a short video walkthrough on TwiX and got some interesting comments. One of them was this one, where Jason suggests to:

  1. Create a low fee transaction first , just to get in the mempool.
  2. Confirm with the recipient that they see the transaction
  3. Use RBF to bump the fee and send

Here is another suggestion, following the same direction.

rabbitholiness commented 1 month ago

Worth mentioning your social post and the feedback you received about alternative methods. It would be nice to somehow avoid one of the fees by cleverly using the mempool, replace-by-fee, etc. Not sure I can actually piece together a proper way of making that work technically...

I was just doing that, while you were posting your reply

rabbitholiness commented 1 week ago

I mocked up a version that uses RBF instead of a dedicated test transaction. Makes for smoother UX and lower fees. Also posted it on X and Nostr to see what people think.

https://github.com/user-attachments/assets/288fe779-b272-43dd-9f00-8d61aa5dc8b4