Monetize user intent
inside your AI product.
AON (Agent Offer Network) helps AI agents and apps monetize recommendation moments with structured merchant offers, native rendering, and attribution to qualified outcomes.
Public Sandbox is non-billable. Live Query and MCP can also run without an account; anonymous traffic earns no attribution or payouts. Create a Placement ID to earn.
From user intent to revenue,
rendered natively in your UI.
A user asks. AON matches the intent to structured offer data. You render it with your own components and earn on the outcome — no iframes, no ad scripts.
"title": "Nike Pegasus 41", "commercial.price.amount": "139", "action.payload.url": "https://aon.pro/t/x7f2"
Built for Vibe Coding & Agent IDEs.
Copy. Paste into Cursor, Claude Code, Codex, or Copilot.
Drop this prompt into your AI coding assistant and go from zero to a working integration in under 15 minutes. It contains everything needed to scaffold client queries, validate protocol headers, and render native suggestion chips safely.
# Paste this prompt into your coding agent (Cursor, Claude Code, Codex): "Integrate AON monetization (see docs.aon.pro/agent.md for the current AgentOffer Protocol contract). 1. Query POST https://api.aon.pro/v1/offers/query with header 'AON-Protocol-Version: 1.0'. 2. Send user intent text as 'intent.content[].text'. 3. Read the 'goals' field (pricing.model cpa/cps) and render returned offers natively in our UI. 4. Always link 'offer_info.title' or suggestion chips directly to 'action.payload.url' (never alter destination URLs). 5. If 'offers' is empty, respond normally without offers — never force a weak or synthetic match. 6. For local testing, initialize with mode: 'mock' to run in-memory without credentials."
One network layer.
Three flexible ways to connect.
Every path uses the same AgentOffer Protocol contract and returns standardized JSON. Validate request and response shapes locally in mock mode, or send an anonymous live Query without signing up. Add your Placement ID when you are ready to attribute traffic and earn.
Direct REST API
Model-agnostic gateway. Send requests to /v1/offers/query without credentials, or identify your traffic with X-AON-Placement-Id.
MCP Server
Drop the configuration into Claude Desktop or any MCP client to let your agent query offers natively with zero application code.
MCP Tool · Zero-CodeMCP setup guide →TypeScript SDK
Full typed control over proactive suggestion chips, custom cards, and click tracking with zero boilerplate.
npm SDKSDK setup guide →curl -s -X POST https://api.aon.pro/v1/offers/query \ -H "X-AON-Placement-Id: plc_YOUR_PLACEMENT_ID" \ -H "AON-Protocol-Version: 1.0" \ -H "Content-Type: application/json" \ -d '{ "context": { "platform": { "name": "MyAssistant", "version": "1.0.0", "channel": "web" }, "session_id": "session-demo-001" }, "intent": { "content": [{ "type": "input_text", "text": "find running shoes under $150" }], "provenance": "user_expressed" } }' // 200 OK — Clean, structured offer response { "code": "SUCCESS", "message": "", "data": { "request_id": "3f2a91c4-7d18-4e5b-9c02-6a8f1b3d5e70", "protocol_version": "1.0", "language": "en-US", "offers": [{ "offer_id": "9f3a1c4e-2b6d-4f18-9a70-5c8e1d2b4a63", "offer_instance_id": "1c7b8d5a-4e39-4c02-8f61-7a2d9e5b3c04", "version": "3.0", "offer_info": { "title": "Nike Pegasus 41 Trail", "commercial": { "price": { "amount": "139.99", "currency": "USD" } } }, "entity": { "id": "merchant-42", "name": "Example Running Co." }, "action": { "type": "open_url", "payload": { "url": "https://trk.aon.pro/c/8f1e29a" } }, "goals": [{ "event": "purchase", "pricing": { "model": "cps", "rate": "8" } }] }] }, "extra": {} }
// claude_desktop_config.json { "mcpServers": { "aon": { "command": "npx", "args": ["-y", "mcp-remote", "https://api.aon.pro/v1/mcp", "--header", "X-AON-Placement-Id:${AON_PLACEMENT_ID}"], "env": { "AON_PLACEMENT_ID": "plc_YOUR_PLACEMENT_ID" } } } }
import { initialize } from "@agentoffernetwork/sdk"
// 1. Run in mock mode locally without needing live credentials
const aon = await initialize({ placementId: "plc_home_feed_1", mode: "mock" })
// 2. Query contextual offers based on user intent
const { offers } = await aon.queryOffers({
context: { platform: { name: "MyAssistant", version: "1.0.0", channel: "web" },
sessionId: "session-demo-001" },
intent: { content: [{ type: "input_text", text: userIntent }],
provenance: "user_expressed" }
})
// 3. Render the returned offer with your own components
const offer = offers[0]
if (offer) {
renderOfferCard({ title: offer.offerInfo.title, url: offer.action.payload.url })
}Zero chat scraping.
Architected for developer and user trust.
Enterprise AI platforms and independent developers choose AON because user privacy is strictly isolated at the application layer.
1. Minimal Intent Payload
You control what the Query carries: the current intent string or extracted entity metadata you choose to send, and no chat transcript. AON matches on this request.
2. Fully Model & Surface Agnostic
AON operates purely at the application and MCP tool layer. Upgrade, swap, or fine-tune your underlying LLM anytime without modifying monetization endpoints.
3. Local Sandbox Mocking
Test your UI components, suggestion chip rendering, and event tracking locally with in-memory mock data. Zero network egress required during rapid development. <15 minutes to a working prototype.
Transparent revenue models.
Turning heavy token burn into positive unit economics.
Each offer declares its commission model upfront. AON automatically attributes interactions, handles merchant reconciliation, and deposits net commission directly to your balance to offset compute and API costs.
Example calculation. Commercial terms, fee splits, and payout schedules are confirmed upon production review.
Works seamlessly with
every major AI model & agent framework.
AON connects at the application and MCP layer. Drop AON into LangChain, LangGraph, Vercel AI SDK, LlamaIndex, or custom inference loops.
Monetize your AI product today.
Zero credit card. Instant mock testing.
Try a live Query without an account, then create a Placement ID to attribute your traffic and earn.