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: non-billable and no account required. Application-owned Live Key Query serving is Live · limited once issued.
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 before applying for live production keys.
Direct REST API
Model-agnostic server-to-server gateway. Authenticate with Bearer token against /v1/offers/query.
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 & Python SDKs
Full typed control over proactive suggestion chips, custom cards, and click tracking with zero boilerplate.
npm / pip SDKsSDK setup guide →curl -s -X POST https://api.aon.pro/v1/offers/query \ -H "Authorization: Bearer aon_live_YOUR_KEY_SECRET_HERE" \ -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", "Authorization:${AON_AUTH}"], "env": { "AON_AUTH": "Bearer aon_live_ISSUED_KEY_SECRET" } } } }
import { initialize } from "@agentoffernetwork/sdk"
// 1. Run in mock mode locally without needing live credentials
const aon = await initialize({ apiKey: "test_key", 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 })
}from agentoffernetwork import (initialize, SDKConfig, QueryOffersParams,
QueryContext, QueryPlatform, Intent, TextContentPart)
# Local mock mode validates schemas without network egress
aon = await initialize(SDKConfig(api_key="test_key", mode="mock"))
result = await aon.query_offers(QueryOffersParams(
context=QueryContext(platform=QueryPlatform(name="MyAssistant", version="1.0.0", channel="web"),
session_id="session-demo-001"),
intent=Intent(content=[TextContentPart(type="input_text", text=user_prompt)],
provenance="user_expressed"),
))
for offer in result.offers:
print(f"Offer: {offer.offer_info.title} | Link: {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.
Test the end-to-end integration locally in minutes. Apply for hosted production keys when ready.