Web3 protocols like Aave, Compound or Yearn rely on users' deposits and focus on TVL growth. They need to make deposits frictionless to attract as many users and their tokens as possible.
Smart contracts underpinning those protocols only support deposits in a specific token. But that means only users with that particular token (i.e. DAI) can deposit. Other users who might own similar tokens (i.e. USDC, FRAX or USDT) are at a disadvantage.
Another friction comes from the multi-chain world of layer twos like rollups or alternative layer ones. Cross-chain deposits into protocols are unavailable, and users must use bridges and buy special gas tokens for the destination chain before depositing.
Protocols must accept deposits in any token and soon from any chain or rollup.
Zaps are special smart contracts that accept any token a user sends and convert it to any token the protocol requires. Zaps reduce the number of steps required to deposit and grow deposits and TVL (by as much as 2x).