# 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**](https://docs.snowball.network/smart-contracts/deprecated-contracts) 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**.

![](https://2939101216-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MUmNn1kLL9Nii0Avdz3%2Fuploads%2FxpIymq5rZZP6APyVqEKX%2Fimage.png?alt=media\&token=30e2a431-fa94-4cbf-863e-069e94db07af)

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

![](https://2939101216-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MUmNn1kLL9Nii0Avdz3%2Fuploads%2F0XT5v8sD41PyosC9HLaf%2Fimage.png?alt=media\&token=ffbf76fe-df8f-40d6-951c-20e758c242ef)

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**](https://docs.snowball.network/smart-contracts/compounding-contracts). 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.

![](https://2939101216-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MUmNn1kLL9Nii0Avdz3%2Fuploads%2FKNhjA0SfH8EKldfwsbAB%2Fimage.png?alt=media\&token=3c6bc80a-4235-4b42-a7a8-71627232e4f9)

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.

![](https://2939101216-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MUmNn1kLL9Nii0Avdz3%2Fuploads%2FjpkeuaPVRCs3DMGcVaGp%2Fimage.png?alt=media\&token=13049e4c-e8b2-4257-bed5-fdab832d74d4)

{% 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**](https://docs.snowball.network/smart-contracts/compounding-contracts). In the second box - *value(uint256)* - add an arbitrarily large number, such as `999999999999999999999999999`.

![](https://2939101216-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MUmNn1kLL9Nii0Avdz3%2Fuploads%2FKNhjA0SfH8EKldfwsbAB%2Fimage.png?alt=media\&token=3c6bc80a-4235-4b42-a7a8-71627232e4f9)

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.

![](https://2939101216-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MUmNn1kLL9Nii0Avdz3%2Fuploads%2FjpkeuaPVRCs3DMGcVaGp%2Fimage.png?alt=media\&token=13049e4c-e8b2-4257-bed5-fdab832d74d4)

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**](https://docs.snowball.network/smart-contracts/compounding-contracts).

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

![](https://2939101216-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MUmNn1kLL9Nii0Avdz3%2Fuploads%2FsczoXiNR84xto9g18UpB%2Fimage.png?alt=media\&token=39cc9bd8-8de0-42d1-8c88-a06983043111)

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

![](https://2939101216-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MUmNn1kLL9Nii0Avdz3%2Fuploads%2F0XT5v8sD41PyosC9HLaf%2Fimage.png?alt=media\&token=ffbf76fe-df8f-40d6-951c-20e758c242ef)

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

![](https://2939101216-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MUmNn1kLL9Nii0Avdz3%2Fuploads%2FC2RZlx17ShYo73JPH0ft%2Fimage.png?alt=media\&token=47cecb85-8e31-4f15-b643-b0973ed4e0cd)

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**](https://docs.snowball.network/smart-contracts/compounding-contracts).

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

![](https://2939101216-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MUmNn1kLL9Nii0Avdz3%2Fuploads%2FsczoXiNR84xto9g18UpB%2Fimage.png?alt=media\&token=39cc9bd8-8de0-42d1-8c88-a06983043111)

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

![](https://2939101216-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MUmNn1kLL9Nii0Avdz3%2Fuploads%2FftHvsbph44NcG67bljqo%2Fimage.png?alt=media\&token=a3f29aa3-b05a-4cac-9b00-b240b69b4ec4)

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**](https://docs.snowball.network/smart-contracts/compounding-contracts).

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

![](https://2939101216-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MUmNn1kLL9Nii0Avdz3%2Fuploads%2F7XvneKAIkGz7jSwXKNfh%2Fimage.png?alt=media\&token=4e53a77c-5464-4c4a-8091-cf9afb835ac1)

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

![](https://2939101216-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MUmNn1kLL9Nii0Avdz3%2Fuploads%2FftHvsbph44NcG67bljqo%2Fimage.png?alt=media\&token=a3f29aa3-b05a-4cac-9b00-b240b69b4ec4)

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.
