What is WalletConnect?
WalletConnect is an open source protocol that allows mobile wallets to securely connect to a Dapp. The connection is encrypted and no private key is ever shared.
As WalletConnect is open-source, anyone can contribute to its development, or integrate it in their Dapp.
WalletConnect is important to the DeFi ecosystem because it massively increases the amount of Dapps you can use with a mobile wallet. At the time of writing, WalletConnect has received over $60,000+ in Gitcoin donations from the Ethereum community.
In Argent, we’ve made it easier to interact with a Dapp using WalletConnect. We’ve implemented the ability for a Dapp to trigger an ERC20 approve and a contract call in the same transaction. For example, if PoolTogether were to implement this, you could buy a ticket in a single tap.
You can see a list of Dapps that support WalletConnect here.
How to use WalletConnect
Here's how to use WalletConnect on both mobile and desktop Dapps:
1. Open a compatible Dapp
Find the Dapp you want to use, either on your desktop or mobile browser. An example application to try out WalletConnect is available at https://example.walletconnect.org/
2. Connect Your Wallet...
Nearly all Dapps on Ethereum now have an option to 'Connect your Wallet', or similar. Use your wallet and select this option. You will be able to connect via WalletConnect if the Dapp supports it.
...On Desktop
Select WalletConnect, then use your wallet to scan the QR code that's displayed.
...On Mobile
If you're using a Dapp in your mobile browser, after selecting the WalletConnect option in the Dapp, you'll see an option appear to 'Choose your preferred wallet'. Simply tap on the symbol that corresponds to the wallet you'd like to connect with.
This will open your wallet, and you can move on to authorizing the Dapp.
3. Authorize Dapp
Next, you'll receive a notification from your wallet asking if you'd like to approve the connection to your wallet.
When you authorize a Dapp you give it permission to access your wallet, and withdraw an amount of assets (i.e. Tokens) up to a limit you choose.
Authorization for Dapps can be withdrawn at any time.
In Argent you can do this by going to Security → Authorized Dapps, and following the instructions on-screen.
4. Confirm transaction
You should now be connected and ready to use WalletConnect.
When you make a transaction with the Dapp a popup will appear in your wallet asking for approval for the transaction.
As with any other transaction you'll need to pay network fees ("gas").
Remember to disconnect your wallet from the Dapp afterwards if you no longer intend to use it.
Demonstration: Claiming Tokens
Below is a demonstration of using WalletConnect with a Dapp to perform an action (in this case, claim some tokens):
Sometimes you might have to expand the options available when you connect your wallet to see the WalletConnect option. If you still don't see WalletConnect, why not ask the Dapp developers if they can integrate it!
How to use WalletConnect securely
When using WalletConnect your connection to a Dapp is encrypted and your private key is never shared. Security considerations remain, though.
Here are our tips to improving our security when using it:
1. Check you're using the real Dapp.
Check you're using the real Dapp by inspecting the URL. Attackers have been known to create fake versions of the website with the aim of stealing your tokens.
A further way to reduce this risk is to avoid clicking the first link in your search results (especially if it's a paid advertisement).
2. Don't approve an unlimited number of tokens
Unfortunately, it is a common practice for Dapps to ask you to authorize their ability to potentially take a nearly unlimited number of tokens from your wallet. They do this with the aim of simplifying the experience by reducing the number of transactions you make.
At Argent we offer a more secure alternative by only prompting you to approve what you want to spend.