Agent Weather
Readings of the public files one tracked domain serves about crawler and agent access (GET /v1/access-policy/{domain}): robots.txt groups for named AI-agent user-agents and the * group, Content-Signal values, llms.txt presence and title, /.well-known JSON files (parsed only when served as JSON), se…
The wallet the 402 directs payment to. Its whole payment record — every payer, every chain — is on the merchant page.
Asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
The payTo wallet does not resolve to a registered ERC-8004 agent. That is not a verdict on the service — most of the catalog is unregistered.
Live 402 challenge
Captured by the enrichment pass, not read just now. Prices can change — always read the 402 the endpoint answers with.
{
"error": "payment_required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2",
"invoiceId": "aw-cbfa9ea9-62ba-411b-aee6-98831b9333e1"
},
"payTo": "0xA15c55f39Ec1dfd87Afb09e1959EFac2Bf44F4Ec",
"amount": "3000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 120
},
{
"asset": "524C555344000000000000000000000000000000",
"extra": {
"issuer": "rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De",
"invoiceId": "aw-cbfa9ea9-62ba-411b-aee6-98831b9333e1",
"sourceTag": 804681468,
"areFeesSponsored": false
},
"payTo": "rnFHPGmgTLSg7hjzfr8wiHaTdTh3PijrZZ",
"amount": "0.003",
"scheme": "exact",
"network": "xrpl:0",
"maxTimeoutSeconds": 120
}
],
"resource": {
"url": "https://api.agentweather.io/v1/access-policy/{domain}",
"tags": [
"ai-agents",
"status",
"mcp",
"x402",
"xrpl"
],
"iconUrl": "https://api.agentweather.io/icon.png",
"mimeType": "application/json",
"description": "Readings of the public files one tracked domain serves about crawler and agent access (GET /v1/access-policy/{domain}): robots.txt groups for named AI-agent user-agents and the * group, Content-Signal values, llms.txt presence and title, /.well-known JSON files (parsed only when served as JSON), security.txt fields and TDM headers. Each reading has source URL, fetch time (UTC), HTTP status, SHA-256 of the bytes received and 7-day change events. File text is not redistributed. A reading may be a gap: no file at URL (HTTP 404), HTTP 403 to our fetcher, or skipped because robots.txt disallows our fetcher. Domains outside the free list at /v1/access-policy/index get 400 before any payment. JSON. Use when an agent needs to know what a domain's robots.txt, llms.txt and /.well-known files say about AI-agent access, with fetch time and hash. Example (illustrative): GET /v1/access-policy/cloudflare.com → {readings:[{kind:\"robots_txt\", http_status:200, sha256, summary, parsed:{ai_agent_groups[], content_signal}}], changes_7d[]}. Price: 0.003 RLUSD on XRPL mainnet (xrpl:0; RLUSD issuer rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De) or 0.003 USDC on Base. Terms: https://api.agentweather.io/v1/terms",
"serviceName": "Agent Weather"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"pathParams": {
"domain": "cloudflare.com"
},
"queryParams": {}
},
"output": {
"type": "json",
"example": {
"note": "Raw readings of files the domain publicly serves, with source URL, fetch time and SHA-256 of the bytes we received. File text is not redistributed; follow source_url. Not legal advice, not a statement about the domain's practices.",
"domain": "cloudflare.com",
"fetcher": {
"schedule": "once daily, about 1 request per 2 s",
"user_agent": "AgentWeatherPolicyCheck/1.0 (+https://api.agentweather.io/bot; agentweather.io; contact agentweather@agentmail.to)",
"robots_respected": true
},
"readings": [
{
"kind": "robots_txt",
"path": "/robots.txt",
"bytes": 1099,
"method": "GET",
"parsed": {
"sitemaps": [
"https://www.cloudflare.com/sitemap.xml"
],
"content_signal": {
"search": "yes",
"ai-input": "yes",
"ai-train": "yes"
},
"wildcard_group": [
{
"allow": "/"
}
],
"ai_agent_groups": [
{
"rules": [
{
"allow": "/"
}
],
"user_agent": "GPTBot"
},
{
"rules": [
{
"allow": "/"
}
],
"user_agent": "ChatGPT-User"
}
],
"all_user_agent_tokens": [
"*",
"GPTBot",
"ChatGPT-User",
"Google-Extended",
"Anthropic-AI",
"Claude-Web",
"CCBot",
"PerplexityBot",
"Cohere-ai"
],
"known_ai_agents_list_sources": [
"https://platform.openai.com/docs/bots",
"https://support.anthropic.com/en/articles/8896518",
"https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers",
"https://docs.perplexity.ai/guides/bots",
"https://commoncrawl.org/ccbot",
"https://support.apple.com/en-us/119829",
"https://developers.facebook.com/docs/sharing/webmasters/web-crawlers",
"https://developer.amazon.com/amazonbot"
],
"known_ai_agents_not_mentioned": [
"OAI-SearchBot",
"ClaudeBot",
"Claude-User",
"Claude-SearchBot",
"Perplexity-User",
"Applebot-Extended",
"Meta-ExternalAgent",
"Meta-ExternalFetcher",
"Google-CloudVertexBot",
"Amazonbot",
"Amzn-SearchBot",
"Amzn-User"
],
"group_applying_to_this_fetcher": "wildcard"
},
"sha256": "c6e360cc6e931ea35c33ae917ff9e2194eb55f79f68e949ec54bcd4533324d98",
"outcome": "fetched",
"summary": "HTTP 200 at 2026-10-23T10:23:13.296Z; parsed facts below",
"final_url": "https://www.cloudflare.com/robots.txt",
"fetched_at": "2026-10-23T10:23:13.296Z",
"parse_note": null,
"source_url": "https://cloudflare.com/robots.txt",
"http_status": 200,
"content_type": "text/plain",
"last_changed_at": null,
"first_seen_hash_at": "2026-10-20T20:40:05.796Z"
},
{
"kind": "llms_txt",
"path": "/llms.txt",
"bytes": 17173,
"method": "GET",
"parsed": {
"title": "Cloudflare",
"line_count": 186,
"link_count": 90
},
"sha256": "81d53b543800b2a5fb3521421b0b522d09097c19f8e19ba092c25901d97db7ac",
"headers": {
"content-type": "text/plain"
},
"outcome": "fetched",
"summary": "HTTP 200 at 2026-10-23T10:23:15.182Z; parsed facts below",
"final_url": "https://www.cloudflare.com/llms.txt",
"fetched_at": "2026-10-23T10:23:15.182Z",
"parse_note": null,
"source_url": "https://cloudflare.com/llms.txt",
"http_status": 200,
"content_type": "text/plain",
"last_changed_at": null,
"first_seen_hash_at": "2026-10-20T20:40:07.663Z"
}
],
"changes_7d": [
{
"at": "2026-10-23T10:23:29.492Z",
"kind": "well_known",
"path": "/.well-known/x402",
"domain": "cloudflare.com",
"new_sha256": "07c7b05644f9947e8e3961b73e0261d45cb0dd4b99c72e8c8c908ca3d5c6c147",
"new_status": 404,
"old_sha256": "57da93e2e09b9f7abc8c2a545b46bacdbc52628a60e07ac4aaf6ab5440530970",
"old_status": 404,
"diff_summary": {
"bytes_changed": true
}
}
],
"generated_at": "2026-10-24T04:16:49.457Z"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"pathParams": {
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "tracked domain from the free list GET /v1/access-policy/index"
}
}
},
"queryParams": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"required": [
"domain",
"generated_at",
"readings",
"changes_7d"
],
"properties": {
"domain": {
"type": "string"
},
"fetcher": {
"type": "object"
},
"readings": {
"type": "array"
},
"changes_7d": {
"type": "array"
},
"generated_at": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": true
}
}
}
}
},
"routeTemplate": "/v1/access-policy/:domain"
}
},
"x402Version": 2
}Accepts
The payment requirements as published to the catalog. Read the live 402 before paying — a price here is a claim, not a quote.
Pay 0.003 USDC on Base to 0xA15c…4F4Ec. The signed payment is good for 2 minutes.
- Paid to
- 0xA15c…4F4Ec
- USD Coin contract
- 0x8335…02913
- Payment window
- 2 minutes
- As published
- 3000 smallest units
That figure is in the token’s smallest units. Roundhouse does not hold this contract’s decimals, so it is shown as published rather than converted.
- Paid to
- rnFHPG…ijrZZ
- Token contract
- 524C55…00000
- Payment window
- 2 minutes
The catalog’s raw entry
[
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2",
"invoiceId": "aw-dd670e85-d97f-4fcc-a656-67b09d45b729"
},
"payTo": "0xA15c55f39Ec1dfd87Afb09e1959EFac2Bf44F4Ec",
"amount": "3000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 120
},
{
"asset": "524C555344000000000000000000000000000000",
"extra": {
"issuer": "rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De",
"invoiceId": "aw-dd670e85-d97f-4fcc-a656-67b09d45b729",
"sourceTag": 804681468,
"areFeesSponsored": false
},
"payTo": "rnFHPGmgTLSg7hjzfr8wiHaTdTh3PijrZZ",
"amount": "0.003",
"scheme": "exact",
"network": "xrpl:0",
"maxTimeoutSeconds": 120
}
]Extensions
{
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"pathParams": {
"domain": "cloudflare.com"
},
"queryParams": {}
},
"output": {
"type": "json",
"example": {
"note": "Raw readings of files the domain publicly serves, with source URL, fetch time a…",
"domain": "cloudflare.com",
"fetcher": {
"schedule": "once daily, about 1 request per 2 s",
"user_agent": "AgentWeatherPolicyCheck/1.0 (+https://api.agentweather.io/bot; agentweather.io;…",
"robots_respected": true
},
"readings": [
{
"kind": "robots_txt",
"path": "/robots.txt",
"bytes": 1099,
"method": "GET",
"parsed": {},
"sha256": "c6e360cc6e931ea35c33ae917ff9e2194eb55f79f68e949ec54bcd4533324d98",
"outcome": "fetched",
"summary": "HTTP 200 at 2026-10-23T10:23:13.296Z; parsed facts below",
"final_url": "https://www.cloudflare.com/robots.txt",
"fetched_at": "2026-10-23T10:23:13.296Z",
"parse_note": null,
"source_url": "https://cloudflare.com/robots.txt",
"http_status": 200,
"content_type": "text/plain",
"last_changed_at": null,
"first_seen_hash_at": "2026-10-20T20:40:05.796Z"
}
],
"changes_7d": [
{
"at": "2026-10-23T10:23:29.492Z",
"kind": "well_known",
"path": "/.well-known/x402",
"domain": "cloudflare.com",
"new_sha256": "07c7b05644f9947e8e3961b73e0261d45cb0dd4b99c72e8c8c908ca3d5c6c147",
"new_status": 404,
"old_sha256": "57da93e2e09b9f7abc8c2a545b46bacdbc52628a60e07ac4aaf6ab5440530970",
"old_status": 404,
"diff_summary": {}
}
],
"generated_at": "2026-10-24T04:16:49.457Z"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"pathParams": {
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "tracked domain from the free list GET /v1/access-policy/index"
}
}
},
"queryParams": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"required": [
"domain",
"generated_at",
"readings",
"changes_7d"
],
"properties": {
"domain": {
"type": "string"
},
"fetcher": {
"type": "object"
},
"readings": {
"type": "array"
},
"changes_7d": {
"type": "array"
},
"generated_at": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": true
}
}
}
}
},
"routeTemplate": "/v1/access-policy/:domain"
}
}Provenance
- Seen in the source catalog
- 2026-10-24 04:24Z
- Last indexed by Roundhouse
- 2026-10-26 22:40Z
- Last enriched (probe, favicon, geo)
- 2026-10-24 07:16Z
- x402 version
- 2
- Max timeout
- 120s
- Liveness probe
- HTTP 402
Hand this page to an agent
Copy the prompt and paste it into Claude, an MCP client or your own agent — it will vet this service and call it over the free read API. No key, no account.
GET api.roundhouseai.io/v0/endpoints
This endpoint's own trailing-30-day call count, as published by the upstream catalog and snapshotted daily. 3 snapshots so far. Verified volume counts only settlements with an on-chain EIP-3009 marker.
Show the promptHide the prompt
Using Roundhouse, look up the x402 service Agent Weather and tell me whether it is worth paying: what a call costs, whether the endpoint answered when last probed, and what its payment record actually shows. curl -s 'https://api.roundhouseai.io/v0/endpoints?q=Agent%20Weather' curl -s 'https://api.roundhouseai.io/v0/merchants/<the payTo wallet returned above>' Then call it: read the price from the live 402 at https://api.agentweather.io/v1/access-policy/:domain, never from a cached figure, and pay with an x402 client. The /v0 API needs an API key (`authorization: Bearer rh_live_…`) on everything except /v0/unified* and /v0/endpoints. Either pay over x402 (mint a personal key for $0.01 at GET https://api.roundhouseai.io/v0/test/x402), or ask me for an organization key, which I create at https://roundhouseai.io/dashboard/connections. If you have neither, ask before going further. If you do not have Roundhouse tools or skills installed, read https://roundhouseai.io/skill.md first — it is the whole procedure.