BERRYSWAP
Telegram-Based Conversational Swap, powered by Agent Workflows and Account Abstraction.
TELEGRAM USER NAME
@berryaiscraper @SirBlimes @YoungPupo
REPOSITORY WITH PROJECT'S CODE
https://gitlab.usestrawberry.ai/berry/swapbot
VIDEO DEMO
https://www.youtube.com/watch?v=9zhTmnXCH1g
Website URL of application
https://web.telegram.org/k/#@berryswap_bot
Bounties
Privy: fully custom telegram mini app for account abstraction and paymaster management.
Biconomy: go to paymaster of choice, reverts back to on ramp if bundler not available.
BrianAI: subagent for converting intents into callData.
ENS: Used as tool for main AI Agent in order to resolve ENS domains back to EOA
Alchemy: used as provider via Ethers.js, as backbone for on-chain resolution of ENS domains
Notes:
The bot has been fully tested on ethereum mainnet using real transaction, unfortunately we haven't received access to the mainnet Biconomy bundler in order to sponsor transactions but worked perfectly on sepolia testnet.
Tech
- Bun runtime for both backend and frontend
- Telegraf for managing Telegram ops
- Our own bare metal cluster for CI/CD for hosting TG bot and the TG MiniApp
- Supabase for storing conversational memory using vector extension and embeddings for retrieval
- LangChain as the main Agent
- RouteScan API for handling portfolio retrieval
- Biconomy for gasless sponsoring
- Privy SDK for smart accounts management
- Drizzle ORM for DB operations
- Brian API for sub Agent for swaps
- OpenAI structured outputs
- Alchemy as main rpc for on chain retrieval
- ENS on chain resolver API
- Countless potato chips and redbulls