Skip to main content
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

  1. Open SendIt. Go to t.me/aomi_sendit_bot in Telegram.
  2. Start the conversation. Tap Start or send /start.
  3. 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

CommandDescription
/startInitialize the bot and see the welcome menu
/appSwitch between Aomi Apps
/walletConnect or manage your wallet
/modelSwitch AI models
/apikeySet an API key for private Apps
/settingsConfigure bot preferences
/sessionsView and manage chat sessions
/networkSelect blockchain network
/helpShow 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. Tapping a button either:
  1. Navigates to another panel (updates the message)
  2. Performs an action (switches a model, shows confirmation)
  3. Opens the mini-app (wallet connection, transaction signing)

/start

Initialize the bot and display the welcome message with the main navigation panel.
/start
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.
/app
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.
/wallet
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.
/model
Displays available models as inline keyboard buttons. Tap to switch.

/apikey

Enter or manage your API key for authenticated access.
/apikey
Prompts for your API key via a reply message. The key is stored securely for your session.

/settings

View and manage user preferences.
/settings
Shows the settings panel with options for streaming mode and other configuration.

/sessions

View and manage your conversation history.
/sessions
Lists recent conversation threads with options to switch between them, rename, or delete.

/network

Switch the active blockchain network for wallet operations.
/network
Displays supported networks (Ethereum, Polygon, Arbitrum, Base, etc.) as inline keyboard buttons.

/help

Display a list of available commands and their descriptions.
/help

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. Panels link to each other through transitions. When you tap a button, the bot either:
  1. Navigates to another panel (updates the message with the new panel’s content)
  2. Performs an action (e.g., selects a model) and shows a confirmation
  3. 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:
  1. The AI generates a transaction request during conversation
  2. The bot displays a transaction panel with details (to address, value, data)
  3. You tap “Sign” to open the mini-app
  4. Review and approve the transaction in the mini-app
  5. The signed transaction is sent back to the bot
  6. 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

  1. Send /wallet (or tap Wallet from the start panel)
  2. Tap Connect Wallet
  3. A mini-app opens with the WalletConnect interface
  4. Scan the QR code or choose your wallet from the list
  5. Approve the connection in your wallet app
  6. The bot confirms and displays your address

Approving Transactions

When the AI determines a transaction is needed:
  1. The AI describes what it wants to do (swap, transfer, etc.)
  2. A transaction panel appears with the details
  3. Tap Sign to open the mini-app
  4. Review and approve in your wallet
  5. 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

OptionTypeDescription
enabledboolEnable or disable the bot
bot_tokenstringBot token from BotFather
dm_policystring"open", "allowlist", or "disabled"
group_policystring"mention", "always", or "disabled"
allow_fromint[]Allowed Telegram user IDs
mini_app_urlstringHTTPS URL for the wallet mini-app
streamingboolStream responses or send single message
server_wc_enabledboolServer-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

  1. Send /wallet to the bot (or tap “Wallet” from the start panel)
  2. Tap the “Connect Wallet” button in the inline keyboard
  3. A Telegram mini-app opens with the WalletConnect interface
  4. Scan the QR code or choose your wallet from the list
  5. Approve the connection in your wallet app
  6. 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:
  1. The AI describes what it wants to do (e.g., “I’ll swap 0.5 ETH for USDC on Uniswap”)
  2. A transaction panel appears with the details (to, value, data)
  3. Tap “Sign” to open the mini-app
  4. Review the transaction details in the mini-app
  5. Approve or reject in your wallet
  6. 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:
  1. The AI requests an EIP-712 signature
  2. A signing panel appears with the typed data details
  3. Tap to open the mini-app and review
  4. Sign or reject in your wallet
  5. 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:
  1. Send /network
  2. Tap the desired network from the inline keyboard (Ethereum, Polygon, Arbitrum, etc.)
  3. 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:
  1. Send /wallet
  2. Tap “Disconnect” from the wallet panel
  3. 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

OptionTypeDescription
enabledboolEnable or disable the bot entirely.
bot_tokenstringTelegram Bot API token from BotFather.
dm_policystringWho can message the bot in DMs. See below.
group_policystringHow the bot responds in group chats. See below.
allow_fromint[]Telegram user IDs allowed when dm_policy = "allowlist".
mini_app_urlstringHTTPS URL for the wallet mini-app.
streamingboolStream responses in real time or send a single message when complete.
server_wc_enabledboolEnable server-side WalletConnect as an alternative to the mini-app.

dm_policy

ValueBehavior
"open"Anyone can DM the bot.
"allowlist"Only users in allow_from can DM.
"disabled"Bot ignores all DMs.

group_policy

ValueBehavior
"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"
FieldDescription
urlPublic HTTPS URL that Telegram will POST updates to.
addrLocal 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