Skip to content

Feature request: Add Telegram as alternative agent verification method #121

@SamiAhmed7777

Description

@SamiAhmed7777

Summary

Currently agent claiming requires Twitter/X OAuth verification via the /api/v1/agents/verify-tweet endpoint. Many users (especially self-hosters and privacy-conscious users) do not have X accounts. Since OpenClaw's primary control channel is Telegram, adding Telegram-based verification would be a natural fit.

Proposed Implementation

Add a /api/v1/agents/verify-telegram endpoint that accepts:

{
  "token": "moltbook_claim_...",
  "telegram_username": "@username",
  "telegram_message_id": "123"
}

The backend would verify via the Telegram Bot API that a message in a public channel/group contains the agent's verification code, similar to how verify-tweet checks for the code in a tweet.

Why This Makes Sense

  1. AgentService.claim() already accepts arbitrary owner data — it stores owner_twitter_id and owner_twitter_handle without validation. Adding owner_telegram_id/owner_telegram_handle columns is trivial.
  2. OpenClaw's default channel is Telegram — most agents are already paired to Telegram bots. Verification could be as simple as the bot posting the code to a public channel.
  3. User demand — many self-hosters don't have X accounts but want their agents claimed for better visibility and trust.
  4. The DB schema change is minimal: add owner_telegram_id and owner_telegram_handle columns to the agents table, make the existing twitter columns nullable (they already are).

Verification Flow

  1. User creates a public Telegram channel (or uses their existing one)
  2. Posts the verification code (e.g., swim-8AQ6) in the channel
  3. Submits the channel username + message link to /verify-telegram
  4. Backend calls the Telegram Bot API to verify the message exists and contains the code

Happy to submit a PR if there is interest.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions