---
description: Reference material for Aloe Blend silos
---

# Silos

> The information provided by Aloe Labs, Inc. (“we,” “us” or “our”) on docs.aloe.capital (the “Site”) is for general informational purposes only. All information on the Site is provided in good faith, however we make no representation or warranty of any kind, express or implied, regarding the accuracy, adequacy, validity, reliability, availability or completeness of any information on the Site.
>
> Under no circumstance shall we have any liability to you for any loss or damage of any kind incurred as a result of the use of the site or reliance on any information provided on the site. Your use of the site and your reliance on any information on the site is solely at your own risk.

<mark style="color:green;">Aloe Blend uses silos to take advantage of external yield opportunities and keep users' funds productive.</mark> This is possible because most Uniswap liquidity sits idle, far from the current trading range. Instead of leaving it there, Blend deposits it to silos. If the price does shift, Blend can recenter its Uniswap V3 position without locking in impermanent loss － it just pulls the requisite funds from silos. Alternatively, if the price stays the same but volatility increases, Blend pulls from both silos in order to widen its Uniswap position. Finally, if volatility decreases, Blend narrows its Uniswap position and places excess liquidity in silos. At any given time, silos manage between 45% and 94% of pool liquidity (because 1%－50% is in Uniswap and 5% is held as float).

Each silo contains just enough logic to move funds from Blend to another protocol and back again. Since Blend vaults `delegatecall` to their silos, a single silo can be reused by multiple Blend vaults.

| Silo                                                                                                                              | Description                                                                                                                                                                                                                                                                                            |
| --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [Compound cToken Silo](https://github.com/aloelabs/aloe-blend/blob/master/contracts/silos/CompoundCTokenSilo.sol)                 | Supplies funds to the [Compound](https://compound.finance) lending market. Logic compatible with any cToken (**not** cETH). Specify cToken address in silo constructor. `poke()` accrues interest on the cToken.                                                                                       |
| [Compound cETH Silo](https://github.com/aloelabs/aloe-blend/blob/master/contracts/silos/CompoundCEtherSilo.sol)                   | Supplies WETH to the [Compound](https://compound.finance) lending market. Unwraps WETH to ETH when depositing and rewraps it when withdrawing. Specify cETH address in silo constructor. `poke()` accrues interest on cETH.                                                                            |
| [Rari Fuse fToken Silo](https://github.com/aloelabs/aloe-blend/blob/master/contracts/silos/FuseFTokenSilo.sol)                    | Supplies funds to [Rari Fuse](https://rari.capital/). Logic compatible with any fToken (**not** fETH). Specify fToken address in silo constructor. Note that fTokens are pool specific, e.g. fDAI 8 is not the same as fDAI 18. `poke()` accrues interest on the fToken.                               |
| [Rari Fuse fETH Silo](https://github.com/aloelabs/aloe-blend/blob/master/contracts/silos/FuseFEtherSilo.sol)                      | Supplies WETH to [Rari Fuse](https://rari.capital/). Unwraps WETH to ETH when depositing and rewraps it when withdrawing. Specofy fETH address in silo constructor. Note that fETH tokens are pool specific, e.g. fETH 8 is not the same as fETH 18. `poke()` accrues interest on fETH.                |
| [Rari Fuse fToken Incentivized Silo](https://github.com/aloelabs/aloe-blend/blob/master/contracts/silos/FuseIncentivizedSilo.sol) | Supplies funds to [Rari Fuse](https://rari.capital/) pools that have in-kind token rewards, e.g. fTRIBE when TRIBE is being distributed as an incentive. `poke()` searches for these in-kind rewards and claims them. Otherwise same as a standard fToken Silo.                                        |
| [ERC4626 Silo](https://github.com/aloelabs/aloe-blend/blob/master/contracts/silos/ERC4626Silo.sol)                                | Supplies funds to any yield opportunity that conforms to the [ERC4626](https://eips.ethereum.org/EIPS/eip-4626) standard.                                                                                                                                                                              |
| [Yearn Silo](https://github.com/aloelabs/aloe-blend/blob/master/contracts/silos/YearnSilo.sol)                                    | Deposits assets to a [Yearn](https://yearn.finance/#/home) vault. Behavior would be sub-optimal (but non-breaking) in cases where atomic withdrawal limit is less than balance, as only Yearn keepers have permission to replenish withdrawal queue strategies. In practice this hasn't been an issue. |
| [No-Op Silo](https://github.com/aloelabs/aloe-blend/blob/master/contracts/silos/NOPSilo.sol)                                      | Doesn't do anything. Useful in cases where one asset of the pair has great potential, but the other isn't supported by existing silos.                                                                                                                                                                 |

