BitcoinDesign/Guide

Provide design guidance for purchasing bitcoin within the wallet

Opened this issue · 15 comments

Some wallets will integrate buying bitcoin into the wallet itself. The design guide currently assumes a wallet user will transfer from an exchange: https://bitcoin.design/guide/daily-spending-wallet/first-use/#initial-deposit

It would be nice to offer UI guidance for purchasing within the wallet itself, including addressing:

  1. How to handle selection from multiple entities to buy from
  2. How to display relevant information about each (some kind of brand/trust, costs, etc.)
GBKS commented

Came across this video from Keeper about buying directly to cold storage. Something to consider for this task (also the UX details like the user having to refresh the transactions screen a few times after making the purchase - should ideally auto-update).

GBKS commented

"Fiat over lightning" is another layer to consider. During onboarding, a user might need to interact with an exchange (which could also be P2P like Peach). Later they may want to buy bitcoin via some sort of lightning-based stablecoin. That would be more of a "native swap" rather than a third-party integration.

@GBKS you can assign me to this task. Happy to look at it as well.

GBKS commented

Awesome, thanks @steynviljoen67. I just assigned it to you.

@GBKS I'll be glad to help on this, i'm kinda new to this platform so i might need a little help on where i can provide my ideas.

Hi @steynviljoen67 where can I find the doc you're using to explore this?

Related: "The Customer Experience" https://wallet.build/helping-customers-move-between-fiat-and-bitcoin-how-well-build-with-partners-to-bring-more-people-to-self-custody

Looked closer at the user flow example presented here, it's a nice starting point.

  1. Noticed it uses the payment method is a filter. It's is possible a user may want to choose it at a later time if, say a provider with lowest fees (or KYC requirements) only accepts certain payment modes. If there's a lot of providers in the future, the second screen could be used to present filter options.

It might be possible to present recommendations based on specific criteria.

  1. For relevant information, we could use labels as filterable, sortable tags. Eg of filter: KYC, eg. of sorting: BTC rate or fee %

Created crude mockup. Thoughts?

IMG_5589

Thoughts? What else should we be thinking about?

Hi @steynviljoen67 where can I find the doc you're using to explore this?

Here are some rough notes: https://www.craft.do/s/2zQfLmlifu8JBE

Related: "The Customer Experience" https://wallet.build/helping-customers-move-between-fiat-and-bitcoin-how-well-build-with-partners-to-bring-more-people-to-self-custody

Looked closer at the user flow example presented here, it's a nice starting point.

  1. Noticed it uses the payment method is a filter. It's is possible a user may want to choose it at a later time if, say a provider with lowest fees (or KYC requirements) only accepts certain payment modes. If there's a lot of providers in the future, the second screen could be used to present filter options.

It might be possible to present recommendations based on specific criteria.

  1. For relevant information, we could use labels as filterable, sortable tags. Eg of filter: KYC, eg. of sorting: BTC rate or fee %

Created crude mockup. Thoughts?

IMG_5589

Thoughts? What else should we be thinking about?

This list of possible things from wallet.build (now bitkey.build), is a great guideline:

  • payment method
  • cost
  • time to move money
  • requirements for creating an account
  • seamless or safe to access your account for existing customers

Multiple filters are great if you have a lot of providers but I suspect that in most cases, a wallet will only list a handful of payment providers.

Segmenting the providers might be more accessible. Either way, we can explore all these options a bit more.

@steynviljoen67 we chatted a bit and shared this write up during the call. Some of the questions from Yashraj and Stephen were:

  • What if a user does not have a visa or a mastercard?

  • KYC: what do we do about this aspect, there is going to be some degree of KYC going on?

  • How many options do we need to provide?

Hope this is helpful in the write up and great job so far exploring this.

Thanks for the questions.

I think finding the right providers is quite important to make the onramp as accessible and inclusive as possible. This is worth noting, but ultimately it's up to the wallet developer to decide on this.

As for KYC, to my knowledge, this is handled by the onramp providers.

Chatted with Steyn and we moved the current content for this write up into a google doc so that its open for commenting and suggestions.

Link to Google doc

Link to Figma file with screenshot research images done by Steyn.