Summary
ERC-4527 "QR Code transmission protocol for wallets" has been Stagnant since its creation (Created: 2021-12-07, no activity for 6+ months). The standard describes an offline/air-gapped QR-code request–response protocol between dApps/watch-only wallets and offline signers (e.g. Keystone, AirGap Vault, Ngrave), built on BC-UR (Blockchain Commons Uniform Resources).
Meanwhile the underlying ecosystem (BC-UR + crypto-* / eth-* UR types) has kept evolving and is shipping in real hardware wallets — so the formal ERC is out of sync with practice. This issue proposes to (1) modernize the ERC and (2) provide a reference implementation in this repo.
Motivation
- The protocol works and is interoperable in shipping wallets, but the ERC text is frozen at 2021 and marked Stagnant, so there is no authoritative, up-to-date spec to point to.
- There is no canonical, vendor-neutral reference implementation that demonstrates the full round-trip (dApp shows QR → offline signer scans → signer shows QR → dApp scans back).
- ERCRef's mission explicitly covers both ERC drafting discussions and reference implementations — this is squarely in scope.
Scope
Part 1 — Modernize the ERC
Part 2 — Reference implementation (this repo)
Notes / open questions
- ERC-4527 is primarily an off-chain transmission protocol, so the "reference implementation" here is a TS/JS library + demo rather than a Solidity contract — confirm desired home/layout in this repo.
- Decide whether to align directly with BC-UR as the normative dependency, or to re-specify the UR types inline in the ERC.
- Coordinate with original author(s) and current BC-UR / hardware-wallet implementers before re-submitting upstream.
References
Summary
ERC-4527 "QR Code transmission protocol for wallets" has been
Stagnantsince its creation (Created: 2021-12-07, no activity for 6+ months). The standard describes an offline/air-gapped QR-code request–response protocol between dApps/watch-only wallets and offline signers (e.g. Keystone, AirGap Vault, Ngrave), built on BC-UR (Blockchain Commons Uniform Resources).Meanwhile the underlying ecosystem (BC-UR +
crypto-*/eth-*UR types) has kept evolving and is shipping in real hardware wallets — so the formal ERC is out of sync with practice. This issue proposes to (1) modernize the ERC and (2) provide a reference implementation in this repo.Motivation
Scope
Part 1 — Modernize the ERC
Stagnant(reopen asDraft/Review).eth-sign-request,eth-signature,crypto-hdkey,crypto-account, etc.).personal_sign, EIP-712eth_signTypedData_v4, and EIP-4337 UserOperations.Part 2 — Reference implementation (this repo)
@ngraveio/bc-ur/@keystonehq/bc-ur-registry-eth).@ercref/contractspackaging conventions.Notes / open questions
References