The Aomi Telegram bot connects to the same Aomi backend as the web app. Messages sent to the bot are processed by the same Aomi App, using the same tools, models, and configuration. If you connect a wallet, your conversation history is linked across both platforms.
Integration partners can deploy this implementation as their own distribution channel with a custom bot identity. Aomi also runs an official bot, SendIt, available for anyone to use directly.
Getting Started
- Open SendIt. Go to t.me/aomi_sendit_bot in Telegram.
- Start the conversation. Tap Start or send
/start.
- Start chatting. Type your questions or requests in plain language.
That’s it. No installation, no signup, no configuration needed.
Features
- Streaming responses. AI responses stream in real time as they are generated, just like the Web App experience.
- Interactive menus. The bot uses Telegram’s inline keyboards to provide interactive panels for managing settings, switching configurations, and navigating features. Tap buttons instead of typing commands.
- Slash commands. Quick commands like
/start, /wallet, /model, and /app for accessing specific features including App switching.
- Wallet connectivity. Connect a crypto wallet through a Telegram mini-app for transaction signing and onchain operations.
- Tool calls. The bot calls the product’s APIs just like in the Web App, with results displayed inline in the conversation.
Direct Messages vs Group Chats
Direct messages
In a direct message with the bot, it responds to every message you send. This is the most straightforward way to use it. Just open a DM and start chatting.
Group chats
In group chats, the bot only responds when you mention it by name (e.g., @YourProductBot help me swap ETH). This keeps the bot from being noisy in active groups. The product operator may configure the bot to respond to all messages in certain groups.
Group chats are useful when multiple people want to interact with the bot in a shared space, like a team or community channel.
Slash Commands
The bot supports slash commands for managing settings, switching configurations, and navigating features. Send these commands in a DM with the bot or in a group where the bot is a member.
Command Reference
| Command | Description |
|---|
/start | Initialize the bot and see the welcome menu |
/app | Switch between Aomi Apps |
/wallet | Connect or manage your wallet |
/model | Switch AI models |
/apikey | Set an API key for private Apps |
/settings | Configure bot preferences |
/sessions | View and manage chat sessions |
/network | Select blockchain network |
/help | Show available commands |
Panel System
Panels are interactive inline keyboard menus. Instead of typing commands repeatedly, tap buttons to navigate between features. The message updates in place so the conversation stays clean.
Start Panel
The main navigation hub. Displayed on /start:
- Wallet Status. View connection, open wallet panel.
- App. Switch Aomi App.
- Model. Change LLM provider.
- Transactions. View pending and completed transactions.
- Sessions. Browse conversation history.
- Network. Switch blockchain network.
- Settings. User preferences.
App Panel
Displays all authorized Apps as buttons. The active App is highlighted. Tapping one switches the AI context immediately.
Model Panel
Displays available models (Claude, GPT-4, etc.). The selected model is marked. Switching takes effect on the next message.
Sessions Panel
Shows recent sessions with titles and timestamps. Tap to switch, rename, or delete threads.
Transaction Panel
When the AI requests a transaction, this panel shows the details (recipient, amount, data) with approve/reject buttons that link to the mini-app for signing.
Navigation Flow
Tapping a button either:
- Navigates to another panel (updates the message)
- Performs an action (switches a model, shows confirmation)
- Opens the mini-app (wallet connection, transaction signing)
/start
Initialize the bot and display the welcome message with the main navigation panel.
Shows a greeting message with quick action buttons for Wallet, App, Model, Transactions, Sessions, Network, and Settings.
/app
Switch between Aomi Apps. Each App configures the AI with different tools, preambles, and capabilities.
Displays an inline keyboard with all authorized Apps (e.g., Default, DeFi, Prediction, Social). Tap one to switch.
/wallet
Open the wallet connection panel. Launches the Telegram mini-app for connecting or disconnecting a wallet via WalletConnect.
Shows wallet status (connected address or disconnected) and a button to open the mini-app.
/model
Select which LLM provider and model the AI should use.
Displays available models as inline keyboard buttons. Tap to switch.
/apikey
Enter or manage your API key for authenticated access.
Prompts for your API key via a reply message. The key is stored securely for your session.
/settings
View and manage user preferences.
Shows the settings panel with options for streaming mode and other configuration.
/sessions
View and manage your conversation history.
Lists recent conversation threads with options to switch between them, rename, or delete.
/network
Switch the active blockchain network for wallet operations.
Displays supported networks (Ethereum, Polygon, Arbitrum, Base, etc.) as inline keyboard buttons.
/help
Display a list of available commands and their descriptions.
Using Commands in Groups
In group chats, slash commands work the same way. The bot will respond to commands directed at it. Regular messages require mentioning the bot by name (when using the mention group policy):
@aomi_bot /app
@aomi_bot What is the price of ETH?
Conversational Usage
Beyond slash commands, you can simply type natural language messages. The bot will process them through the AI assistant:
What's the best yield for staking ETH right now?
Swap 0.5 ETH for USDC on the cheapest DEX
The AI has access to all tools configured for the active App and can execute multistep operations, including wallet transactions (with your approval).
Panel System
Panels are the interactive inline keyboard menus that power the Telegram bot’s UI. Instead of typing commands repeatedly, you tap buttons to navigate between features and make selections.
How Panels Work
When you send a slash command like /start or /app, the bot responds with a message containing inline keyboard buttons. Tapping a button navigates you to another panel or performs an action (like switching Apps). The message updates in place, so the conversation stays clean.
Panel Types
Start Panel
The main navigation hub. Displayed when you send /start.
Buttons:
- Wallet Status. View wallet connection, open wallet panel.
- App. Switch Aomi App.
- Model. Change LLM provider.
- Transactions. View pending and completed transactions.
- Sessions. Browse conversation history.
- Network. Switch blockchain network.
- Settings. User preferences.
App Panel
Select which Aomi App to use. Each App provides different tools and capabilities.
Displays all authorized Apps as buttons. The currently active App is highlighted. Tapping an App switches the AI context immediately.
Model Panel
Choose the LLM model. Displays available models (Claude, GPT-4, etc.) as buttons. The currently selected model is marked. Switching takes effect on the next message.
Wallet Panel
Shows current wallet status:
- If connected: displays the wallet address and a disconnect button
- If disconnected: shows a button that opens the Telegram mini-app for WalletConnect
Sessions Panel
Browse your conversation threads. Shows recent sessions with titles and timestamps. Tap a session to switch to it, or use the management buttons to rename or delete threads.
Settings Panel
User preferences and configuration options. Includes toggles for features like streaming mode.
Network Panel
Switch between supported blockchain networks (Ethereum, Polygon, Arbitrum, Base, etc.). The currently active network is highlighted.
Transaction Panel
View and manage wallet transaction requests. When the AI requests a transaction, this panel shows the details (recipient, amount, data) and provides approve/reject buttons that link to the mini-app for signing.
API Key Panel
Enter and manage your API key. The bot prompts for text input via a reply message. Once set, the key is used for authenticated requests to the backend.
Navigation
Panels link to each other through transitions. When you tap a button, the bot either:
- Navigates to another panel (updates the message with the new panel’s content)
- Performs an action (e.g., selects a model) and shows a confirmation
- Opens the mini-app (e.g., for wallet connection or transaction signing)
Most panels include a way to navigate back to the start panel or to related panels.
Transaction Approval Flow
When the AI needs a transaction signed:
- The AI generates a transaction request during conversation
- The bot displays a transaction panel with details (to address, value, data)
- You tap “Sign” to open the mini-app
- Review and approve the transaction in the mini-app
- The signed transaction is sent back to the bot
- The bot forwards the result to the AI, which continues the conversation
Wallet
Connect a wallet through the Telegram mini-app at /wallet. Once connected, your wallet address is linked to your Telegram user ID across all conversations.
Connecting
- Send
/wallet (or tap Wallet from the start panel)
- Tap Connect Wallet
- A mini-app opens with the WalletConnect interface
- Scan the QR code or choose your wallet from the list
- Approve the connection in your wallet app
- The bot confirms and displays your address
Approving Transactions
When the AI determines a transaction is needed:
- The AI describes what it wants to do (swap, transfer, etc.)
- A transaction panel appears with the details
- Tap Sign to open the mini-app
- Review and approve in your wallet
- The result is sent back to the AI, which continues the conversation
Signing Typed Data (EIP-712)
Gasless transactions, permit approvals, and similar operations use typed data signatures. The flow is identical. Review the data in the mini-app and sign.
Disconnecting
Send /wallet and tap Disconnect to unlink your wallet.
Mini-App Details
The wallet mini-app is a lightweight WebApp embedded within Telegram. It provides WalletConnect integration, transaction review, EIP-712 signing, and network information. It communicates with the bot through Telegram’s WebApp API.
Conversational Usage
Beyond slash commands, type natural language messages. The AI has access to all tools configured for the active App and can execute multistep operations, including wallet transactions (with your approval).
What's the best yield for staking ETH right now?
Swap 0.5 ETH for USDC on the cheapest DEX
Deploying Your Own Bot
The Telegram bot connects to the same Aomi backend as the web app. Configure everything in a single TOML file.
Configuration File
Create a bot.toml in your project root:
enabled = true
bot_token = "YOUR_BOT_TOKEN"
dm_policy = "open"
group_policy = "mention"
mini_app_url = "https://your-app.com/telegram-wallet"
streaming = true
Configuration Options
| Option | Type | Description |
|---|
enabled | bool | Enable or disable the bot |
bot_token | string | Bot token from BotFather |
dm_policy | string | "open", "allowlist", or "disabled" |
group_policy | string | "mention", "always", or "disabled" |
allow_from | int[] | Allowed Telegram user IDs |
mini_app_url | string | HTTPS URL for the wallet mini-app |
streaming | bool | Stream responses or send single message |
server_wc_enabled | bool | Server-side WalletConnect alternative |
Transport Modes
Long polling (default) is simpler and works without a public URL.
Webhook for production:
[webhook]
url = "https://bot.example.com/webhook"
addr = "0.0.0.0:8443"
Development Config
enabled = true
bot_token = "YOUR_TOKEN"
dm_policy = "open"
group_policy = "mention"
mini_app_url = "http://localhost:3000"
streaming = true
Production Config
enabled = true
bot_token = "YOUR_TOKEN"
dm_policy = "allowlist"
group_policy = "mention"
mini_app_url = "https://app.yourcompany.com/wallet"
streaming = true
allow_from = [111111111, 222222222]
[webhook]
url = "https://bot.yourcompany.com/webhook"
addr = "0.0.0.0:8443"
The bot supports wallet connectivity through a Telegram WebApp (mini-app). This allows you to connect your wallet, approve transactions, and sign messages directly from within Telegram.
Connecting Your Wallet
- Send
/wallet to the bot (or tap “Wallet” from the start panel)
- Tap the “Connect Wallet” button in the inline keyboard
- A Telegram mini-app opens with the WalletConnect interface
- Scan the QR code or choose your wallet from the list
- Approve the connection in your wallet app
- The bot confirms the connection and displays your address
Once connected, your wallet address is linked to your Telegram user ID. This means the same wallet is available across all your conversations with the bot, including in different group chats.
What You Can Do
View Wallet Status
Send /wallet at any time to see:
- Whether a wallet is connected
- The connected address
- The active network
Approve Transactions
When the AI assistant determines a transaction is needed:
- The AI describes what it wants to do (e.g., “I’ll swap 0.5 ETH for USDC on Uniswap”)
- A transaction panel appears with the details (to, value, data)
- Tap “Sign” to open the mini-app
- Review the transaction details in the mini-app
- Approve or reject in your wallet
- The result is sent back to the AI, which continues the conversation
Sign Typed Data (EIP-712)
For operations that require typed data signatures (permit approvals, gasless transactions, etc.), the flow is similar:
- The AI requests an EIP-712 signature
- A signing panel appears with the typed data details
- Tap to open the mini-app and review
- Sign or reject in your wallet
- The signature is returned to the AI
Transaction Flow Diagram
User: "Swap 1 ETH for USDC"
│
▼
AI processes request, builds transaction
│
▼
Bot: Shows transaction panel
[To: 0xRouter...]
[Value: 1 ETH]
[Sign] [Reject]
│
▼ (user taps Sign)
Mini-App opens with WalletConnect
│
▼
User reviews and approves in wallet
│
▼
Transaction hash sent back to bot
│
▼
AI: "Swap executed! Tx: 0xabc..."
Network Switching
Use the /network command to switch the active blockchain network:
- Send
/network
- Tap the desired network from the inline keyboard (Ethereum, Polygon, Arbitrum, etc.)
- The bot confirms the switch
The network selection affects which chain is used for subsequent transactions. Your wallet must support the selected network.
Disconnecting
To disconnect your wallet:
- Send
/wallet
- Tap “Disconnect” from the wallet panel
- Your wallet address is unlinked from your Telegram session
Mini-App Details
The wallet mini-app is a lightweight web application embedded within Telegram. It provides:
- WalletConnect integration for connecting any compatible wallet
- Transaction review and approval interface
- EIP-712 typed data signing interface
- Network information display
The mini-app URL is configured by the bot administrator and must use HTTPS. It communicates with the bot through Telegram’s WebApp API.
Deploying Your Own Bot
The Telegram bot connects to the same Aomi backend as the web app. Messages are processed by the same AI, with the same tools and capabilities. No frontend deployment needed. Configure everything in a single TOML file.
Configuration File
Create a bot.toml file in your project root. The bot reads all settings from this file:
enabled = true
bot_token = "YOUR_BOT_TOKEN"
dm_policy = "open"
group_policy = "mention"
mini_app_url = "https://your-app.com/telegram-wallet"
streaming = true
server_wc_enabled = false
# allow_from = [123456789, 987654321]
Configuration Options
| Option | Type | Description |
|---|
enabled | bool | Enable or disable the bot entirely. |
bot_token | string | Telegram Bot API token from BotFather. |
dm_policy | string | Who can message the bot in DMs. See below. |
group_policy | string | How the bot responds in group chats. See below. |
allow_from | int[] | Telegram user IDs allowed when dm_policy = "allowlist". |
mini_app_url | string | HTTPS URL for the wallet mini-app. |
streaming | bool | Stream responses in real time or send a single message when complete. |
server_wc_enabled | bool | Enable server-side WalletConnect as an alternative to the mini-app. |
dm_policy
| Value | Behavior |
|---|
"open" | Anyone can DM the bot. |
"allowlist" | Only users in allow_from can DM. |
"disabled" | Bot ignores all DMs. |
group_policy
| Value | Behavior |
|---|
"mention" | Responds only when mentioned (@bot_name help). |
"always" | Responds to every message in the group. |
"disabled" | Bot ignores all group messages. |
Transport Modes
The bot supports two transport modes for receiving updates from Telegram.
Long Polling (Default)
When no [webhook] section is present, the bot uses long polling. Simpler to set up, works without a public URL.
# No [webhook] section = long polling mode
enabled = true
bot_token = "YOUR_TOKEN"
Webhook
For production deployments, webhooks are more efficient. Telegram sends updates directly to your server via HTTPS POST.
[webhook]
url = "https://bot.example.com/webhook"
addr = "0.0.0.0:8443"
| Field | Description |
|---|
url | Public HTTPS URL that Telegram will POST updates to. |
addr | Local bind address for the webhook HTTP server. |
The url must be publicly accessible and use HTTPS. Use a reverse proxy (nginx, Cloudflare Tunnel, ngrok) to terminate TLS if needed.
Example Configurations
Development
enabled = true
bot_token = "YOUR_TOKEN"
dm_policy = "open"
group_policy = "mention"
mini_app_url = "http://localhost:3000"
streaming = true
Production (Restricted Access)
enabled = true
bot_token = "YOUR_TOKEN"
dm_policy = "allowlist"
group_policy = "mention"
mini_app_url = "https://app.yourcompany.com/wallet"
streaming = true
allow_from = [111111111, 222222222]
[webhook]
url = "https://bot.yourcompany.com/webhook"
addr = "0.0.0.0:8443"
Production (Group-Only)
enabled = true
bot_token = "YOUR_TOKEN"
dm_policy = "disabled"
group_policy = "always"
mini_app_url = "https://app.yourcompany.com/wallet"
streaming = true
Next Steps
Last modified on June 4, 2026