Connecting to apps

From trading ERC20 tokens to investing in decentralized finance (DeFi), gaming, NFTs and more, there are thousands of apps available on the internet that make use of your Ethereum wallet. Your ZenGo wallet is a secure bridge to this massive ecosystem via a protocol known as WalletConnect.

Currently, ZenGo supports apps that run on Ethereum only.

See an example on how to trade on Uniswap

Using the QR Scanner

To connect to an app that supports WalletConnect, go to the app’s website and choose “WalletConnect” from the connection options (usually under "Connect Wallet"). You will see a QR code. Then, open ZenGo on your mobile device, tap the QR scanner icon in the top right corner of the home screen and scan the QR code.

If you did not back up your wallet yet, ZenGo will prompt you to do so first. After you made a backup and synced it to a cloud service, you will be able to use the QR scanner.

Connecting to an app

After scanning the QR code, you will be shown a “Connect to app” dialog box, tap the Confirm button to connect. By connecting, you are giving the app access to your address, your account balances, your activity history and the ability to initiate transactions. However, rest assured at this point that the app can not approve transactions on your behalf. Also, this connection will stay active until you decide to disconnect from within ZenGo or from the app itself.

View the apps you are connected to

You can view all apps connected to your wallet on the “App Connections” screen. Access your App Connections screen from the QR scanner screen by swiping left or by tapping the active connections on the bottom of the screen. You can also access the App Connections screen from the Account tab.

Disconnecting from an app

To disconnect from a specific app, access the App Connections screen, tap the desired app and then tap “Disconnect”. You will need to repeat this process for each app you would like to disconnect.

You do not need to have an Ethereum balance to pay for gas fees when connecting or disconnecting to apps.

In contrast, all other interactions below are recorded on the blockchain and therefore, you will need to have some Ethereum to pay for the associated gas fees. You can purchase ETH in ZenGo.

Granting apps access to your assets

To initiate any type of transaction, an app will first require access to an asset, which you can do by Granting and Revoking asset approvals to any particular app.

Granting asset approvals

Asset approvals give permission for an app to interact with a specific asset (usually to withdraw or move an asset). This permission is not tied to any transaction or specific use case, instead, it gives the app unlimited access for an indefinite amount of time - or until you revoke access in the future.

When granting asset approvals, you can either give the app unlimited allowance for the full amount of your asset, or you can specify an amount and limit how much the app can access.

Unlimited allowance

While the amount of the allowance is flexible, most apps by default ask for an infinite allowance for the sake of minimizing the amount of transactions that must take place in the future. This is done to limit gas fees whenever possible.

Limited allowance

A fixed amount allowance is useful if you are certain this specific app will not need future interactions with this asset.

Known vs Unknown assets

There are thousands of new assets on the Ethereum blockchain, and new ones are added every day. While ZenGo supports many of these assets, it does not support them all. If an app requests access to an asset that ZenGo does not support, but one you received in your Ethereum wallet, ZenGo will not be able to specify the name of the asset you are about to give permission to. Please ask our in-app live support if you have more questions about this.

Revoking ERC-20 asset approvals

To remove the app’s ability to access your funds and spend on your behalf, you will need to revoke the asset approvals (ERC-20 tokens) for a specific app. You can do so using multiple tools. Please note: Because “Revoke access” is an on-chain transaction, it will cost some gas fees (paid to the network, not to ZenGo). Be prepared for this by holding some ETH in your wallet.

Tools for revoking ERC-20 access

Here is a video demonstration of how to do it with ZenGo

Approve Transactions

Approve messages

Some apps require you to sign a message before continuing. The message might include the app’s terms of use or some other text that requires your review. This action does not require any additional gas fees.

Approve transfers

The most popular use case for connecting to an app is to support a certain action with the app. Whether you are buying an NFT, swapping one asset for another or sending funds to a vault to earn interest, all these actions will require you to sign a transaction that transfers funds out of the ZenGo wallet and to the app itself.

Note on ZK rollup-based apps

Because of how ZK rollup-based apps handle transaction signatures, there is a risk that depositing funds into such an app and then disconnecting from the app would result in the app not being able to identify your wallet the next time you try to connect, and thus would result in loss of funds. We strongly urge you to avoid using ZK rollup-based apps with ZenGo until a better technical solution is in place.

Did this answer your question?