project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

BookMeBot

BookMeBot is a collaborative travel booking assistant designed for group trips, booked onchain right in your group chat

BookMeBot

Created At

ETHGlobal Bangkok

Winner of

Blockscout - Blockscout Explorer Big Pool Prize

Prize Pool

Coinbase Developer Platform - OnchainKit Pool Prize

Prize Pool

Coinbase Developer Platform - CDP SDK Pool Prize

Prize Pool

Project Description

BookMeBot is a collaborative travel booking assistant designed for group trips, seamlessly integrating Telegram, AI, and blockchain technology to simplify hotel bookings and payments. The bot leverages Dynamic for user authentication and secure payments, Nillion for decentralized key management, and on-chain AI agents registered with Base for unique, human-readable identities. It offers an all-in-one solution for decentralized wallet creation, Basename registration, and seamless payments directly within the chat, allowing users to easily interact with AI agents, plan trips, and securely store private keys, ensuring fairness, transparency, and efficiency throughout the booking process.

How it's Made

We built Book Me Bot using a combination of TypeScript, Telegram Bot API, Ethers.js, and Redis, while integrating key technologies from Dynamic, Nillion, and Base. Here’s how everything fits together:

Technologies Used: TypeScript & Telegram Bot API: The bot was developed using TypeScript for type safety and structured code, with the Telegram Bot API handling user interactions and commands. Ethers.js: We used Ethers.js for interacting with the Ethereum smart contracts on Base Sepolia, enabling on-chain registration of AI agent Basenames. Redis: Redis was employed for caching and storing chat data, enabling fast lookups and seamless session management. Dynamic: We integrated Dynamic for payments and user authentication. This allowed us to provide a streamlined payment experience directly within the Telegram chat, making it easy for users to make payments without complex wallet interactions. Nillion: Nillion was used for secure key management. We leveraged Nillion’s decentralized storage API to store and retrieve private keys securely, enhancing the privacy and security of user credentials. Base (Coinbase): We registered human-readable Basenames for AI agents on Base Sepolia, enabling unique and recognizable identifiers tied to each wallet address. How It All Works Together: Chat Initialization:

When a user starts the bot, we create a new wallet using Ethers.js, store the private key using Nillion’s API, and fund the wallet. The bot then registers a human-readable Basename (e.g., brave-eagle-agent.basetest.eth) on Base Sepolia, giving the user a unique on-chain identity. Payment Integration with Dynamic:

Dynamic’s API is used for seamless payment processing. When a user initiates a booking request, they can easily complete the payment using Dynamic, which handles the user authentication and transaction flow. AI Agent Registration:

We used the Basename registration on Base Sepolia to create on-chain AI agents. These agents can interact with users based on the Basename, creating a unique identity tied to the wallet address. Secure Key Storage with Nillion:

To ensure the privacy of user credentials, private keys are encrypted and stored using Nillion’s decentralized storage API. This approach allowed us to avoid storing sensitive data on centralized servers, enhancing security. Notable Hacky Solutions: Mocking Transactions for Testing: Since we needed to test the full flow without spending actual ETH during development, we used a local testnet setup and mocked the payment responses from Dynamic’s API to simulate successful transactions. Dynamic Agent Names: We implemented a dynamic agent name generation system using a combination of adjectives and nouns (e.g., brave-eagle-agent). This approach ensured that every registered Basename was unique and human-readable, adding a fun twist to the project. Redis-Powered Session Management: We used Redis to handle chat data and session management, allowing us to persist user data across sessions efficiently and avoid losing state in a multi-user environment. This combination of technologies and integrations allowed us to build a comprehensive, decentralized event coordination and payment bot that enhances the user experience while maintaining security and privacy.

background image mobile

Join the mailing list

Get the latest news and updates