Our project came from a use case that our team were in need of. With our bags packed 🎒 ready for the next bull run 📈 over 2024 and 2025. Setting and forgetting tokens we aped during the bear market. We also wanted to specify conditions: Set, Tgwap and forget. For example We'll only sell the tokens if they're above a price specified by the user
Telegram bots are all the rage at the moment with Maestrobot, Unibot and BananaGun amassing Billions in trading volumes and millions in revenue, they have intrinsic security concerns by keep Private keys in centralized servers. TGWAP is completely non-custodial by linking your EOA wallet to Telegram to simply trade on CoWswap.
TGWAP users can also automate actions in a very simple and easy to use Telegram bot, setting the parameters in advance for the price above which they want to sell and the price below which they want to TWAP buy. We've integrated a couple of frameworks to achieve this:
Tell us about how you built this project; the nitty-gritty details. What technologies did you use? How are they pieced together? If you used any partner technologies, how did it benefit your project? Did you do anything particuarly hacky that's notable and worth mentioning?
To build the non-custodial Telegram Bot, we used both the Metamask SDK and Walletconnect with a Telegram Miniapp build in Next.ts. The rest of the telegram chat bot was built in Python. With the Walletconnect SDK framework we implemented Wagmi to deeplink EOA wallets to our dApp. Unlike popular Telegram trading bots out there today, users don't have to transfer funds into a new wallet (the seed phrase is in custody of the team) and don't have to trust that the team won't rug.
A SAFE wallet can be deployed for every user, this enables Tgwap users to benefit from the CoW Protocol's new programmatic orders (Time weighted average price, like DCA). We integrated the CoW widget if users want to use their funds directly from their EOA wallet.
Using Gnosis Chain's PowerPool Finance PowerAgent V2 network, users can set an automation that triggers token buys and sells with on-chain routines and custom logic. E.g. only buy tokens when the prices is lower than the value the users sets, conversely, sell if the price is lower than a price user specifies on Telegram. We redeployed Uniswap V3 contracts on Gnosis to use as our price point as we were unable to get the existing deployments working. The trades (PowerAgent Routines) are cancellable from our telegram bot with the /cancel command.
When a user connects their wallet with WalletConnect they get the opportunity to receive on-chain notifications when PowerAgent routines execute the trade, keeping them informed about their automated trade via in-wallet messaging so they can keep on top of their trade