Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ERC-1328 - WalletConnect Standard URI Format #1328

pedrouid opened this Issue Aug 15, 2018 · 4 comments


None yet
3 participants
Copy link

pedrouid commented Aug 15, 2018

eip: 1328
title: WalletConnect Standard URI Format
authors: ligi <>, Pedro Gomes <>
type: Standards Track
category: ERC
status: WIP
created: 2018-08-15
requires: 831

Simple Summary

A standard way of creating WalletConnect URIs for establishing connections between wallets and dapps


Sesion data in QR codes for initiating a connection between a wallet and dapp using the WalletConnect standard require a standardized URI format for effictively parsing the intenet. This ERC is expandable between versions of the standard and also mobile-to-mobile deep links.



Function call URIs follow the ERC-831 URI format, with the following parameters:

request            = "ethereum" ":" [ "wc-" ]sessionID [ "@" version ] [ "?" parameters ]
sessionID          = STRING
version            = 1*DIGIT
parameters         = parameter *( "&" parameter )
parameter          = key "=" value
key                = "name" / "bridge" / "symKey"
value              = NUMBER / STRING


Required parameters are dependent on the WalletConnect standard version which currently is specified to only include mobile-to-desktop connection sessions which only require name which describes the dapp name, bridge which includes the bridge URL, symKey which includes the symmetric key in base64.


The need for this ERC stems from the discussion to move away from JSON format used in current beta version of the WalletConnect standard which makes for very inneficient parsing of the intent of the QR code, making it easier to create better QR code parsers APIs for Wallets to implement for other compatible EIPs using the ERC-831 URI format for Ethereum.


  1. ERC-831,


Copyright and related rights waived via CC0.


This comment has been minimized.

Copy link
Contributor Author

pedrouid commented Aug 15, 2018

cc @ligi


This comment has been minimized.

Copy link

ligi commented Aug 16, 2018

Great! Some minor nit-picks:

I think TYPE should be removed or defined. I would vote for removing it

Btw: It is better to directly start your EIP as a PR - so one can directly write comments like the above on the corresponding line. Also You do not have this waste and overhead of having issue+pr.

I would leave out:

Optional parameters can include vanity parameters as color or image for providing additional UI elements for displaying the connection and transaction requests for the WalletConnect session

and properly add this when a new version is created. Otherwise this opens it up for getting really messy- people will just start using their custom solutions under the banner of "Optional parameters" and we will loose interoperability and open the door for bugs from this corner.

Also I think we should define the length of symKey

I would replace dapp with application ;-) - you know the context - just for context for others:

Perhaps also this link should be added for context and discussion

Other than that - great! Let's finalize and implement - I Think I can have WallETH compatible to this today ,-)


This comment has been minimized.

Copy link
Contributor Author

pedrouid commented Aug 16, 2018

@ligi I've made a few changes and submitted a PR


This comment has been minimized.

Copy link

ligi commented Mar 9, 2019

@pedrouid I think this issue can be closed

@nicksavers nicksavers closed this Mar 9, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.