Mr.TapTapPay envisions a chatbot that simplifies onchain yield strategies, that users won't even realise they're using blockchain. Natural language and boom, yielding on your USDC.
Prize Pool
This project combines the Coinbase Agent Kit, using the Langchain plugin, CDP Wallet provider and all the existing action providers and additionally two different additional action providers:
pendleActionProvider: check for any yield pools in selected network (base), compare different yield pools and risks using LLM,
aerodromeActionProvider: check for swap routes and swaps for the currency needed for the yield pool. swaps the needed currencies
Every interaction, wallet topup, inquiries, swapping, yielding, exiting positions are done in and only in Telegram chat. The telegram bot is t.me/tap_tap_tap_mr_bot.
I first wanted to use Autonome, but it was not customizable enough for my goal of making an agent with a custom onchain interaction flow. I then tried using Coinbase agentkit and the action providers and working with viems and abis made sense, so I proceeded with that.
Telegram was the perfect choice for doing this, as I have realized many telegram bots are already used for trading memecoins. It is easy to onboard more users too. But scaling it might be an issue unless everyone has their own openai API key.
The action providers are supposed to interact with the contracts with the abis in constants.ts of each respective action. I wanted to just use the base testnet, but Aerodrome did not have a testnet, I pivoted and was able to test the aerodrome contracts by forking the base mainnet state, but development was very rough, and the progress was slow, honestly speaking was not able to create a MVP. However, I am keen on completing the project.
The existing examples in coinbase agent kit were a good resource of figuring out how everything worked. This was a fun experience, as it was my second time solo hacking, first time dealing with agents too.
I had some fun trying to fine-tune the model, because sometimes it would be clashing and do not know which action provider to use, especially during a swap, it might try to query the price using a pricefeed action, instead of the swap actions, but the user might not know what they want exactly too, so it is too a point of interest in future development.