Inspiration

Accepting crypto payments has always been a topic of scrutiny among shop owners and businesses. On one hand, crypto payments will save the shopkeepers 1-3% percent in transaction fees charged by other payment providers like credit cards, banks, etc. On the other hand, blockchain transactions have been slow and checking the wallet after every transaction is a hassle. And having the wallet at the payment terminal can be dangerous as bad actors can force the cashier to transfer funds.

What it does

The solution: Wallet Tracker Bot. this telegram bot allows the shopkeepers to have the wallet in a separate place or even a hardware wallet and just get the public address. Make a QR of the address and paste it near the payment terminal and also add the wallet address in the bot on telegram. Once setup is done, whenever the wallet receives a new transaction that is confirmed on the blockchain, the bot sends a notification on telegram with the sender address and amount of tokens that were transferred.

How we built it

The bot is written in Javascript and consists of two parts. One is responsible for interacting with the users and registering their wallets. The other part monitors the blockchain and notifies any users whose addresses are registered in the system through Telegram API. The script runs in an EC2 instance of Amazon-Web-Services.

Challenges we ran into

Understanding the transaction data coming from WebSockets web3.js subscription was a challenge. I had to identify the ERC20 transfer transactions and figure out what transaction data is included in ERC20 transfer transactions.

What I learned

While building this project I learned a lot about blockchain transactions and how they are executed. I also learned a lot about web3 client libraries and using them to listen to transactions using WebSockets.

What's next for Wallet Tracker Bot

In the future, I would like to support multiple blockchains and tokens. It would also be helpful to show the value of the tokens transferred in local currencies. Having a separate app with voice notifications is also one of our goals.

Try it out at: https://t.me/WebThreeBot

Share this project:

Updates