What is pre-authorization?
WalletConnect transactions with Dapps include two steps:
1. Pre-authorization of the tokens.
2. The transaction you want to perform.
Pre-authorization means allowing a Dapp to access a certain amount of a particular token in your wallet.
ETH itself doesn't require pre-authorization; it is only needed for other ERC-20 tokens.
The amount of pre-authorized tokens
Dapps often ask for pre-authorization of an infinite amount. We advise against this due to the security risk.
In Argent you will see a Change button to change the pre-authorization amount.
If you pre-authorize less than the transaction amount, the transaction may fail. We'd advise pre-authorizing the exact amount or slightly more than you are going to spend in the Dapp.
Tokens that need previous allowance revoked
Some tokens like LEND(AAVE) or USDT require the pre-authorized amount to be zero before transacting, so when using these tokens you need to first revoke the amount you have authorized if any.
The process for such tokens would include these steps:
1. Revoke pre-authorization. You can do this in account switcher (ETH or zkSync icon on the top-left in your Assets tab) > Argent Vault > Security > Token allowances and Revoke next to the token if you see it on the list. You will need to pay the network fees for this transaction.
2. Connect to Dapp and pre-authorize the exact amount you are about to transact.
3. Proceed with the transaction.
If you are unsure whether you need to set allowance to 0, you may want to reach out to the token support to confirm.
Network fees included in WalletConnect interaction
Both transactions include network fee, pre-authorization is normally cheaper than the main transaction, so plan your assets usage accordingly before proceeding.
Revoking a pre-authorization requires network fees.
You may encounter a risk of a duplicate request of pre-authorization by the Dapp if a dapp fails to check the pre-authorized amount. If you see a request to pre-authorize a token again, please:
1. Check your previously authorized amount.
2. Open the dapp anew in Chrome incognito window to make sure nothing is cached.
3. Try and see if the Dapp UI allows to proceed with the transaction without duplicate pre-authorize request.