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.
- 1Install 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:
textPlease install Onchain OS Payment Skills and configure my Agent to receive one-time payments. My recipient wallet: 0xYourSellerWallet - 2Configure 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:
- 1Establish 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.
- 2Negotiate 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.
- 3Invoke 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(Shared) Create a Telegram Bot and configure permissions
In Telegram, find
@BotFatherand follow these steps:- Send
/newbot→ follow the prompts to set the display name and username (username must end withbot, e.g.MyAgentSellerBot) - 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 Settings→Group Privacy→Turn 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
/mybotsslash 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 theBot to Bot Communicationtoggle 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. - Send
- 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:bashexport TELEGRAM_BOT_TOKEN="123456789:AAEhBOweik6ad-yzM_LJh7p5gXxLRLxxxxx"Don't commit the token to your code repo — keep it in.envand add to.gitignore. - 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:
textPlease 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(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(Both sides) Run an end-to-end payment in the group chatPrerequisite: The Buyer has also completed Steps 1–3 and installed Onchain OS Skill.
- The Buyer creates a new group in Telegram
- Invites both the Seller Bot and the Buyer's own Bot into the group
- 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) - After the deal is reached, the Seller Bot invokes the Payment Skill to generate a
chargechallenge → posts the payment URL into the group - The Buyer Bot sees the payment message, invokes Agentic Wallet to sign → submits the Credential → the Broker settles on X Layer
- 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.