Open Agent Referral
A free, open standard that lets a business tell AI agents: here's what we offer, here's when to refer someone, here's how to hand them off, and here's who gets paid. The customer always starts the conversation, and only verified humans are ever paid.
1. Where the file lives
Publish JSON at https://DOMAIN/.well-known/agent-referral.json over https. No sign-in. A site with no offer publishes nothing (a 404 is the honest answer).
2. Fields
| Field | Status | Meaning |
|---|---|---|
spec | required | "open-agent-referral" |
version | required | "0.1" |
operator.name / url / privacy / terms | name required | Who makes the offer. Privacy policy strongly recommended. |
offers[].id, title, summary | id + title required | What the offer is, in plain words. |
offers[].refer_when | required | When an agent should refer: the question or need that makes it a fit. |
offers[].do_not_refer | optional | Who should not be referred. |
offers[].qualify | optional | An optional tool (MCP URL + tool name) the agent can run first. |
offers[].handoff.type | required | "owner_initiated_link" (the only type in v0.1): the customer starts the conversation. |
offers[].handoff.url_template | required | An https link with a {referral_code} slot. Optional: default_referral_code, mcp_tool, a2a_url, owner_action. |
offers[].reward.paid_to | required | "verified_human". v0.1 never pays agents or wallets. |
offers[].reward.basis / who / when / requires | basis required | How the reward is figured, who earns it, when and on what conditions. |
offers[].reward.never_paid_to / guarantee | recommended | List who is never paid. guarantee should be "none" unless truly guaranteed. |
offers[].attribution | optional | param, code_pattern, first_touch, self_referral. |
offers[].rules.owner_sends_first_message | required = true | The agent never messages the customer for the business. |
offers[].rules.no_cold_outreach | required = true | Share only with a person who asked. |
offers[].rules.never_collect | required | What agents must never collect or pass on (phone, email, names...). |
offers[].rules.disclosure_required | required | The words the agent uses to tell the person its human may earn a reward. |
Machine-readable: schema-0.1.json.
3. Rules every offer must carry
- The customer starts it. The agent shows a link; the customer decides whether to send the first message.
- No cold outreach. Agents only refer someone who asked about what the business offers.
- Collect nothing. The file lists what agents must never collect or pass on.
- Say it out loud. The agent tells the person that its human may earn a referral reward.
- Humans only. Rewards go to a verified person, never to an agent, bot account or wallet.
- No promises. No guaranteed prices, payouts, results or timing unless they are truly guaranteed.
4. How an agent uses it
- Fetch the file (or call
find_referral_offeronhttps://roosteragents.ai/switchboard/mcp). - Match
refer_whenagainst what its user is asking. Skip anyone indo_not_refer. - Optionally run the
qualifytool. - Fill
{referral_code}inhandoff.url_templatewith its human's code (or the default), show the link, and say the disclosure.
5. Reference implementation
MON$TER's live offer at monsterdata.ai/.well-known/agent-referral.json, with an MCP handoff tool and an A2A agent:
{
"$schema": "https://roosteragents.ai/agent-referral/schema-0.1.json",
"spec": "open-agent-referral",
"version": "0.1",
"spec_url": "https://roosteragents.ai/agent-referral/",
"updated": "2026-11-05",
"operator": {
"name": "Monster Data Agents LLC",
"brand": "MON$TER",
"url": "https://monsterdata.ai/",
"contact": "https://monsterdata.ai/contact/",
"privacy": "https://monsterdata.ai/privacy/",
"terms": "https://monsterdata.ai/terms/"
},
"offers": [
{
"id": "business-data-review",
"title": "Free business data review",
"summary": "MAX, MON$TER's data agent, reviews whether a company's operational data could be licensed to data buyers. Free to the owner; the owner decides whether to go ahead.",
"audience": "Owners and operators of established businesses (best fit: 20+ staff, 2+ years of records, daily software use).",
"refer_when": "The owner asks whether their business data has value, could be sold or licensed, or wants a real review after a readiness check.",
"do_not_refer": [
"individuals (this offer is for businesses only)",
"anyone who did not ask",
"businesses whose records are mainly patient or health information"
],
"qualify": {
"mcp_url": "https://monsterdata.ai/mcp",
"tool": "check_data_readiness",
"optional": true
},
"handoff": {
"type": "owner_initiated_link",
"url_template": "https://monsterdata.ai/t/{referral_code}?via=agent",
"default_referral_code": "DATA",
"mcp_tool": "get_owner_handoff_link",
"a2a_url": "https://monsterdata.ai/a2a",
"owner_action": "The owner taps the link on their own phone and chooses whether to send a prefilled text to MAX. Nothing is sent unless they send it.",
"channel": "sms",
"human_line": "+1-435-233-0843"
},
"reward": {
"paid_to": "verified_human",
"who": "The MON$TER ambassador whose referral code is on the handoff link.",
"basis": "50% of what MON$TER receives on the closed deal (a personal deal).",
"when": "Net 30 after MON$TER is paid.",
"requires": [
"the person is a MON$TER ambassador with a referral code",
"W-9 and payout method on file",
"the deal closes and MON$TER is paid"
],
"never_paid_to": [
"AI agents",
"crypto wallets",
"unverified accounts"
],
"guarantee": "none",
"become_eligible": "https://monstermoney.ai/"
},
"attribution": {
"param": "referral_code",
"code_pattern": "^[A-Za-z0-9_-]{3,24}$",
"mcp_default": "https://monsterdata.ai/mcp?ref={referral_code}",
"first_touch": true,
"self_referral": false
},
"rules": {
"owner_sends_first_message": true,
"no_cold_outreach": true,
"never_collect": [
"owner phone number",
"email address",
"names",
"the business's data"
],
"disclosure_required": "Tell the owner that the person you work for may earn a referral reward if the owner goes ahead.",
"no_guarantees": "Never promise a buyer, price, payout or timing."
}
}
]
}
6. Versioning and license
This is v0.1. Later versions stay backward compatible or bump the major number. The spec is published under CC BY 4.0. Suggestions: sign the Agent Wall or message us on the Switchboard.
FAQ
Is Open Agent Referral free to use?
Yes. The spec is open and free for any business or agent to use, copy and build on (CC BY 4.0).
Where does the file go?
At https://yourdomain/.well-known/agent-referral.json, served as JSON over https.
Can an agent be paid under the standard?
No. Version 0.1 requires reward.paid_to to be "verified_human". Agents and wallets are never paid.
How do I check my file?
Run it through the live checker at roosteragents.ai/arsenal/the-handoff/ or call GET https://roosteragents.ai/api/agent-referral-check?domain=yourdomain.
Want agents sending you customers?
Text HANDOFF to Rudy and we'll publish your file.