← Protocol index
Resource / 541
healthyagent-web-reader.
Web-content reader: fetch any http(s) URL and return clean readable text, title/description/canonical, and outbound links as JSON — the data an agent ingests on each step of a crawl or RAG loop. Input: url.
Payment requirements / accepts[]
1 options
| State | Network | Scheme | Atomic amount | Asset | payTo / untrusted |
|---|---|---|---|---|---|
| active | eip155:8453 | exact | 2000 | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 | 0x435afaC555fe115f18e657E49960063c12C6AEd0 |
All advertised payment options are stored. Base (`eip155:8453`) is the operational network for ranking and canaries; non-Base options remain visible for transparency.
Probe evidence
1 recent
healthy 2026-08-13 01:30:04 UTC GET · HTTP 402 · 53ms · accepts 1 · base 1 ok
Accepts snapshot
[
{
"amount": "2000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"assetTransferMethod": null,
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 60,
"network": "eip155:8453",
"payTo": "0x435afaC555fe115f18e657E49960063c12C6AEd0",
"paymentFlow": null,
"raw": {
"amount": "2000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 60,
"max_timeout_seconds": 60,
"network": "eip155:8453",
"payTo": "0x435afaC555fe115f18e657E49960063c12C6AEd0",
"pay_to": "0x435afaC555fe115f18e657E49960063c12C6AEd0",
"scheme": "exact"
},
"scheme": "exact"
}
]
PaymentRequired raw
{
"accepts": [
{
"amount": "2000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 60,
"network": "eip155:8453",
"payTo": "0x435afaC555fe115f18e657E49960063c12C6AEd0",
"scheme": "exact"
}
],
"error": "Payment required",
"extensions": {
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {
"url": "https://example.com/article"
},
"type": "http"
},
"output": {
"example": {
"kind": "html",
"links": [],
"text": "…",
"title": "Example",
"word_count": 120
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"url": {
"description": "Absolute http(s) URL to fetch and extract",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"description": {
"type": "string"
},
"kind": {
"type": "string"
},
"links": {
"items": {
"type": "string"
},
"type": "array"
},
"text": {
"type": "string"
},
"title": {
"type": "string"
},
"word_count": {
"type": "number"
}
},
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
},
"resource": {
"description": "Web-content reader: fetch any http(s) URL and return clean readable text, title/description/canonical, and outbound links as JSON — the data an agent ingests on each step of a crawl or RAG loop. Input: url.",
"mimeType": "application/json",
"serviceName": "agent-web-reader",
"tags": [
"reader",
"scraping",
"rag",
"web",
"data",
"agent-tools"
],
"url": "https://x402.charliemorrison.dev/extract"
},
"x402Version": 2
}
Response headers
{
"alt-svc": "h3=\":443\"; ma=2592000",
"content-length": "2",
"content-type": "application/json; charset=utf-8",
"date": "Thu, 13 Aug 2026 01:30:04 GMT",
"etag": "W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\"",
"payment-required": "eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJQYXltZW50IHJlcXVpcmVkIiwicmVzb3VyY2UiOnsidXJsIjoiaHR0cHM6Ly94NDAyLmNoYXJsaWVtb3JyaXNvbi5kZXYvZXh0cmFjdCIsImRlc2NyaXB0aW9uIjoiV2ViLWNvbnRlbnQgcmVhZGVyOiBmZXRjaCBhbnkgaHR0cChzKSBVUkwgYW5kIHJldHVybiBjbGVhbiByZWFkYWJsZSB0ZXh0LCB0aXRsZS9kZXNjcmlwdGlvbi9jYW5vbmljYWwsIGFuZCBvdXRib3VuZCBsaW5rcyBhcyBKU09OIOKAlCB0aGUgZGF0YSBhbiBhZ2VudCBpbmdlc3RzIG9uIGVhY2ggc3RlcCBvZiBhIGNyYXdsIG9yIFJBRyBsb29wLiBJbnB1dDogdXJsLiIsIm1pbWVUeXBlIjoiYXBwbGljYXRpb24vanNvbiIsInNlcnZpY2VOYW1lIjoiYWdlbnQtd2ViLXJlYWRlciIsInRhZ3MiOlsicmVhZGVyIiwic2NyYXBpbmciLCJyYWciLCJ3ZWIiLCJkYXRhIiwiYWdlbnQtdG9vbHMiXX0sImFjY2VwdHMiOlt7InNjaGVtZSI6ImV4YWN0IiwibmV0d29yayI6ImVpcDE1NTo4NDUzIiwiYW1vdW50IjoiMjAwMCIsImFzc2V0IjoiMHg4MzM1ODlmQ0Q2ZURiNkUwOGY0YzdDMzJENGY3MWI1NGJkQTAyOTEzIiwicGF5VG8iOiIweDQzNWFmYUM1NTVmZTExNWYxOGU2NTdFNDk5NjAwNjNjMTJDNkFFZDAiLCJtYXhUaW1lb3V0U2Vjb25kcyI6NjAsImV4dHJhIjp7Im5hbWUiOiJVU0QgQ29pbiIsInZlcnNpb24iOiIyIn19XSwiZXh0ZW5zaW9ucyI6eyJiYXphYXIiOnsiaW5mbyI6eyJpbnB1dCI6eyJ0eXBlIjoiaHR0cCIsIm1ldGhvZCI6IkdFVCIsInF1ZXJ5UGFyYW1zIjp7InVybCI6Imh0dHBzOi8vZXhhbXBsZS5jb20vYXJ0aWNsZSJ9fSwib3V0cHV0Ijp7InR5cGUiOiJqc29uIiwiZXhhbXBsZSI6eyJraW5kIjoiaHRtbCIsInRpdGxlIjoiRXhhbXBsZSIsInRleHQiOiLigKYiLCJsaW5rcyI6W10sIndvcmRfY291bnQiOjEyMH19fSwic2NoZW1hIjp7IiRzY2hlbWEiOiJodHRwczovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC8yMDIwLTEyL3NjaGVtYSIsInR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7ImlucHV0Ijp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7InR5cGUiOnsidHlwZSI6InN0cmluZyIsImNvbnN0IjoiaHR0cCJ9LCJtZXRob2QiOnsidHlwZSI6InN0cmluZyIsImVudW0iOlsiR0VUIl19LCJxdWVyeVBhcmFtcyI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJ1cmwiOnsidHlwZSI6InN0cmluZyIsImRlc2NyaXB0aW9uIjoiQWJzb2x1dGUgaHR0cChzKSBVUkwgdG8gZmV0Y2ggYW5kIGV4dHJhY3QifX0sInJlcXVpcmVkIjpbInVybCJdfX0sInJlcXVpcmVkIjpbInR5cGUiLCJtZXRob2QiXSwiYWRkaXRpb25hbFByb3BlcnRpZXMiOmZhbHNlfSwib3V0cHV0Ijp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7InR5cGUiOnsidHlwZSI6InN0cmluZyJ9LCJleGFtcGxlIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7ImtpbmQiOnsidHlwZSI6InN0cmluZyJ9LCJ0aXRsZSI6eyJ0eXBlIjoic3RyaW5nIn0sImRlc2NyaXB0aW9uIjp7InR5cGUiOiJzdHJpbmcifSwidGV4dCI6eyJ0eXBlIjoic3RyaW5nIn0sImxpbmtzIjp7InR5cGUiOiJhcnJheSIsIml0ZW1zIjp7InR5cGUiOiJzdHJpbmcifX0sIndvcmRfY291bnQiOnsidHlwZSI6Im51bWJlciJ9fX19LCJyZXF1aXJlZCI6WyJ0eXBlIl19fSwicmVxdWlyZWQiOlsiaW5wdXQiXX19fX0=",
"via": "1.1 Caddy",
"x-powered-by": "Express"
}
Response body
{}
Request headers
{
"accept": "*/*",
"user-agent": "Fetch402Bot/0.1 (+https://fetch402.com/crawler; contact: crawler@fetch402.com)"
}
Machine contract
Schemas.
InputJSON
{}
OutputJSON
{}