Overview
Send messages to Telegram from your Base wallet. Ideal for agents and backends to communicate with the outside world. Cost: 0.001 USDC per call. Use action=create with a name to get a chat_key, then open t.me/x402Factory_bot and send /pair <chat_key> to activate. Use action=list to see your chat_keys. Use action=message (or omit action) with chat_key and at least a message or attachment to send a Telegram message. Supports Markdown v2 and optional attachment URLs (image/video/audio).
Protocol
x402
Price
$0.0010
Payment Asset
USD Coin
Payment Network
Base
Category
crypto/wallet
Provider
x402factory
Source
bazaar
Indexed
2026-03-02 01:01:31
Health
Status
degraded
Latency (p50)
232ms
Uptime (30d)
100.0%
Reliability Score
80/100
Last Checked
2026-03-21 23:35:55
Last Healthy
Never
Consecutive Failures
79
Input Schema
{
"bodyFields": {
"action": {
"description": "Optional action. Use 'create' to create a new chat_key, 'list' to list chat_keys for the paying wallet, or 'message' to explicitly send a message. When omitted, the call is treated as action=message and enqueues a message for an existing chat_key.",
"enum": [
"create",
"list",
"message"
],
"required": false,
"type": "string"
},
"attachment": {
"description": "Optional URL of an attachment (image, video, or mp3) stored along with the message.",
"required": false,
"type": "string"
},
"chat_key": {
"description": "Chat key returned from action=create. Required when sending a message. Not used for action=create or action=list.",
"required": false,
"type": "string"
},
"message": {
"description": "Message text in Markdown v2 format. When sending a message (action omitted or action=message), at least one of message or attachment is required. Not required for action=create or action=list.",
"required": false,
"type": "string"
},
"name": {
"description": "Human-readable name to give to the Telegram bot/chat. Required for action=create. Ignored for other actions.",
"required": false,
"type": "string"
}
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Output Schema
{
"action": {
"description": "Action performed: 'create' for new chat_key, 'list' for listing chat_keys, 'message' when a message was enqueued.",
"type": "string"
},
"activation_instructions": {
"description": "How to activate the Telegram bot for this chat_key (e.g. talk to t.me/x402Factory_bot and send /pair <chat_key>). Returned on create.",
"type": "string"
},
"attachment": {
"description": "Attachment URL stored with the message, if any.",
"type": "string"
},
"chat_id": {
"description": "Telegram chat_id associated with the chat_key once the background worker has linked it. Initially empty.",
"type": "string"
},
"chat_key": {
"description": "Chat key created for this wallet (action=create) or used for message sends.",
"type": "string"
},
"chats": {
"description": "For action=list: up to 100 recent chats for the paying wallet, each with chat_key, name, createdAt, updatedAt.",
"type": "array"
},
"createdAt": {
"description": "Creation timestamp for the chat or message.",
"type": "string"
},
"message_id": {
"description": "Identifier of the stored message row in the messages table.",
"type": "string"
},
"name": {
"description": "Name associated with the chat_key (action=create or list).",
"type": "string"
},
"ok": {
"description": "True on success",
"type": "boolean"
},
"tg_send_flag": {
"description": "Telegram send flag from the messages table. Initially empty; can be updated by a background worker.",
"type": "string"
},
"updatedAt": {
"description": "Last update timestamp for the chat.",
"type": "string"
},
"wallet": {
"description": "Payer wallet address on Base",
"type": "string"
}
}