> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eco.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Harvest Finance (harvest)

> Yield farming protocol that automatically compounds rewards across DeFi strategies via Vault+Strategy pattern.

Yield farming protocol that automatically compounds rewards across DeFi strategies via Vault+Strategy pattern.

| Fact | Value |
| - | - |
| Category | Yield and vaults |
| Family | none |
| Namespace | `Harvest` on ethereum |
| Chains | ethereum |

## What it offers

* **deposit**: Deposit tokens into Harvest vault
* **withdraw**: Withdraw tokens from vault
* **getPricePerFullShare**: Query vault share price

## Notes

* FARM token for governance. Auto-compounds strategy rewards.

## Its names in a program

On Ethereum, `Harvest` is a namespace: its contracts need no import.

```ts theme={null}
function main() {
  // Ethereum's controller, `0x222412af183BCeAdEFd72e4Cb1b71f1889953b1C`.
  require(Harvest.Controller != 0);
}
```

## Deployments

| Chain | Contract | Address | In a program |
| - | - | - | - |
| [Ethereum](https://docs.eco.com/sauce-sdk/reference/chains/ethereum.md) | controller | `0x222412af183BCeAdEFd72e4Cb1b71f1889953b1C` | `Harvest.Controller` |
| [Ethereum](https://docs.eco.com/sauce-sdk/reference/chains/ethereum.md) | depositHelper | `0xF8ce90c2710713552fb564869694B2505Bfc0846` | `Harvest.DepositHelper` |
| [Ethereum](https://docs.eco.com/sauce-sdk/reference/chains/ethereum.md) | farm | `0xa0246c9032bC3A600820415aE600c6388619A14D` | `Harvest.Farm` |

## ABI

### `VaultABI`

`import VaultABI from "./protocols/harvest/VaultABI.json";`

* `deposit(uint256 amount) returns (uint256)`
* `withdraw(uint256 numberOfShares) returns (uint256)`
* `getPricePerFullShare() view returns (uint256)`
* `underlyingBalanceWithInvestment() view returns (uint256)`
* `balanceOf(address account) view returns (uint256)`

## Next steps

* [Protocols](https://docs.eco.com/sauce-sdk/reference/protocols.md): the other protocols, by what they do.
* [Protocols and tokens](https://docs.eco.com/sauce/names.md): calling a contract by its namespace, or through its ABI.
* [Glossary](https://docs.eco.com/sauce/glossary.md): the words these pages use, in plain terms.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.