Purpose built contracts that enable automated deployment of Community Reserves

A Strategy is a modular contract that is purpose-built for deploying Collateral and Community Treasury funds, receiving multiple types of tokens, and reporting balances of each type of token it holds. These are one-time transactions, not ongoing processes, that can perform atomic actions on the Community Treasury and Collateral, usually involving one or more interactions with external staking and farming contracts. Strategies could entail like-kind trades that may be desirable in connection with a change of Collateral, staking assets, hedging, and many other asset allocation schemes. Strategy can be purpose-built to work with any external contracts and interact with multiple token types at any given time.

Characteristics and Limitations

  1. Strategies must have functions to move funds around.

  2. Strategies don’t rely on whitelisted tokens.

  3. Strategies can interact with multiple token types, but can only be assigned to one known token*.

  4. Strategies automatically execute allocations of the assets allocated to them (by the Controller or oneToken Governance) from the oneToken Vault.

*A known token is one that has been registered to the oneToken Vault. This process includes configuration of the Oracles.

E.g. The oneETH community has decided to put a Strategy in place that can provide ETH-ICHI to that respective pool on SushiSwap. They allocate 10% of their ETH and ICHI from their Treasury to the Strategy which will automatically deposit those tokens into the pool and get back LP tokens. At this stage the said Strategy may not be able to further deploy these LP tokens because it does not have that capability, depending on the developer’s preference for modularity or completeness. The Controller could instruct the Strategy to send those LP tokens back to the oneETH Vault and for the Vault to send those to another Strategy focused on using those LP tokens to farm and receive yield for the oneETH treasury. Strategy allowances (ERC20) facilitate the transfers and also give Controllers an indication of governance objectives. For example, Strategy A with LP tokens and an LP token allowance of zero, plus Strategy B with an infinite LP token allowance could be interpreted by a Controller as an indication that governance wants to move the LP tokens from Strategy A to Strategy B when feasible and affordable (gas). Controllers can use any specialized logic to determine actions.

Similar to the other modular components in the ICHI and oneToken system, Strategies will be admitted via the ICHI Governance and selected by oneToken Governance. oneTokens assign 0-1 strategies per known token which can help a UI value tokens in the Vault. While a Strategy can interact with multiple tokens, the logic is specified to a single known token within the Vault.