---
# System prepended metadata

title: Strategy Diagrams
tags: [strategy-diagrams]

---

---
tags: 'strategy-diagrams'
---

# Strategy Diagrams


### 1inchStaking

**Description:** Stakes {{token}} on [1inch DAO](https://app.1inch.io/#/1/dao/governance) to collect governance rewards. Rewards are harvested and deposited back into the strategy.

```graphviz
digraph strategy {
	node[shape=none]
	rankdir=LR;
	node[group=tokens, height=1.35, imagepos="tc", labelloc="b"]
	deposit[token="0x111111111117dC0aa78b770fA6A738034120C302", label="Deposit"];
	gov_staking[token="{{1inch staking image}}", label="1inch Governance"];
	reward[token="0x111111111117dC0aa78b770fA6A738034120C302", label="Reward"];
	
	node[group=descriptions, height=1, labelloc="c"];
	stake_desc[label="Earn 1inch emissions \nstaking in gov"];
	{rank = same; stake_desc; gov_staking;}
	reward_desc[label="Rewards are redeposited"];
	{rank = same; reward_desc; reward;}

	subgraph connections {
		deposit -> gov_staking;
		gov_staking -> reward;
		reward -> gov_staking
	}
}
```

### AaveBorrow

**Description:** Supplies {{token}} to [AAVE](https://app.aave.com/home) to generate interest and earn staked AAVE tokens. Once unlocked, earned tokens are harvested, sold for more {{token}} which is deposited back into the strategy. This strategy also borrows tokens against {{token}}. Borrowed tokens are then deposited into corresponding yVault to generate yield.

```graphviz
digraph strategy {
	node[shape=none]
	rankdir=LR;
	node[group=tokens, height=1.35, imagepos="tc", labelloc="b"]
	deposit[token="{{token-address}}", label="Deposit"];
	aave_pool[token="{{generic-aave-pool}}", label="Aave Pool"];
	reward[token="0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9", label="Reward"];
	borrow[token="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", label="Borrow"];
	yvault[token="0x5f18C75AbDAe578b483E5F43f12a39cF75b973a9", label="yVault"];
	
	node[group=descriptions, height=1, labelloc="c"];
	pool_desc[label="Earn interest \nand Aave tokens \n by lending"];
	{rank = same; pool_desc; aave_pool;}
	reward_desc[label="Rewards are redeposited"];
	{rank = same; reward_desc; reward;}
	borrow_desc[label="Stablecoins are \nborrowed and \ndeposited in yVault"];
	{rank = same; borrow_desc; borrow;}
	yvault_desc[label="Profits are harvested from yVault and redeposited into the Aave pool"];
        {rank = same; yvault_desc; yvault;}
	
	subgraph connections {
		deposit -> aave_pool;
		aave_pool -> reward;
		aave_pool -> borrow;
		borrow -> yvault;
		yvault -> aave_pool;
		reward -> aave_pool;
	}
}
```

### AaveCreamLenderOptimizer

**Description:** Supplies {{token}} to [AAVE](https://app.aave.com/home) and [C.R.E.A.M.](https://app.cream.finance/) to generate interest and earn staked AAVE tokens. Once unlocked, earned tokens are harvested, sold for more {{token}} which is deposited back into the strategy.

```plantuml
digraph strategy {
	node[shape=none]
	rankdir=LR;
	node[group=tokens, height=1.35, imagepos="tc", labelloc="b"]
	deposit[token="{{token-address}}", label="Deposit"];
	aave_pool[token="{{generic-aave-pool}}", label="Aave Pool"];
	cream_pool[token="{{generic-cream-pool}}", label="Cream Pool"];
	reward[token="0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9", label="Reward"];
	
	node[group=descriptions, height=1, labelloc="c"];
	aave_desc[label="Earn interest \nand Aave tokens \n by lending"];
	{rank = same; aave_desc; aave_pool;}
	aave_desc[label="Earn interest \nand Aave tokens \n by lending"];
	{rank = same; aave_desc; aave_pool;}
	reward_desc[label="Rewards are redeposited"];
	{rank = same; reward_desc; reward;}
	
	subgraph connections {
		deposit -> aave_pool;
		aave_pool -> reward;
		deposit -> cream_pool;
		aave_pool -> cream_pool;
		reward -> aave_pool;
	}
}
```

### AaveLenderOptimizer

**Description:** Supplies {{token}} to [AAVE](https://app.aave.com/home) to generate interest and earn staked AAVE tokens. Once unlocked, earned tokens are harvested, sold for more {{token}} which is deposited back into the strategy.

```plantuml
digraph strategy {
	node[shape=none]
	rankdir=LR;
	node[group=tokens, height=1.35, imagepos="tc", labelloc="b"]
	deposit[token="{{token-address}}", label="Deposit"];
	aave_pool[token="{{generic-aave-pool}}", label="Aave Pool"];
	reward[token="0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9", label="Reward"];
	
	node[group=descriptions, height=1, labelloc="c"];
	pool_desc[label="Earn interest \nand Aave tokens \n by lending"];
	{rank = same; pool_desc; aave_pool;}
	reward_desc[label="Rewards are redeposited"];
	{rank = same; reward_desc; reward;}
	
	subgraph connections {
		deposit -> aave_pool;
		aave_pool -> reward;
		reward -> aave_pool;
	}
}
```

### AlphaHomoraLenderOptimizer

**Description:** Supplies {{token}} to [Alpha Homora](https://homora.alphafinance.io/) to generate interest.

```graphviz
digraph strategy {
	node[shape=none]
	rankdir=LR;
	node[group=tokens, height=1.35, imagepos="tc", labelloc="b"]
	deposit[token="{{token-address}}", label="Deposit"];
	alpha_pool[token="{{generic-alpha-pool}}", label="Alpha Pool"];
	reward[token="0xa1faa113cbE53436Df28FF0aEe54275c13B40975", label="Reward"];
	
	node[group=descriptions, height=1, labelloc="c"];
	pool_desc[label="Earn interest \nand ALPHA tokens \n by lending"];
	{rank = same; pool_desc; alpha_pool;}
	reward_desc[label="Rewards are redeposited"];
	{rank = same; reward_desc; reward;}
	
	subgraph connections {
		deposit -> alpha_pool;

	}
}
```

### AlphaHomoraReinvest

**Description:** Supplies {{token}} to [Alpha Homora](https://homora-v2.alphafinance.io) to generate interest and earn ALPHA tokens. Earned tokens are harvested, sold for more {{token}} which is deposited back into the strategy.

```
digraph strategy {
	node[shape=none]
	rankdir=LR;
	node[group=tokens, height=1.35, imagepos="tc", labelloc="b"]
	deposit[token="{{token-address}}", label="Deposit"];
	alpha_pool[token="{{generic-alpha-pool}}", label="Alpha Pool"];
	reward[token="0xa1faa113cbE53436Df28FF0aEe54275c13B40975", label="Reward"];
	
	node[group=descriptions, height=1, labelloc="c"];
	pool_desc[label="Earn interest \nand ALPHA tokens \n by lending"];
	{rank = same; pool_desc; alpha_pool;}
	reward_desc[label="Rewards are redeposited"];
	{rank = same; reward_desc; reward;}
	
	subgraph connections {
		deposit -> alpha_pool;
		alpha_pool -> reward;
		reward -> alpha_pool;
	}
}
```
### CompoundLeverage

**Description:** Supplies and borrows {{token}} on [Compound Finance](https://app.compound.finance) simultaneously to earn COMP. Earned tokens are harvested, sold for more {{token}} which is deposited back into the strategy. Flashloans are used to obtain additional {{token}} from [dYdX](https://margin.dydx.exchange/markets/overview) to boost the APY.

```
digraph strategy {
	node[shape=none]
	rankdir=LR;
	node[group=tokens, height=1.35, imagepos="tc", labelloc="b"];
	deposit[token="{{token-address}}", label="Deposit"];
	comp_pool[token="{{generic-comp-pool}}", label="Compound Pool"];
	reward[token="0xc00e94Cb662C3520282E6f5717214004A7f26888", label="Reward"];
	loan[token="{{dYdX logo}}", label="Loan"];
	
	node[group=descriptions, height=1, labelloc="c"];
	pool_desc[label="Earn interest \nand COMP tokens \n by lending"];
	{rank = same; pool_desc; comp_pool;}
	reward_desc[label="Rewards are redeposited"];
	{rank = same; reward_desc; reward;}
	flashloan_desc[label="dYdX Flashloans increase yield"];
	{rank = same; flashloan_desc; loan;}


	subgraph connections {
		deposit -> comp_pool;
		comp_pool -> loan;
		loan -> comp_pool;
		comp_pool -> reward;
		reward -> comp_pool;
	}
}
}
```

### ConvexReinvest

**Description:** Supplies {{token}} to [Convex Finance](https://www.convexfinance.com/stake) to earn CRV and CVX (and any other available tokens). Earned tokens are harvested, sold for more {{token}} which is deposited back into the strategy.

```
digraph strategy {
	node[shape=none]
	rankdir=LR;
	node[group=tokens, height=1.35, imagepos="tc", labelloc="b"]
	deposit[token="{{token-address}}", label="Deposit"];
	convex_pool[token="{{generic-convex-pool}}", label="Convex Pool"];
	reward[token="{{convex-token}}", label="Reward"];
	
	node[group=descriptions, height=1, labelloc="c"];
	pool_desc[label="Earn interest \nand CVX tokens \n by lending"];
	{rank = same; pool_desc; convex_pool;}
	reward_desc[label="Rewards are redeposited"];
	{rank = same; reward_desc; reward;}
	
	subgraph connections {
		deposit -> convex_pool;
		convex_pool -> reward;
		reward -> convex_pool;
	}
}
```

### CreamDyDxLenderOptimizer

**Description:** Supplies {{token}} to [dYdX](https://margin.dydx.exchange/markets/overview) and [C.R.E.A.M.](https://app.cream.finance) to generate interest. The proportions are adjusted each time the strategy calls harvest.

```
digraph strategy {
	node[shape=none]
	rankdir=LR;
	node[group=tokens, height=1.35, imagepos="tc", labelloc="b"]
	deposit[token="{{token-address}}", label="Deposit"];
	dydx_pool[token="{{generic-convex-pool}}", label="dYdX Pool"];
	cream_pool[token="{{generic-convex-pool}}", label="C.R.E.A.M. Pool"];
	
	node[group=descriptions, height=1, labelloc="c"];
	pool_desc[label="Automatically \nseek highest rates \nbetween these pools"];
	{rank = same; pool_desc; dydx_pool;}
	
	subgraph connections {
		deposit -> dydx_pool;
		deposit -> cream_pool;
		cream_pool -> dydx_pool;
		dydx_pool -> cream_pool;
	}
}
```

### CreamLenderOptimizer

**Description:** Supplies {{token}} to [C.R.E.A.M.](https://app.cream.finance) to generate interest.

```
digraph strategy {
	node[shape=none]
	rankdir=LR;
	node[group=tokens, height=1.35, imagepos="tc", labelloc="b"]
	deposit[token="{{token-address}}", label="Deposit"];
	cream_pool[token="{{generic-cream-pool}}", label="C.R.E.A.M. Pool"];
	
	node[group=descriptions, height=1, labelloc="c"];
	pool_desc[label="Manage proportions of \nC.R.E.A.M. Finance deposits"];
	{rank = same; pool_desc; cream_pool;}
	
	subgraph connections {
		deposit -> cream_pool;
	}
}
```
---

### CurveDaoFeeClaim

**Description:** Converts {{token}} into yveCRV and earns a continuous share of [Curve Finance](https://curve.fi) fees. Earned [3Crv](https://curve.fi/3pool) (Curve's 3pool LP token) fees can be claimed every Friday.

```
digraph strategy {
	node[shape=none]
	rankdir=LR;
	node[group=tokens, height=1.35, imagepos="tc", labelloc="b"]
	deposit[token="0xD533a949740bb3306d119CC777fa900bA034cd52", label="Deposit"];
	curve_gov[token="0xc5bDdf9843308380375a611c18B50Fb9341f502A", label="Curve Governance"];
	reward[token="0x9cA85572E6A3EbF24dEDd195623F188735A5179f", label="Reward"];
	
	node[group=descriptions, height=1, labelloc="c"];
	gov_desc[label="CRV is locked indefinitely"];
	{rank = same; gov_desc; curve_gov;}
	reward_desc[label="Stablecoin LP distributed every Friday"]
	{rank = same; reward_desc; reward;}

	subgraph connections {
		deposit -> curve_gov;
		curve_gov -> reward;
	}
}
```

### CurveDaoFeeClaimReinvest

**Description:** Accepts {{token}} to earn a continuous share of [Curve Finance](https://curve.fi) fees. Earned [3Crv](https://curve.fi/3pool) (Curve's 3pool LP token) fees are harvested, swapped for more {{token}} which is deposited back into the strategy. Swap happens either via market-buy or mint, depending which is more capital efficient.

```
digraph strategy {
	node[shape=none]
	rankdir=LR;
	node[group=tokens, height=1.35, imagepos="tc", labelloc="b"]
	deposit[token="0xD533a949740bb3306d119CC777fa900bA034cd52", label="Deposit"];
	curve_gov[token="0xc5bDdf9843308380375a611c18B50Fb9341f502A", label="Curve Governance"];
	reward[token="0x9cA85572E6A3EbF24dEDd195623F188735A5179f", label="Reward"];
	
	node[group=descriptions, height=1, labelloc="c"];
	gov_desc[label="CRV is locked indefinitely"];
	{rank = same; gov_desc; curve_gov;}
	reward_desc[label="Stablecoin LP distributed every Friday"]
	{rank = same; reward_desc; reward;}

	subgraph connections {
		deposit -> curve_gov;
		curve_gov -> reward;
		reward -> deposit
	}
}
```

### IdleReinvest

**Description:** Supplies {{token}} to [Idle Finance](https://idle.finance) to earn IDLE and COMP. Earned tokens are harvested, sold for more {{token}} which is deposited back into the strategy.

```
digraph strategy {
	node[shape=none]
	rankdir=LR;
	node[group=tokens, height=1.35, imagepos="tc", labelloc="b"];
	deposit[token="{{token-address}}", label="Deposit"];
	idle_pool[token="{{generic-idle-pool}}", label="Idle Pool"];
	reward[token="0x875773784Af8135eA0ef43b5a374AaD105c5D39e", label="Reward"];
	
	node[group=descriptions, height=1, labelloc="c"];
	pool_desc[label="Deposit into Idle Finance \n strategies and earn emissions"];
	{rank = same; pool_desc; idle_pool;}
	reward_desc[label="IDLE (or any other reward) \nare sold and reinvested"];
	{rank = same; reward_desc; reward;}
	
	subgraph connections {
		deposit -> idle_pool;
		idle_pool -> reward;
		reward -> idle_pool;
	}
}
```

### IronBankCompoundLending

**Description:** Supplies {{token}} to [Compound](https://app.compound.finance) and opens a long-term debt on [Iron Bank](https://docs.cream.finance/iron-bank/iron-bank) for an additional amount of {{token}} to earn COMP. Earned tokens are harvested, sold for more {{token}} which is deposited back into the strategy.

```
digraph strategy {
	node[shape=none]
	rankdir=LR;
	node[group=tokens, height=1.35, imagepos="tc", labelloc="b"];
	deposit[token="{{token-address}}", label="Deposit"];
	comp_pool[token="{{generic-comp-pool}}", label="Compound Pool"];
	reward[token="0xc00e94Cb662C3520282E6f5717214004A7f26888", label="Reward"];
	loan[token="{{dYdX logo}}", label="Loan"];
	
	node[group=descriptions, height=1, labelloc="c"];
	pool_desc[label="Earn interest \nand COMP tokens \n by lending"];
	{rank = same; pool_desc; comp_pool;}
	reward_desc[label="Rewards are redeposited"];
	{rank = same; reward_desc; reward;}
	flashloan_desc[label="dYdX Flashloans increase yield"];
	{rank = same; flashloan_desc; loan;}


	subgraph connections {
		deposit -> comp_pool;
		comp_pool -> loan;
		loan -> comp_pool;
		comp_pool -> reward;
		reward -> comp_pool;
	}
}
```

### KeeperDaoReinvest

**Description:** Supplies {{token}} to [KeeperDAO](https://app.keeperdao.com) to earn ROOK. Earned tokens are harvested, sold for more {{token}} which is deposited back into the strategy.

```
digraph strategy {
	node[shape=none]
	rankdir=LR;
	node[group=tokens, height=1.35, imagepos="tc", labelloc="b"];
	deposit[token="{{token-address}}", label="Deposit"];
	comp_pool[token="{{generic-comp-pool}}", label="Compound Pool"];
	reward[token="0xc00e94Cb662C3520282E6f5717214004A7f26888", label="Reward"];
	loan[token="{{Iron Bank logo}}", label="Loan"];
	
	node[group=descriptions, height=1, labelloc="c"];
	pool_desc[label="Earn interest \nand COMP tokens \n by lending"];
	{rank = same; pool_desc; comp_pool;}
	reward_desc[label="Rewards are redeposited"];
	{rank = same; reward_desc; reward;}
	flashloan_desc[label="Iron Bank flashloans \nborrow tokens to increase yield"];
	{rank = same; flashloan_desc; loan;}


	subgraph connections {
		deposit -> comp_pool;
		comp_pool -> loan;
		loan -> comp_pool;
		comp_pool -> reward;
		reward -> comp_pool;
	}
}
```
### MakerDelegate

**Description:** Stakes {{token}} in [MakerDAO](https://oasis.app/borrow) vault and mints DAI. This newly minted DAI is then deposited into the DAI yVault to generate yield.

```
digraph strategy {
	node[shape=none]
	rankdir=LR;
	node[group=tokens, height=1.35, imagepos="tc", labelloc="b"];
	deposit[token="{{token-address}}", label="Deposit"];
	maker_vault[token="0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2", label="MakerDAO Vault"];
	minted_token[token="0x6B175474E89094C44Da98b954EedeAC495271d0F", label="Borrowed DAI"];
	yvault[token="0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e", label="yVault"];
	node[group=descriptions, height=1, labelloc="c"];
	maker_vault_desc[label="Supply tokens \nto MakerDAO"];
	{rank = same; maker_vault_desc; maker_vault;}
	minted_token_desc[label="Mint DAI with your collateral"];
	{rank = same; minted_token_desc; minted_token;}
	yvault_desc[label="Deposit minted DAI \ninto yVault"];
	{rank = same; yvault_desc; yvault;}


	subgraph connections {
		deposit -> maker_vault;
		maker_vault -> minted_token;
		minted_token -> yvault;
		yvault -> maker_vault;
	}
}
```

### MushroomReinvest

**Description:** Supplies {{token}} to [Mushroom Finance](https://mushrooms.finance) {{token}} Vault to earn MM. Earned tokens are harvested, sold for more {{token}} which is deposited back into the strategy.

```
digraph strategy {
	node[shape=none]
	rankdir=LR;
	node[group=tokens, height=1.35, imagepos="tc", labelloc="b"]
	deposit[token="{{token-address}}", label="Deposit"];
	mushroom_farm[token="{{mushroom-finance-token}}", label="Mushroom Finance Vault"];
	reward[token="0xa283aA7CfBB27EF0cfBcb2493dD9F4330E0fd304", label="Reward"];
	
	node[group=descriptions, height=1, labelloc="c"]
	mushroom_desc[label="Earn MM for \ndepositing in vaults"];
	{rank = same; mushroom_desc; mushroom_farm;}
	reward_desc[label="Rewards are redeposited"];
	{rank = same; reward_desc; reward;}
	
	subgraph connections {
		deposit -> mushroom_farm;
		mushroom_farm -> reward;
		reward -> mushroom_farm;
	}
}
```

### PoolTogetherReinvest

**Description:** Supplies {{token}} to [Pool Together](https://app.pooltogether.com) to earn POOL. Earned tokens are harvested, sold for more {{token}} which is deposited back into the strategy. If strategy wins prize of the week, prize will also be added to the strategy.

```
digraph strategy {
	node[shape=none]
	rankdir=LR;
	node[group=tokens, height=1.35, imagepos="tc", labelloc="b"]
	deposit[token="{{token-address}}", label="Deposit"];
	pooltogether_pool[token="{{pooltogether-pool}}", label="Pool Together"];
	reward[token="{{pooltogether-token}}", label="Reward"];
	prize[token="{{prize-token}}", label="Prize"];
	
	node[group=descriptions, height=1, labelloc="c"]
	pooltogether_desc[label="Earn POOL\n and prizes for \ndepositing into \n the protocol"];
	{rank = same; pooltogether_desc; pooltogether_pool;}
	reward_desc[label="Rewards are redeposited"];
	{rank = same; reward_desc; reward;}
	
	subgraph connections {
		deposit -> pooltogether_pool;
		pooltogether_pool -> reward;
		pooltogether_pool -> prize;
		reward -> pooltogether_pool;
		prize -> pooltogether_pool;
	}
}
```

### SingleSided

**Description:** Supplies {{token}} to [Curve Finance](https://curve.fi) to earn CRV. Earned tokens are harvested, sold for more {{token}} which is deposited back into the strategy. Strategy automatically switches to the most profitable Curve pool.

```
digraph strategy {
	node[shape=none]
	rankdir=LR;
	node[group=tokens, height=1.35, imagepos="tc", labelloc="b"]
	deposit[token="{{token-address}}", label="Deposit"];
	curve_pool_a[token="{{generic-curve-pool-image}}", label="Curve Pool A"];
	curve_pool_b[token="{{generic-curve-pool-image}}", label="Curve Pool B"];
	curve_pool_c[token="{{generic-curve-pool-image}}", label="Curve Pool C"];
	curve_gauge[token="{{curve-gauge-image}}", label="Curve Guage"];
	reward[token="0xD533a949740bb3306d119CC777fa900bA034cd52", label="Reward"];
	yveCRV[token="0xc5bDdf9843308380375a611c18B50Fb9341f502A", label="yveCRV"];

	node[group=descriptions, height=1, labelloc="c"];
	deposit_desc[label="Earn by providing \nliquidity to Curve"];
	{rank = same; deposit_desc; deposit;}
	pool_desc[label="Tokens automatically \n seek highest yield pool",];
	{rank = same; pool_desc; curve_pool_b;}
	yveCRV_desc[label="Yearn's Staked CRV \ntokens boost earnings",];
	{rank = same; yveCRV_desc; yveCRV;}
	reward_desc[label="Rewards are sold \nand redeposited"];
	{rank = same; reward_desc; reward;}

	subgraph connections {
		deposit -> curve_pool_a;
		curve_pool_a -> curve_gauge;
		curve_pool_a -> curve_pool_b;
		curve_pool_b -> curve_pool_a;
		curve_pool_b -> curve_gauge;
		curve_pool_c -> curve_gauge;
		curve_pool_c -> curve_pool_b;
		curve_pool_b -> curve_pool_c;
		yveCRV -> curve_gauge
		curve_gauge -> reward;
		reward -> curve_gauge;
	}
}
```

### SynthetixMinterReinvest

**Description:** Stakes {{token}} on [Synthetix](https://staking.synthetix.io/) and mints sUSD. The newly minted sUSD is then deposited into the sUSD yVault to generate yield. Generated yield, weekly {{token}} fees and vested rewards (when claimable) are harvested, sold for more {{token}} which is deposited back into the strategy. **Rewards on staked {{token}} are locked for 1 year**.

```
digraph strategy {
	node[shape=none]
	rankdir=LR;
	node[group=tokens, height=1.35, imagepos="tc", labelloc="b"];
	deposit[token="{{token-address}}", label="Deposit"];
	synthetix_vault[token="Minter-logo", label="Synthetix Vault"];
	minted_token[token="0x57Ab1ec28D129707052df4dF418D58a2D46d5f51", label="Borrowed sUSD"];
	reward[token="0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F", label="SNX Rewards"];
	yvault[token="0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e", label="yVault"];
	
	node[group=descriptions, height=1, labelloc="c"];
	synthetix_mintr_desc[label="Supply tokens \nto Synthetix"];
	{rank = same; synthetix_mintr_desc; synthetix_vault;}
	snx_[label="Supply tokens \nto Synthetix"];
	{rank = same; synthetix_mintr_desc; synthetix_vault;}
	minted_token_desc[label="Mint sUSD with your collateral"];
	{rank = same; minted_token_desc; minted_token;}
	mintr_desc[label="Deposit minted sUSD \ninto yVault"];
	{rank = same; mintr_desc; yvault;}


	subgraph connections {
		deposit -> synthetix_vault;
		synthetix_vault -> minted_token;
		synthetix_vault -> reward;
		reward -> synthetix_vault;
		minted_token -> yvault;
		yvault -> synthetix_vault;
	}
}
```

### VesperReinvest

**Description:** Supplies {{token}} to [Vesper Finance](https://vesper.finance) to earn VSP. Earned tokens are harvested, sold for more {{token}} which is deposited back into the strategy.

```
digraph strategy {
	node[shape=none]
	rankdir=LR;
	node[group=tokens, height=1.35, imagepos="tc", labelloc="b"]
	deposit[token="{{token-address}}", label="Deposit"];
	vesper_farm[token="{{vesper-finance-token}}", label="Vesper Finance Vault"];
	reward[token="0x1b40183efb4dd766f11bda7a7c3ad8982e998421", label="Reward"];
	
	node[group=descriptions, height=1, labelloc="c"]
	vesper_desc[label="Earn VSP for \ndepositing in vaults"];
	{rank = same; vesper_desc; vesper_farm;}
	reward_desc[label="Rewards are redeposited"];
	{rank = same; reward_desc; reward;}
	
	subgraph connections {
		deposit -> vesper_farm;
		vesper_farm -> reward;
		reward -> vesper_farm;
	}
}
```

### VoterProxy

**Description:** Supplies {{token}} to [Curve Finance](https://curve.fi) and stakes it in gauge to collect any available tokens and earn enhanced CRV rewards thanks to [locked CRV boost](https://resources.curve.fi/guides/boosting-your-crv-rewards). Earned tokens are harvested, sold for more {{token}} which is deposited back into the strategy.

```
digraph strategy {
	node[shape=none]
	rankdir=LR;
	node[group=tokens, height=1.35, imagepos="tc", labelloc="b"]
	deposit[token="{{token-address}}", label="Deposit"];
	curve_pool[token="{{generic-curve-pool-image}}", label="Curve Pool"];
	curve_gauge[token="{{curve-gauge-image}}", label="Curve Guage"];
	reward[token="0xD533a949740bb3306d119CC777fa900bA034cd52", label="Reward"];
	yveCRV[token="0xc5bDdf9843308380375a611c18B50Fb9341f502A", label="yveCRV"];

	node[group=descriptions, height=1, labelloc="c"];
	pool_desc[label="Earn by providing \nliquidity to Curve"];
	{rank = same; pool_desc; curve_pool;}
	yveCRV_desc[label="Yearn's Staked CRV \ntokens boost earnings",];
	{rank = same; yveCRV_desc; yveCRV;}
	reward_desc[label="Rewards are sold \nand redeposited"];
	{rank = same; reward_desc; reward;}

	subgraph connections {
		deposit -> curve_pool;
		curve_pool -> curve_gauge;
		yveCRV -> curve_gauge
		curve_gauge -> reward;
		reward -> curve_gauge;
	}
}
```