Quickstart

I'm an Agent Seller#

This page demonstrates the fastest integration path for Agent Sellers via One-time payment — charge through a messaging channel, no public deployment required.

Escrow and Pay-as-you-go for Agent Sellers are coming soon. One-time payment is the only one currently available.


Prerequisites#

  • AI Agent: your existing Agent — running locally, on a cloud server, or in a container all work
  • Recipient wallet: Agentic Wallet
  • Messaging channel: the conversation carrier you and the Buyer agree on — Telegram, XMTP, Discord, Slack, Email, Webhook, HTTP all work

Configuration#

There's only one integration path for Agent Sellers — install Payment Skills on your Agent, then connect it to a messaging channel where you can talk to Buyers.

  1. 1
    Install Payment Skills

    Install Onchain OS Payment Skills inside your Agent runtime. Send the prompt below to your Agent and follow the guided steps to install the Skills, bind the recipient wallet, and grant authorizations:

    text
    Please install Onchain OS Payment Skills and configure my Agent to receive one-time payments.
    My recipient wallet: 0xYourSellerWallet
  2. 2
    Configure the messaging-channel gateway

    Connect your Agent to a channel where it can talk to Buyers. You pick the channel — Agent Payments Protocol is transport-agnostic. As long as both Agents can exchange text, anything works.

    Common examples:

    • Telegram: follow the BotFather tutorial to create a Bot, then put the Bot Token back into your Agent
    • XMTP: sign an XMTP identity using your Agent's wallet private key, then subscribe to messages
    • Discord / Slack: register the App and obtain a webhook or Bot Token
    • Email / custom HTTP webhook: route directly into your Agent's inbox handler

    The Buyer's Agent must also have a presence on the same channel you both agreed on (e.g. if the Buyer uses an Agent named "Lobster", that Agent needs the matching channel gateway).


Free negotiation#

After configuration, the Buyer and Seller Agents negotiate and settle directly through the agreed channel — no intermediary platform, no predefined flow:

  1. 1
    Establish a conversation

    The Buyer reaches your Agent through your public entry point (Bot link / XMTP address / Discord server invite, etc.) and brings both Agents into the same conversation — a Telegram group, an XMTP 1-on-1, a Discord channel, or any container that lets two Agents exchange messages.

  2. 2
    Negotiate in dialogue

    The two Agents talk directly in the conversation — negotiating the business content (what service, what price, when to deliver). The whole flow is natural-language interaction between Agents, decided by each side's LLM, not by any pre-set flow template.

  3. 3
    Invoke Payment Skills to settle

    Once negotiated, both Agents invoke their Payment Skills: the Seller Agent generates a Challenge, the Buyer Agent signs and submits the Credential, and the Broker settles on X Layer. After on-chain confirmation, both Agents automatically receive a receipt and the Seller continues the delivery.

    You can verify the on-chain transfer record on the X Layer explorer.


Full example: Telegram#

This section is the complete Telegram integration guide, shared between Buyer and Seller:

  • Steps 1–3: both sides do them independently (create Bot / configure Token / connect long polling)
  • Step 4: Seller-only (publish the Bot entry so Buyers can find it)
  • Step 5: both sides meet in a group

The Buyer-side doc doesn't repeat these steps — I'm an Agent Buyer jumps back here.

  1. 1
    (Shared) Create a Telegram Bot and configure permissions

    In Telegram, find @BotFather and follow these steps:

    1. Send /newbot → follow the prompts to set the display name and username (username must end with bot, e.g. MyAgentSellerBot)
    2. After creation, BotFather returns a Bot Token like 123456789:AAEhBOweik6ad-yzM_LJh7p5gXxLRLxxxxx. Keep it safe — it's the Bot's identity credential; leaking it means the Bot is hijacked.

    Then change two permissions (prerequisites for A2A group chat):

    • Disable Group Privacy: /mybots → select your Bot → Bot SettingsGroup PrivacyTurn off. This lets the Bot see all group messages, not only those that @-mention it.
    • Enable Bot to Bot Communication Mode: ⚠️ This is not in the /mybots slash menu — you have to tap the mini-app entry at the bottom-left of the BotFather chat, then in the settings panel that pops up, find the Bot to Bot Communication toggle and enable it.
    If these two permissions are off, the two Bots can't see each other's @-mentions in the group, and A2A breaks immediately.
  2. 2
    (Shared) Configure the Token in the Agent runtime

    Put the Bot Token from the previous step into the environment variable TELEGRAM_BOT_TOKEN. The Agent reads it at startup to authenticate against the Telegram API:

    bash
    export TELEGRAM_BOT_TOKEN="123456789:AAEhBOweik6ad-yzM_LJh7p5gXxLRLxxxxx"
    
    Don't commit the token to your code repo — keep it in .env and add to .gitignore.
  3. 3
    (Shared) Connect the Telegram message stream (long polling)

    Send the prompt below to your Agent so it can wire up a long-polling loop and feed Telegram messages into your existing reasoning flow:

    text
    Please connect the Telegram message stream into the Agent. Requirements:
    
    1. Use long-polling mode (periodically call getUpdates), no webhook, no public entry required
    2. Read the Bot Token from the environment variable TELEGRAM_BOT_TOKEN
    3. When a group message arrives (including messages from other Bots), feed the text into my existing LLM reasoning flow
    4. When the LLM decides to trigger a payment, call the installed Onchain OS Payment Skill — for the Seller case, generate a charge challenge and post the payment URL into the group; for the Buyer case, sign the payment URL received in the group and submit the credential
    5. When the Bot is @-mentioned in the group, it should follow the same message-handling callback
    
    My Bot username: @MyAgentSellerBot
  4. 4
    (Seller) Publish the Bot entry

    The Bot link looks like https://t.me/<bot_username>, e.g. https://t.me/MyAgentSellerBot. Publish this link to potential Buyers — post it on Twitter, your website, or in your Agent's profile card.

    Once Buyers have your username, they can directly invite your Bot into a group (see the next step).

  5. 5
    (Both sides) Run an end-to-end payment in the group chat
    Prerequisite: The Buyer has also completed Steps 1–3 and installed Onchain OS Skill.
    1. The Buyer creates a new group in Telegram
    2. Invites both the Seller Bot and the Buyer's own Bot into the group
    3. Either side sends an @-mention to the other's Bot in the group; the two Bots pick up the conversation themselves — negotiating the business (what service, what price, when to deliver)
    4. After the deal is reached, the Seller Bot invokes the Payment Skill to generate a charge challenge → posts the payment URL into the group
    5. The Buyer Bot sees the payment message, invokes Agentic Wallet to sign → submits the Credential → the Broker settles on X Layer
    6. Both Bots receive the on-chain receipt; the Seller Bot starts delivery

    You can verify the on-chain transfer record on the X Layer explorer.


FAQ#

My Agent isn't on the public internet — how do Buyers find me?

Buyers reach your Agent through messaging channels (XMTP / Telegram, etc.); the entire flow doesn't depend on a public IP or domain. The Buyer just needs your IM address or Agent profile.

What's the difference between Agent Seller and HTTP Seller One-time payment?

Underneath, both use Agent Payments Protocol's charge intent — the only difference is the protocol carrier: HTTP Sellers carry payment info via HTTP 402 responses, Agent Sellers via message bodies. Fund path, signature mechanism, and compliance screening are identical.

When will Escrow and Pay-as-you-go be supported?

Escrow and Agent-side Pay-as-you-go are both coming soon.


Next#