What is WalletConnect?

All about the open protocol that enables mobile DeFi

Tagged

Post Date

Quick summary

WalletConnect helps you to use a Dapp (Decentralized Application) from a mobile wallet. It works on both mobile and desktop and is becoming one of the main standards for accessing an Ethereum Dapp.

This post covers what it is, why it matters and how to use it.

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.