> For the complete documentation index, see [llms.txt](https://docs.snowball.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.snowball.network/resources/guides/manual-contract-interaction.md).

# Manual Smart-Contract Interaction

In the rare case something happens to Snowball's website, you can always interact with our contracts through a block explorer. This guide will cover how to deposit funds into our contracts, claim your SNOB rewards and withdraw from our contracts without relying on our beautiful web interfaces.

{% hint style="info" %}
If you're planning on interact with deprecated contracts, all the addresses you'll need can be found [**here**](/smart-contracts/deprecated-contracts.md) instead of our usual compounding contracts page.
{% endhint %}

## Depositing into Compounding Strategies

1\) If depositing LP tokens, first supply liquidity to a pool on [**Pangolin**](https://app.pangolin.exchange/#/png/1) or [**Trader Joe**](https://www.traderjoexyz.com/#/pool) that receives rewards.

2\) Find the contract address for the pool you deposited into and open it on a [**C-Chain block explorer**](https://snowtrace.io). On Pangolin, this can be found on their [**analytics page**](https://info.pangolin.exchange/#/home). On Trader Joe, this can be found through their [**pools page**](https://www.traderjoexyz.com/#/pool).

3\) Once you have found it, click on **Contract** and **Write Contract**.

![](/files/2vQSQRHeXbLAMoqw1irI)

4\) If not already connected, connect your MetaMask wallet to the block explorer.

![](/files/20K0ejwbNGnIutjKS1L5)

5\) Find the **Approve** method. In the first box - *spender(address)* - you will need to input Snowball's **compounding deposit contract** for the token pair you'd like to compound. This can be found on our [**Compounding Contracts page**](/smart-contracts/compounding-contracts.md). In the second box - *value(uint256)* - add the amount of LP tokens you would like to approve or a slightly larger amount. If you are unsure, you may simply input an arbitrarily large number such as `999999999999999999999999999`. This value simply needs to be equal to or larger than the amount you wish to transfer in the next steps.

![](/files/30iwtRZ0mP7ZP25MQxNH)

6\) Click **Write**. You will be asked to approve the transaction through your wallet.

7\) Navigate to the Snowball's compounding deposit contract through the block explorer and click on **Contract** and **Write Contract**. This is the same address that you entered on step 5.

8\) Find the **depositAll** method.

![](/files/LcNj1Xptk3cveM6kkEYM)

{% hint style="danger" %}
**Never deposit tokens directly into a compounding gauge contract. Doing so will lead to a loss of funds.** Steps 9 and 14 are to deposit into the compounding deposit contract and compounding gauge contract respectively. These need to be followed in order.
{% endhint %}

9\) Click **Write**. You will be asked to approve the transaction through your wallet.

10\) On the same page, find the **Approve** method. In the first box - *spender(address)* - you will need to input Snowball's **compounding gauge contract** for the token pair you'd like to compound. This can be found on our [**Compounding Contracts page**](/smart-contracts/compounding-contracts.md). In the second box - *value(uint256)* - add an arbitrarily large number, such as `999999999999999999999999999`.

![](/files/30iwtRZ0mP7ZP25MQxNH)

11\) Click **Write**. You will be asked to approve the transaction through your wallet.

12\) Navigate to the Snowball's compounding gauge contract through the block explorer and click on **Write Contract**. This is the same address that you entered on step 10.

13\) Find the **depositAll** method.

![](/files/LcNj1Xptk3cveM6kkEYM)

14\) Click **Write**. You will be asked to approve the transaction through your wallet.

**Congratulations!** Your tokens have now been deposited in Snowball's compounding pool, and if there are SNOB rewards allocated to the pool you've chosen, you will gain SNOB tokens over time.

## Claiming SNOB Rewards

1\) Find the **compounding** **gauge contract address** for the pool you want to claim rewards from and open it on a [**C-Chain block explorer**](https://snowtrace.io). This can be found on our [**Compounding Contracts page**](/smart-contracts/compounding-contracts.md).

2\) Once you have found it, click on **Contract** and **Write Contract**.

![](/files/zpMiSTGhjOQBxIh3SeN8)

3\) If not already connected, connect your MetaMask wallet to the block explorer.

![](/files/20K0ejwbNGnIutjKS1L5)

4\) Find the **getReward** method.

![](/files/Xd08iannFRKhKkEJHt37)

5\) Click **Write**. You will be asked to approve the transaction through your wallet.

**Congratulations!** Once the transaction is confirmed, any SNOB rewards in that pool will have been transferred to your wallet.

## Withdrawing from Compounding Strategies

1\) Find the **compounding gauge contract address** for the pool you want to withdraw from and open it on a [**C-Chain block explorer**](https://snowtrace.io). This can be found on our [**Compounding Contracts page**](/smart-contracts/compounding-contracts.md).

2\) Once you have found it, click on **Contract** and **Write Contract**.

![](/files/zpMiSTGhjOQBxIh3SeN8)

3\) Find the **withdrawAll** method.

![](/files/AcB7ZCnQnWEiMJ3qJE4T)

4\) Click **Write**. You will be asked to approve the transaction through your wallet.

5\) Find the **compounding deposit contract address** for the pool you want to withdraw from and open it on the block explorer. This can be found on our [**Compounding Contracts page**](/smart-contracts/compounding-contracts.md).

6\) Once you have found it, click on **Contract** and **Write Contract**.

![](/files/ya3S30O58azDrQ2wz5kK)

7\) Find the **withdrawAll** method.

![](/files/AcB7ZCnQnWEiMJ3qJE4T)

8\) Click **Write**. You will be asked to approve the transaction through your wallet.

**Congratulations!** Once the transaction is confirmed, any tokens you had previously deposited in that pool will have been transferred to your wallet.
