Sepolia WalletConnect demo
The page deliberately contains two independent roles:
| Panel | Protocol role | Implementation |
|---|---|---|
| Lan Wallet pairing desk | Wallet | Reown @reown/walletkit; receives a wc: URI, reviews proposals/requests, and responds on behalf of the local account |
| Sepolia test dapp | Dapp | Wagmi's walletConnect connector; creates the QR/URI and requests signing/transactions |
Adding Wagmi's connector alone would not create a wallet. WalletKit is the wallet-side protocol client; the Rust bridge remains the signing boundary.
Setup
- Create a public project ID in the Reown Dashboard.
- Copy
demo/.env.exampleto ignoreddemo/.env.local, then setVITE_REOWN_PROJECT_ID.VITE_SEPOLIA_RPC_URLis optional and must point to Ethereum Sepolia (chain ID11155111). - Start the Rust bridge with a Sepolia RPC and
--allowed-origin http://127.0.0.1:5173. - Run
pnpm install --frozen-lockfile && pnpm run devindemo/. - Authorize the bridge in the wallet panel. Start a WalletConnect connection in the dapp panel, then scan or paste the URI on the wallet side.
- Review the dapp identity, verification status, requested namespaces, chains, methods, and events. Approving builds the namespace with only
eip155:11155111, the active account,personal_sign,eth_signTypedData_v4,eth_sendTransaction,accountsChanged, andchainChanged. - A request must be approved in the wallet view and again at the Rust CLI. Either rejection returns
4001to the dapp.
The camera scanner uses the browser camera permission and recognizes WalletConnect wc: QR values. Paste-URI remains available for browsers without camera access and same-desktop testing.
Demonstrated flows
- Connect/disconnect and inspect account/network.
- Read the Sepolia balance through Wagmi's configured public transport.
- Request
personal_signthrough the WalletConnect session and local bridge. - Request a small Sepolia-only self-transfer. This is clearly marked as a live write, targets only the connected account, and has no automatic submission path.
The demo does not support mainnet, arbitrary recipient input, raw transaction signing, raw hash signing, chain addition, or chain switching.