question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Daedalus payment URLs

See original GitHub issue

Description

It would be really nice to have a feature that would allow to create a “payment URL”, like:

ada://send?to=DdzFFz...v7xb&amount=100&fees_included=true

And when someone opens this url in their browser - Daedalus (if installed) opens and shows a special dialog, like “Do you really want to send 100 ADA to this address: DdzFFz...v7xb?” and if user clicks Yes then Daed asks him to select a wallet he wants to send coins from. This dialog could also allow to change the transaction amount.

Motivation

This feature would allow people to create easy-to-use payment links, or for example - donation links, like “Donate 5 ADA | Donate 10 ADA” under some content, so users don’t have to copy-paste addresses manually.

It maybe very useful for some application and could be a nice solution until ecosystem gets SPVs and full-browser integrations, etc. Once those are present - these links could also lead to other clients, like, if I have lite-client or SPV version of Daedalus installed - it is opened from link. If I have a browser-extension installed (possible in the feature) - then browser dialog is opened from link and allows to send coins thru this browser-client.

Implementation

Sadly I don’t know much details for now, but as I understand - browsers are able to associate some types of links (by protocol, a assume) to certain applications (thru OS, probably), so when mailto is opened - email-client is launched, and when a telegram-link is opened - desktop telegram client pops-up and processes the link.

I will post comments here, if I get more info about possible implementation details later.

Issue Analytics

  • State:open
  • Created 5 years ago
  • Reactions:5
  • Comments:12 (5 by maintainers)

github_iconTop GitHub Comments

2reactions
SebastienGllmtcommented, Jul 11, 2019

This just shipped with Yoroi 1.8 on both Chrome and Firefox

2reactions
vsubhumancommented, Apr 25, 2018

It’s not desirable to specify the coin at the end. Rather it should go at the beginning

But the idea here is that ada:// at the beginning is the protocol to interact specifically with the Cardano platform (wallet, client, plugin, etc.), and the rest are just parameters. So ada://send?coint=BTC and btc://send should probably actually be executed by different wallets on my computer, for example, since one means - “send BTC-equivalent on Cardano chain to another Cardano wallet address”, and other means just “Send normal BTC to another BTC address”.


Additional idea is that the send is just one of the possible methods, and in the future there could be links for staking pools, for example. Something like: ada://stake?pool_address=... so when user clicks the link - Daedalus opens specific pool page and proposes to delegate some percentage of your coins to it.

Initially I though of these links just as additional “platform API”, that different clients would be able to support. To make it more obvious it may be better to change protocol name to “cardano”, so initial example would look like:

cardano://send?to=DdzFFz...v7xb&amount=100&fees_included=true

With change like this, specifying coins as parameter seems more appropriate:

cardano://send?to=DdzFFz...v7xb&amount=100&fees_included=true&coin=BTC-20

And the pool example:

cardano://stake?pool_address=DdzFFz...v7xb
Read more comments on GitHub >

github_iconTop Results From Across the Web

Yoroi Wallet on Twitter: "Next version of Yoroi will allow you to ...
Next version of Yoroi will allow you to generate payment URLs that you can send to your friends! We will introduce multiple ways...
Read more >
A Beginner's Guide to Setting up a Yoroi Wallet for Cardano ...
With Cardano payment URLs, you can share invoices with friends and businesses by clicking a URL. For this article, we are going to...
Read more >
Cardano Wallet Backend API Documentation
Construct any address by specyfying credential for payment or delegation. In Cardano, Addresses are ... Example: url=https://smash.cardano-mainnet.iohk.io/.
Read more >
CIP - Cardano payment URI Scheme
cardano-foundation:master ← Emurgo:payment-urls ... As far as I know, Emurgo supports the payment links (if selected) and Daedalus has not.
Read more >
How Daedalus wallet identifies a valid cardano payment ...
When a Cardano address is entered for payment, Daedalus identifies it as a valid address immediately. Even if there is a single character ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found