Alluo Explained
  • Welcome
    • 🧭 The Basics
  • Getting Started
    • πŸ’» The DeFi Web App
      • ❓ Connecting to the app
      • 🚜 Depositing into the farms
      • πŸ™Œ Other basics
      • 🏦 Importing your Mobile app wallet to Metamask
      • 🧬 Add the polygon network manually in Metamask.
      • ⛓️ Bridging Stablecoins from another chain
    • πŸ“±The Mobile app
      • πŸ—οΈ Setting up your account
      • 🏦 Depositing money into the app
      • πŸ™Œ Other basics
      • πŸ” Exporting your private key
    • πŸ“–Tech deep dive: Contract Address Library
  • Understanding Alluo
    • πŸ’΅ How does Alluo get the yield?
      • 🐰 Going deeper into the Alluo protocol rabbit hole
    • 🧐 FAQ
  • Tokens & Tokenomics
    • πŸͺ™ The tokens
    • πŸ‘¨β€πŸ”¬Tech deep dive: Interest Bearing {asset} token
      • Depositing
      • Withdrawals
      • IbAlluo on different chains
      • StIbAlluo and Superfluid
        • A closer look at the integration between IbAlluo and StIbAlluo
      • Using the IbAlluo contract directly to create streams
      • Liquidity Handler and adapters
        • Deposit process with the Liquidity Handler
        • Withdraw process with the Liquidity Handler
    • πŸ“ˆ Tokenomics
    • πŸ‘¨β€πŸ”¬Tech deep dive: Boosting yield by compounding rewards
      • Deposit into the Vault
      • Withdraw from the Vault
      • Redeem rewards
      • Automatic boosting with Alluo
      • FraxConvex Vaults
      • Managing withdrawal requests in IERC4626
  • Decentralisation and Trust
    • πŸ—³οΈ Trustless governance and execution
    • πŸ‘¨β€πŸ”¬Tech deep dive: Vote Executor Architecture
      • Off chain votes to on chain data
      • Onchain data verifcation
      • Automated execution of votes
        • Tokenomics
        • Liquidity Direction
        • Setting APYs on farms
      • Cross chain execution of votes
      • Manually submitting vote results onchain
    • ↔️Alluo Exchange
      • Interacting with the Exchange
    • vlAlluo Architecture
    • Contracts upgrades
    • Investment strategies
      • πŸ“ˆFrax Convex Finance
        • Adding new pools into the strategy
        • Investing into a pool
  • More Advanced Features
    • πŸ” Repeat payments, streaming IbAlluo
  • Product Updates
    • πŸ‘Œ Product Roadmap: Building the right products
    • πŸ’» Web App releases
    • πŸ“± Mobile App releases
    • 🏎️ Alluo Boost
  • tutorial projects
    • Example: USDC to streaming 1 IbAlluo per second
    • Example: Using IbAlluoUSD and Ricochet to do capital efficient DCA into ETH
Powered by GitBook
On this page
  1. Understanding Alluo
  2. πŸ’΅ How does Alluo get the yield?

🐰 Going deeper into the Alluo protocol rabbit hole

PreviousπŸ’΅ How does Alluo get the yield?Next🧐 FAQ

Last updated 2 years ago

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. - Enables people to lock their $ALLUO and participate in , (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 period. i.e. it takes 7 days for tokens to be locked and 5 days for tokens to be unlocked.

    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 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. - 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.

  4. 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).

https://miro.medium.com/max/1400/1*Me6DPIFQLjlKlFjlkWSY4w.pn

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 see our

blogpost here
vlAlluo.sol
governance
multisig signers
vote.alluo.com
exchange.sol