Using URLs instead of crypto-currency wallet addresses

A suggested specification to allow for URLs to be used as an alias to crypto-currency wallets.

The Problem

Sending and receiving crypto assets currently is a scary move for anyone not used to wallet addresses and hence is a huge roadblock to mass adoption of crypto-currencies. On top of that the fact that you’d lose your money if you enter a wrong address, prevents all but few non-technical users to even go near it. There’s been many attempts to alleviate this issue using various methods such as QR codes, easy copy/paste features, etc on most wallet software but it seems we still need a way for smoother transactions.

The Solution

What if you could share your wallet address using a web accessible URL? What if this URL could hold not just one wallet address but many wallets for different crypto-currencies? For example if you need to receive a payment from someone you could just give them your URL such as https://www.website.com/

Similarly, a company or online retailer can have their customers simply send payments to their website address directly. For example an online retailer such as Etsy would be able to direct their users to send payments to https://www.etsy.com which can support any number of crypto-currencies at the same URL. Furthermore, a shop on Etsy can have custom generated wallet addresses specific for that shop or even a specific order.

That address can not only hold a Bitcoin address but also your Ethereum, Ripple or any other crypto addresses.

This can be done by adding <meta /> tags inside any page's HTML header. Example meta tag:

Sample meta tag to enable a BTC address on a webpage

How it works

As someone who is sending, you would just enter https://www.website.com in the “Send To” field of your wallet app (if it supports this specification) and the wallet app will be able to automatically fetch the correct receiving wallet address from that URL.

The app can then either input the wallet address automatically or further prompt the user to confirm.

To make things easier, I intend to provide basic classes in various languages on the github page.

Fallback

So what happens if a user shares their URL but other person’s wallet software doesn’t support wallet URLs?

In this case there could be an actual web page at the given address that visually lists the wallet addresses for the visitor along with QR codes or copy/paste features.

So the sending person can simply type the URL in any browser and manually grab the wallet address from the shown webpage.

Requirements

The adoption of this specification is ultimately dependent on wallet Apps and Websites to implement.

Doing so will give their users one more way of easily and confidently send crypto-currency using their app and ultimately attract more users to their app.

Safety

With crypto-currencies and online money transfer, there’s always the issue of safety. This method is inherently safe because of safety of the HTTPS protocol.

As long as the wallets or any API adopting this specification request the HTML content directly from the provided URL (not through a third party library/entity), they can be sure that the data is not tampered with. Furthermore the protection of HTML content would be the responsibility of the website admin which is equivalent to the safety standards used by the website itself.

The Technical Side

The general process of extracting wallet addresses is as follows:

1. make GET call to the URL to retrieve HTML code

2. parse HTML to extract all meta tags with name attribute containing crypto:wallet:

3. generate a list of addresses available

4. select the desired wallet address

Contact

I by no means hold any rights to this and would like to leave it to the community to develop and grow this concept.

I’ve created a github page for interested developers as a place for any discussions or feedback from the community so that we can all stay on the same page.

Github: