# acSaving

## Introduction

.acSaving is ACoconut's saving product for various ERC20-related assets, which includes:

* ERC20 BTC, e.g. WBTC, renBTC, HBTC,&#x20;
* ERC20 BTC LP, e.g. renCrv, hbtcCrv, erc.

By depositing ERC20-related assets into acSaving, users can earn yield in principle as well as rewards in ACoconut token.

## Architecture

Similar to Yearn's vaults, acSaving consists of three components: Vaults, Strategy and Controller.

![acSaving Architecture](https://2364035719-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MFcDPJsdBYdzcYl-wq6%2F-MOzJqg_NT6CqypFexF2%2F-MOzMp2uVDYTUIxhFQJ2%2Fimage.png?alt=media\&token=76fdbd9b-2529-46c2-b00f-4a19b591bd05)

### Vaults

Vaults are capital pools that seeks highest yields from the DeFi market. Each vault manages exactly one ERC20 token, which means:

* Each vault accepts deposit of a single type of ERC20 token;
* Users can only withdraw that ERC20 token from the vault, which means all assets hold by the vault will eventually be converted into that ERC20 token.

### Strategy

Strategies represent how assets in vaults are vested in order to gain yield. The relationship between vaults and strategies are as following:

* A strategy is bound to a specific vault;
* A vault can have multiple candidate strategies, but at most one strategy is active at a time;
* A strategy might hold multiple tokens, but they are eventually converted into the token that the vault expects.

### Controller

Controller is the central component that provides common functionalities to vaults, including:

* Defining common parameters, e.g. treasury, reward token, etc;
* Managing the list of vaults with unique vault ID;
* Providing AC as liquidity mining rewards to vaults.

## Roles

There are three roles in acSavings: users, governance and strategist.

### User

Users can deposit and withdraw asset into vaults. They only interact with vaults, and thus only care about the asset that each vault expect.

### Governance

Governance has the central power in acSaving. It's defined in Controller and shared by its underlying vaults and strategies. Governance can perform critical operations, which includes:

* Set critical parameters, e.g. strategy performance fee and withdrawal fee;
* Add new vaults to Controller;
* Add AC rewards to vaults as liquidity mining rewards.

### Strategist

&#x20;Strategists are defined in Vaults and shared by its underlying strategies, which means each vault can have its own strategist. Strategists perform permissioned daily operations, such as:

* Invest idle assets in vaults into strategies;
* Harvest from strategies and reinvest.
