WalletConnect is an open protocol to communicate securely between mobile wallets and decentralized applications (dApps) using QR code scanning (desktop) or deep linking (mobile)
WalletConnect is an open source protocol that allows mobile wallets to securely connect to a Dapp.
WalletConnect is important to the DeFi ecosystem because it massively increases the amount of Dapps you can use with a mobile wallet.
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.
Communication between the dApp and the mobile wallet (peers) happens over a bridge server that relays messages without access to their content. Message contents are symmetrically encrypted through a shared key between the two peers using session data. The connection is initiated by the dApp displaying a QR Code or deep link with a standard WalletConnect URI and is established when the user approves this connection request within their Algorand Wallet. Public bridge servers are maintained by WalletConnect and dApp developers may also deploy their own.
Information exchange between the peers typically consists of an unsigned atomic transaction group from the dApp to the mobile wallet, which is then inspected by the user, signed and returned back to the dApp. The dApp will submit the signed object for confirmation by the Algorand network which will effect balances and state accordingly.