EIPs/EIPS/eip-1328.md

2.1 KiB

eip title author type category status created discussions-to requires
1328 WalletConnect Standard URI Format ligi <ligi@ligi.de>, Pedro Gomes <pedrouid@protonmail.com> Standards Track ERC Draft 2018-08-15 https://ethereum-magicians.org/t/wallet-connect-eip/850 831

Simple Summary

A standard to create WalletConnect URIs for establishing connections between wallets and applications.

Abstract

This standard defines how the data to connect some application and a wallet can be encoded with a URI. This URI can then be shown either as a QR code or for mobile to mobile as a link.

Specification

Syntax

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

Semantics

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.

Example

ethereum:wc-8a5e5bdc-a0e4-4702-ba63-8f1a5655744f@1?name=DappExample&bridge=https://bridge.example.com&symKey=KzpSTk1pezg5eTJRNmhWJmoxdFo6UDk2WlhaOyQ5N0U=

Rationale

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. Also by using a URI instead of a JSON inside the QR-Code the Android Intent system can be leveraged.

References

  1. ERC-831, http://eips.ethereum.org/EIPS/eip-831

Copyright and related rights waived via CC0.