UP Wallet (experimental)

Use your Universal Profile as the account on any dApp, on any network where you deployed it: the dApp sees the UP address, your controller signs.
Home

0 · How it works

This page is a WalletConnect bridge between a dApp and your UP. The dApp sees the UP address as the account. Every transaction is wrapped into KeyManager.execute(UP.execute(...)) and signed by your controller in MetaMask: the call comes from the UP and any value is paid from the UP's balance, while the controller pays the gas. Every message signature is made by the controller and the UP recognises it as its own (ERC-1271). First of all, the page checks that the UP and the controller are compatible on the chosen network. Every request is shown in full, checked and (for transactions) simulated; nothing happens without your click and your confirmation in MetaMask.
⚠️ Read before using this page
Always rejected: eth_sign and legacy signature formats, contract creation, transactions from the UP to itself or to its own Key Manager (they could change its controllers and permissions), requests on a network other than the chosen one.

1 · Network

The network where the UP is deployed and where you want to use the dApp. One network at a time: changing it closes the active WalletConnect sessions.

2 · Your UP

3 · Controller (MetaMask) and check

MetaMask with the UP controller's key, on the chosen network. It pays the gas: it needs some of the network's coin. The compatibility check between UP and controller starts by itself and runs again if you change network, UP, account or MetaMask's network.
The check starts by itself once network, UP and MetaMask are set.

4 · Connect a dApp through WalletConnect

On the dApp choose to connect with WalletConnect, copy the connection link (below the QR code, it starts with wc:) and paste it here. It is enabled only when the check in panel 3 is green. Keep this page open while you use the dApp.
No session.

5 · Requests from the dApp

When checked, transactions are checked and simulated, then the dApp is told it was a simulation: nothing is sent and nothing is spent. Message signatures cannot be simulated: they are always shown and signed only if you press "Sign the message".
No pending request.