Jade Wallet is integrated with WalletConnect. You can easily connect with desktop DApps and use them, including but not limited to Uniswap, Aave, SushiSwap, etc.
What is WalletConnect?
WalletConnect is an open protocol using end-to-end encryption technology that connects desktop DApps with mobile wallet apps via the authorization of scanning QR code. For DApps that support the WalletConnect protocol, users can initiate a transaction request on the DApp after the authorization of scanning QR code and then complete the transaction signature in the mobile wallet app. This solution is more secure than using Metamask for the private key is not stored on the desktop.
How does it work?
WalletConnect uses a Bridge server to relay the messages without having access to any of its contents. The contents are encrypted using the session data shared by the QR code between the desktop DApp and mobile wallet App. This allows the desktop DApp and Jade Wallet to exchange data securely.
When a user initiates a transaction on the DApp, the encrypted transaction data is transmitted to Jade Wallet. Jade Wallet will decrypt and parse it before presenting it to the user to view and confirm the generation of transaction order. Then, similar to the ETH transfer transaction, a threshold number of members need to work together online to complete a multi-party computation to sign and broadcast the transaction.
Let’s see an example
Alice clicks “Connect to a wallet” on Uniswap, and selects “WalletConnect” from the connection options that pop up. Then a QR code will be shown on the web page.
Alice goes to the “Discover” page on Jade Wallet and clicks “WalletConnect” to scan the code. The Uniswap’s connection request will appear on Jade Wallet in a while. After successful authorization, the wallet address and ETH balance will be displayed on Uniswap.
Alice swaps ETH to DAI on Uniswap. Click “Swap” and Uniswap will send the transaction data to Jade Wallet, then a page with transaction information will pop up on Jade Wallet. Alice sees the parsed data and clicks “Confirm” to submit the transaction order. Alice enters the signature transaction process and waits for the other members to be ready to sign. For a wallet with the rule of 2–3 signature, another member needs to be involved in the signing process.
Alice notifies another member Bob. Bob opens the Jade Wallet on his phone, accesses the corresponding ETH wallet and views the transaction order previously submitted by Alice. On the transaction details page, Bob clicks the “Agree” button to enter the signature transaction process, at which point both Alice and Bob’s phones will indicate that the member is ready.
Alice and Bob each need to reconfirm the detail of the transaction (what you see is what you sign), and click the “Confirm” button after confirming that the transaction detail is correct. Jade Wallet uses Face ID to verify the user and read the encrypted stored private keyshare. The transaction is signed using Alice’s and Bob’s private keyshares through MPC. After the signed transaction is successfully broadcast, the status of the transaction is displayed on Uniswap.