CHIP-2023-05 URI Scheme Extensions for CashTokens

Here is my very first CHIP!

There has been talks in different forums, chat groups and so on for quite some time regarding this topic and this is my own attempt at getting some fuel to the discussion so a common format can be used.

This is very much a draft and changes and additions will happen going forward.

My aim for this solution is to have a simple solution to implement so the most basic use-cases of requesting and sending CashTokens can be achieved. More advanced use-cases can and should be deferred to other payment protocols.

I am aware that there might be a “competing” proposal within a very short time that probably is very well thought out, robust and feature-rich. I am first and foremost interested in getting something that works and will not die on this hill.


This looks

  • Simple
  • Robust
  • Compatible with previous ideas in the ecosystem

I like it so far. Unless someone has any strong reason against, I think it is reasonable to implement it “as-is” or maybe with some minor tweaks in upcoming and existing CashTokens wallets.

Of course I realize there is a proper CHIP process to follow and so on, but my point is - this is good as it is.

1 Like

Note that this does not affect consensus (or pseudo-consensus like mempool rules), so the usual stricter schedule and guides likely don’t apply - it’ll more likely become a “first significant implementation sets the rules” kind of thing. Really good to have the discussion out and up front for discussion for sure, hopefully this can encourage builders to go for public standards instead of custom quick and dirty ones.


It is true that this does not follow any hard schedule since there isn’t any risk for chain splits.

The plan forward looks like this:

  • Let the CHIP soak here for a while and gather feedback.
  • Do some editing of the document with clarifications, motivations and so on.
  • Test wallets to verify if they currently support dropping the (unknown) t parameter and reach out to wallet teams that fails to parse such URI. This is already started by myself and can/should be done regardless of the outcome of this CHIP.
  • Reach out to wallet teams to get statements.

If, at any point, another proposal gets more traction I will withdraw this one.


Just to give a hint that it’s a minority that needs to be updated I have successfully tested this on the following wallets I just happened to have installed on my Android phone:
Electron Cash
Bitcoin dot com

I had problems with the following wallets:
Stack. Scanning a QR code went fine but pasting an address failed. Reported on GitHub:
Zapit. Reported on Telegram: Telegram: Contact @zapit_io


Fantastic, thank you for working on this! (I hadn’t revisited this topic in a while until you brought it up again last week, so thanks for the nudge!)

The beginnings of that longer specification; merges and reconciles inconsistencies that now exist between various, pre-BCH-split standards:

Thanks for the through review of existing wallets as well, it’s great your were already able to catch some issues!

1 Like

I have now withdrawn this proposal in favor of Jasons.

1 Like