Welcome to our Help Center 👋

Why do we have to "Approve" tokens before Zapping?

Written by DeFi Dad
Updated 3 months ago

Applications built on Ethereum require us to set a spending limit, or "give permission" to spend our tokens in order deposit them. Since ETH is the native asset of Ethereum, we can thankfully send/deposit any amount of ETH into any DeFi application without this Approval step.

However, you'll notice before swapping on Zapper Exchange or Zapping in the Invest tab, if you start with an ERC20 token like DAI or USDC, it requires 2 transactions, the first of which is this Approval step. The Approval transaction often costs significantly less in fees but it is an added step which costs a small amount of ETH to interact with the DeFi app.

One can set a Spend Limit Permission of Unlimited or Custom Spend Limit. The reason many of us choose the Custom Spend Limit is to protect against a doomsday scenario where someone, somehow gets malicious control of the smart contract. If the Unlimited setting were set for a wallet, that smart contract can drain a wallet of that token. With a Custom Spend Limit, there's a clear limit and protects against this unlikely malicious scenario.

Did this answer your question?