Alluo’s deposits (from either our Mobile app or anonymous crypto-friendly Dapp) are held in a variety of Stablecoins (e.g. DAI, MIM, USDC, USDT, FRAX etc.).

Every two weeks the $Alluo token lockers (those who bought, held and locked up their $Alluo tokens) vote on where to deploy/invest Alluo’s deposited funds from a selection of Curve and Convex liquidity pools. Once deposited in the pools, the funds earn yield and rewards which Alluo claims and returns a share to Alluo depositors.

💡 Liquidity pools can get quite complex. Put simply, they are pools of tokens that sit in smart contracts and can be exchanged or withdrawn at rates set by the parameters of the smart contract. Adding liquidity to a liquidity pool gives you the opportunity to earn trading fees and possibly rewards.

Why can’t I just do this myself?

An individual customer can of course buy tokens, deposit them into the Curve pools, earn rewards, claim rewards deposit into Convex, claim rewards and convert back to their token/Stablecoin of choice. However, this multi-step process is at best time consuming and is certainly not straightforward for average users. Moreover, it is often not cost-effective for smaller deposits, especially if you want to spread your deposits over multiple pools.

Enter the Alluo Protocol.

🐰 Going deeper into the Alluo protocol rabbit hole

We’ve built Alluo to manage this process and ultimately want it to work completely automatically without the need for humans clicking on buttons.

Today we’re a good way down this road, thanks to Three core elements:

  1. vlAlluo.sol - Enables people to lock their $ALLUO and participate in governance, (initially the voting of the strategies) and earn extra rewards for locking.

    For a user to be able to vote, they must have locked their $ALLUO before the snapshot vote is live, otherwise, they won’t be able to vote. The locking period is currently set for 7 days, with a 5 days withdrawal cool off period.

    The 5 days withdrawal cooling period will in the future be used to automatically slash bad/harmful voters in the protocol and protect from governance attacks.

  2. voteExecutor.sol - allows the multisig signers to execute the Strategies that have been voted on by the $ALLUO lockers as part of the weekly vote

    The voteExecutor.sol is tightly integrated with our exchange.sol described below to allow us to take full advantage of Curve/Convex’s great variety of investment opportunities.

  3. exchange.sol - a liquidity-optimised routing engine allowing us to exchange any pair of assets via any liquidity protocol in the shortest route available in a fully decentralised manner.

    The exchange is made up of a few elements:

    • Adaptors: smart contracts that hold the logic on how to interact with different liquidity pools. For example, how do you exchange WETH to DAI on Uniswap, or how do you enter the 3CRV pool using USDC.

    • Routes: contain the order in which to use Adaptors to achieve any given exchange between any given token. This can be optimised for gas usage or liquidity, the currently implemented routes are optimised for liquidity. For example, to exchange DAI for WETH:

    • Major/Minor coins: Major coins are coins that are used by most liquidity pools to exchange tokens (ie. ETH, USDC, DAI, FRAX, 3CRV…). Minor coins are smaller tokens that are not often used as liquidity sources (ie. MIM, CRV, CVX, ALLUO so far 🚀, etc.) but that the voteExecutor.sol might need.

    This is needed because our voteExecutor.sol might want to enter a Curve pool that requires 3CRV yet we only hold DAI. Manually this is quite trivial, go to Curve and deposit your DAI into the 3CRV pool then enter the next pool, but why not try to exchange your USDC to 3CRV on Uniswap?

    Well, because the liquidity is close to 0 and your Price Impact would be too significant (e.g. 78% in the example below).

    Our exchange.sol ensures that the process for finding the best route for any pair is done systematically at the smart contract level and goes through the most liquid pools available.

    If you’re interested in even more detail read our blogpost here.

Did this answer your question?