---
# System prepended metadata

title: Superfest Missions Assistant

---

 ## Superfest Missions Assistant

### User stories

1. User types `/help` on the Superfest Discord (user can DM @Superagent if they've used it before)
2. User gets a DM from @SuperAgent with an initial prompt, similar to:
`Hey! I'm SuperAgent, here to help you navigate SuperFest and complete missions at record speed. Provide me with your wallet address to start`
3. User provides wallet address
4. @Superagent analyzes different wallet parameters, and presents a list of missions for the user to select
5. User chooses mission(s)
6. @Superagent guides the user through a conversation to form mission arguments
7. @Superagent prepares the necessary mission transactions for the user and provides a "checkout" link
8. User clicks on the checkout link and gets taken to a dedicated UI that displays a list of pre-populated mission transaction forms
9. User can tweak parameters, and sign and send the prepared transactions






## Missions

<!-- - Lido: Deposit ETH on wstETH Market (Shared with Silo)
    - Contract to interact with: https://optimistic.etherscan.io/address/0xc66d2a90c37c873872281a05445ec0e9e82c76a9
    - Example of a transaction: https://optimistic.etherscan.io/tx/0x5e11be58a7d4c76805277048a5ec5d91ec4a8bfe76bf79de16a4999bef4f4fa0
    ![image](https://hackmd.io/_uploads/HJVD4IrOR.png)
** Couldn't find SDK for silo so we might need to interact with contracts directly -->


### Base TODO's
<!-- - [Aerodrome](https://jumper.exchange/es/superfest/rewards-from-aerodrome-on-base/): [DONE]
    - Once you have `AERO` you can just lock those in their contract 
    - [Example transaction](https://basescan.org/tx/0xf62e75a7b769a492ac397a06876fd60f70cf006fa5f728b67fe46cb13afdd0b4)
    ![image](https://hackmd.io/_uploads/S1Y5Uo8u0.png) -->

- [Beefy](https://jumper.exchange/es/superfest/rewards-from-beefy-on-mode-base-op/)
    - Base mission is [Aerodrome <-> USDC Vault](https://app.beefy.com/vault/aerodrome-usdc-aero)
        - User may deposit USDC or AERO. We will need to use their SDK or API; haven't found yet how to get the arguments to call their contract (The example they gave is through their UI)
        - https://github.com/beefyfinance
        - https://docs.beefy.finance/faq/how-to-guides/how-to-deposit-in-a-vault
            - [USDC Deposit worked as expected](https://basescan.org/tx/0xe21740fcea7af40d8d9fdeb2d3f41962895e2ad25888b9805e078fc0314fdbba)
            - [AERO Deposit fails in UI](https://basescan.org/tx/0xbb06975ec9cfd21e2cdd94cf15eb3c938c1e3651dd4639f63b208da8063ec85f)

- [Contango](https://jumper.exchange/es/superfest/rewards-from-contango-on-base/)
    - [Example transaction creating a position for wstETH on MorphoBlue using ETH](https://basescan.org/tx/0xc6f65828ae40c8218bcf50e973511a0461dc3a5d482ff710573907e2dbef40bd)
    - [Example transaction creating a position for wstETH on Aave using USDC](https://basescan.org/tx/0x54b5fb43935630168f18f1452bab70c5a6c0cd2985bc83b1877008275c0b19b2)
    - Uses multicall under the hood; we need to manually prepare this calldata, haven't found the SDK https://docs.contango.xyz/

- [Lyra](https://jumper.exchange/es/superfest/rewards-from-lyra-on-base/)
    - It creates a session key and then sends a signature through their API
        - https://lyra.finance/u/developers
        - [Example transaction](https://basescan.org/tx/0xb278c5f878ed0300c426529a08b96d545f90c4cd301a5ea5f2b59ba1b2ecfad7)


- [Aave](https://jumper.exchange/es/superfest/rewards-from-aave-on-base/)
    - Supply weETH & Borrow USDC/ETH/weETH
    - Supply weETH might not work because has achieved max supply
    - In order to borrow we want to check if user has collateral & risk of it (Which is different across different assets)

- [Kelp](https://jumper.exchange/es/superfest/rewards-from-kelp-on-base-op/)
    - [Add ETH and rsETH](https://aerodrome.finance/deposit?token0=0x4200000000000000000000000000000000000006&token1=0xEDfa23602D0EC14714057867A78d01e94176BEA0&type=-1) to aerodrome
 
- [Renzo (ezETH Rewards)](https://jumper.exchange/es/superfest/rewards-from-renzo-on-op-base-mode-fraxtal/)
    - Couldn't find any mission in base even tho it says is in base?

- [Ether.fi (weETH Rewards)](https://jumper.exchange/es/superfest/rewards-from-etherfi-on-base/)
    - Shares borrow/supply weETH w/Aave
    - [Deposit ETH/weETH in Aerodrome](https://aerodrome.finance/deposit?token0=0x04C0599Ae5A44757c0af6F9eC3b93da8976c150A&token1=0x4200000000000000000000000000000000000006&type=-1)

- [Uniswap](https://jumper.exchange/es/superfest/rewards-from-uniswap-on-base/)
    - Need to add liquidity to ETH <-> wETH Pool. Probably doing this through SDK will be the easiest



<!-- 
- [Extrafi](https://jumper.exchange/es/superfest/rewards-from-extrafi-on-base/) [DONE]
    - [Example transaction lending ETH](https://basescan.org/tx/0x960edb85bf842150aa2447cfc2f40daf39c6ece43f292bce3a602d614cdea9a8)

- [Toros](https://jumper.exchange/es/superfest/rewards-from-toros-on-base/) [DONE]
    - [Example transaction buying sUSCDy](https://basescan.org/tx/0xc79b49c0faef298f35b1f98917f2e8df932f72ea07da76c9df33564c7131f7cb)
        - We need to calculate the "expectedLiquidityArgument"  -->