Overview
Fireblocks allows you to manage the Ethereum blockchain token approvals you have given to smart contracts and decentralized applications (dApps). Token approvals give contracts and dApps the permission to move funds on your behalf. Depending on the approval amount, the contract or dApp may have the ability to move an unlimited amount of your funds.
You can use the Fireblocks Console or API to review and revoke specific token allowances for external parties you’re not actively using. The Token allowance tab on the Web3 Access page lists each active Ethereum blockchain token allowance for your workspace.
You can see the following information for each token allowance:
- Date set: The date the token allowance was established.
- Vault account: The vault account containing the token involved in the token allowance.
- Allowance: The amount of the token that is allowed to be spent by the third party.
- Chain: The blockchain on which the token allowance occurred.
- Expiration: The date the token allowance will expire.
- Type: Whether the token allowance was established using an on-chain or off-chain interaction.
- Spender: The name and address of the third party that was granted the token allowance.
Revoking token allowances can help keep your workspace secure by mitigating risks of theft from malicious contracts or hacked dApps. We also recommend setting an amount cap for your Approve transactions.
Revoking token allowances
You can revoke token allowances for individual wallet connections to specific smart contracts. This initiates a contract call to update the allowance to 0. Since revoking is an on-chain contract call transaction, you must pay a gas fee to complete the action.
In the Fireblocks Console, go to Web3 Access > Token allowances and select Revoke for the token allowance you want to revoke. While the contract call is in progress, the token allowance will appear in Revoking status. Once the transaction is confirmed on the blockchain, the token allowance moves to Revoked status.
If the action fails, the Revoke button will be available later for you to retry.
Revoked connections remain listed on the page. To reinstate revoked token allowances, you must initiate a new contract call to the smart contract or reconnect to the dApp.
Important notes
Depending on a smart contract’s implementation, existing token allowances may not update accurately in accordance with ongoing interactions. In this case, your allowance will show a larger amount than it actually is.
Managing token allowances via API
You can manage token allowances via the Fireblocks API using the token allowance endpoints.