Welcome to our Help Center 👋

Using Zaps from Etherscan

Join any liquidity pool (even those not displayed on zapper.fi/invest) by interacting with Zap Smart Contracts directly using Etherscan.
Written by zes
Updated 4 months ago

Our Zap functionality is extremely powerful, allowing you to enter pools using just any tokens. Although it is best to zap one of the tokens in the liquidity pool you are interacting with (see this article).

Below we will teach you how to use Zap straight from Etherscan. We will use the example of using ETH to enter the Uniswap v2 DAI/WETH pool. 

Zapping with ETH

1. Visit https://etherscan.io/address/0xd3cf4e98e1e432b3d6ae42ae406a78f2ac8293d0. This is Zapper's Uniswap v2 ZapIn contract. Please note that this contract is constantly being updated and may be outdated as you are viewing this. Please visit docs.zapper.fi/build/smart-contracts to see the latest version of the smart contract as well as the other zap contracts that we offer.

2. Press Contract --> Write Contract --> Connect to Web3, and connect your wallet accordingly. 

3. Since we are Zapping into a pool, the function we will use is called `ZapIn`. Fill out `ZapIn` function parameters according to the below image.

Note: for the _FromTokenContractAddress field, since you are using ETH, punch in 0000000000000000000000000000000000000000.

Note: the uint256 fields are denominated in 10^18. For easier copy and paste, type in your number and multiply it by 1000000000000000000  (these are 17 zeros here).

4. Once ready, click Write and confirm the transaction from your wallet. If successful you should see something like this:

Zapping Using ERC20 Tokens

Note that, if you are using ETH to Zap, you will not have to perform this step. 

For any smart contract to interact with tokens other than ETH, you will first have to go to the token's own contract and approve the smart contract that will interact with the token. 

For example, if we want to Zap into a pool using USDT, we would first have to go to USDT's smart contract to approve the ZapIn contract to use our USDT.

1. Navigate to USDT's smart contract page on Etherscan at etherscan.io/address/0xdac17f958d2ee523a2206206994597c13d831ec7. Press Contract --> Write Contract --> Connect to Web3, and connect your wallet accordingly.

2. Find the approve function and fill it out like below:

Note: the uint256 field is denominated in 10^18. For easier copy and paste, type in your number and multiply it by 1000000000000000000 (these are 17 zeros here).

Again, Zapper supports not only ZapIn, but also a variety of other functionalities. For a full list, please visit docs.zapper.fi/build/smart-contracts. Find the one you want to use, and fill in the approve function.

3. Now go back to Zapper's smart contract and fill out ZapIn function parameters, this time your `_FromTokenContractAddress` will be the USDT token contract address. If successful you should see something like this:

Did this answer your question?