x402 List

x402 Protocol Service Directory

Agent Web Reader (x402)

Data ✓ VERIFIED

verified until 2026-08-17

Pay-per-call MCP server: crypto market signals, clean web-page text extraction, and GitHub repo SEO audits. USDC settlement via x402. Three paid tools at 0.005 USD each.

Pay from $0.002 to $0.005 per request in USDC on Base, settled onchain via the x402 protocol, no signup, no API key needed.

first settlement 2026-07-01 · $0.11 all-time · settled via coinbase

BASE URL https://x402.charliemorrison.dev WEBSITE https://github.com/charlie-morrison/x402-agent-data ENDPOINTS 3 NETWORK Base ASSET USDC MEMBER SINCE 2026-06-25 MONITORED SINCE 2026-06-25

ASSESSMENT

updated 11m ago

Evidence-backed signals, not a single score. Click any chip for the proof. Measured values stay read-only; unknown is honest.

reliability 100%
uptime 24h
100%
uptime 7d
100%
uptime 30d
100%
uptime 90d
100%
response p95
656ms
avg response
467ms
total checks
2,775

Measured on the unpaid 402 handshake, not the paid call. A service can 402 correctly and still fail after payment.

compliance A (14/14)

14 of 14 x402 conformance checks pass. Full checklist below.

jump to compliance checklist

price $0.002 to $0.005 (p21 in Data)
price (min)
$0.002
price (max)
$0.005
category percentile (min)
p21 in Data
category percentile (max)
p13 in Data
endpoints / prices
3 / 2
model
tiered
stability
100%
risk clean

No deterministic risk flag. Risk fires only on an exact blocklist match, or a reserved-brand name with a mismatched verified payTo. Never from low uptime, a high price, or a model guess.

domain age
-
registrar
-
hosting
custom
domain created
---

Identity facts, not a risk score.

traction $0.064 30d · 8 buyers
volume 30d
$0.064
buyers 30d
8
settlements 30d
17
first settlement
2026-07-01
last settlement
2026-08-10
top buyer share
33% of 30d volume
trend 7d vs 30d
1.07x the 30d daily rate
networks
eip155:8453
volume all-time
$0.11
settlements all-time
23
median settlement 30d
$0.005
max settlement 30d
$0.005
settled via
coinbase

Conservative undercount: only USDC settlements via facilitators we measure are counted. A measured floor, not an estimate.

Top buyer share is a concentration signal, not part of the ranking score.

WHAT IT DOES

ai-derived

Provides data tools for AI agents including crypto market signals, web content extraction, and GitHub repository SEO audits

category
data-tools
auth
none
cryptoweb-scrapingseodata-extraction

AI-generated summary. The measured data is never altered by it.

ENDPOINTS

Service endpoints with HTTP method, path, description, pricing, and network
METHOD PATH DESCRIPTION PRICE NETWORK ASSET 402 CHANNEL
GET /audit $0.005 Base USDC header
GET /extract $0.002 Base USDC header
GET /signal $0.005 Base USDC header
3 endpoints

REQUEST / RESPONSE EXAMPLE

An unpaid request to GET /audit returns HTTP 402 with the payment terms. Settle onchain via your facilitator, then retry with the X-Payment header.

// request
curl -i 'https://x402.charliemorrison.dev/audit'
// 402 response (captured by monitor) · 3 payloads · click to expand
[
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x435afaC555fe115f18e657E49960063c12C6AEd0",
        "amount": "5000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402.charliemorrison.dev/signal",
      "tags": [
        "crypto",
        "market-data",
        "price",
        "signal",
        "trading",
        "data",
        "agent-tools"
      ],
      "mimeType": "application/json",
      "description": "Structured crypto market signal: for each CoinGecko id return price, market cap, 24h change, 24h volume, plus a derived momentum score (-100..100), a bullish/neutral/bearish signal, and a volatility flag — enriched data an agent ingests in a trading/research loop without computing it itself. Input: ids (comma-separated).",
      "serviceName": "crypto-market-signal"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "ids": "bitcoin,ethereum,solana"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "count": 1,
              "assets": [
                {
                  "id": "bitcoin",
                  "signal": "neutral",
                  "momentum": 31,
                  "price_usd": 65000,
                  "volatility": "calm",
                  "change_24h_pct": 1.6
                }
              ],
              "source": "coingecko"
            }
          }
        },
        "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"
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "ids"
                  ],
                  "properties": {
                    "ids": {
                      "type": "string",
                      "description": "Comma-separated CoinGecko ids, max 25"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object",
                  "properties": {
                    "count": {
                      "type": "number"
                    },
                    "assets": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "source": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x435afaC555fe115f18e657E49960063c12C6AEd0",
        "amount": "2000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402.charliemorrison.dev/extract",
      "tags": [
        "reader",
        "scraping",
        "rag",
        "web",
        "data",
        "agent-tools"
      ],
      "mimeType": "application/json",
      "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.",
      "serviceName": "agent-web-reader"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "url": "https://example.com/article"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "kind": "html",
              "text": "…",
              "links": [],
              "title": "Example",
              "word_count": 120
            }
          }
        },
        "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"
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "url"
                  ],
                  "properties": {
                    "url": {
                      "type": "string",
                      "description": "Absolute http(s) URL to fetch and extract"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object",
                  "properties": {
                    "kind": {
                      "type": "string"
                    },
                    "text": {
                      "type": "string"
                    },
                    "links": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "title": {
                      "type": "string"
                    },
                    "word_count": {
                      "type": "number"
                    },
                    "description": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x435afaC555fe115f18e657E49960063c12C6AEd0",
        "amount": "5000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 60
      }
    ],
    "resource": {
      "url": "https://x402.charliemorrison.dev/audit",
      "tags": [
        "github",
        "seo",
        "audit",
        "developer-tools"
      ],
      "mimeType": "application/json",
      "description": "GitHub repo discoverability & SEO audit: scores a repo's README, description, topics, homepage and metadata and returns a 0-100 score, a grade, and fixes. Input: owner, repo.",
      "serviceName": "github-repo-seo-audit"
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "repo": "react",
              "owner": "facebook"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "fixes": [],
              "grade": "A",
              "score": 100
            }
          }
        },
        "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"
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "owner",
                    "repo"
                  ],
                  "properties": {
                    "repo": {
                      "type": "string"
                    },
                    "owner": {
                      "type": "string"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object",
                  "properties": {
                    "fixes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "grade": {
                      "type": "string"
                    },
                    "score": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  }
]

OVER TIME

All charts use the 30d selector; each series spans only the dates it has data for. Every series is also served as JSON at /api/v1/services/agent-web-reader-x402/price, /scores, /volume and /buyers. On-chain volume and distinct buyers are measured over the service's settlement address and are a conservative undercount (only settlements that reach a measured facilitator are counted). The on-chain series roll up hourly, so the latest day can be up to about an hour behind; distinct buyers are counted per payout address, so a service that settles to more than one address is an upper bound.

UPTIME
07-12 · uptime 100.0% · 364ms avg07-13 · uptime 100.0% · 393ms avg07-14 · uptime 100.0% · 382ms avg07-15 · uptime 100.0% · 428ms avg07-16 · uptime 100.0% · 469ms avg07-17 · uptime 100.0% · 345ms avg07-18 · uptime 100.0% · 485ms avg07-19 · uptime 100.0% · 439ms avg07-20 · uptime 100.0% · 408ms avg07-21 · uptime 100.0% · 386ms avg07-22 · uptime 100.0% · 374ms avg07-23 · uptime 100.0% · 347ms avg07-24 · uptime 100.0% · 411ms avg07-25 · uptime 100.0% · 429ms avg07-26 · uptime 100.0% · 363ms avg07-27 · uptime 100.0% · 473ms avg07-28 · uptime 100.0% · 506ms avg07-29 · uptime 100.0% · 450ms avg07-30 · uptime 100.0% · 488ms avg07-31 · uptime 100.0% · 496ms avg08-01 · uptime 100.0% · 558ms avg08-02 · uptime 100.0% · 564ms avg08-03 · uptime 98.9% · 599ms avg08-04 · uptime 100.0% · 502ms avg08-05 · uptime 100.0% · 674ms avg08-06 · uptime 100.0% · 697ms avg08-07 · uptime 100.0% · 536ms avg08-08 · uptime 100.0% · 534ms avg08-09 · uptime 100.0% · 507ms avg08-10 · uptime 100.0% · 476ms avg07-1208-10
30d UPTIME 100%
RESPONSE TIME
07-12 · 364ms avg07-12 · 364ms avg07-13 · 393ms avg07-13 · 393ms avg07-14 · 382ms avg07-14 · 382ms avg07-15 · 428ms avg07-15 · 428ms avg07-16 · 469ms avg07-16 · 469ms avg07-17 · 345ms avg07-17 · 345ms avg07-18 · 485ms avg07-18 · 485ms avg07-19 · 439ms avg07-19 · 439ms avg07-20 · 408ms avg07-20 · 408ms avg07-21 · 386ms avg07-21 · 386ms avg07-22 · 374ms avg07-22 · 374ms avg07-23 · 347ms avg07-23 · 347ms avg07-24 · 411ms avg07-24 · 411ms avg07-25 · 429ms avg07-25 · 429ms avg07-26 · 363ms avg07-26 · 363ms avg07-27 · 473ms avg07-27 · 473ms avg07-28 · 506ms avg07-28 · 506ms avg07-29 · 450ms avg07-29 · 450ms avg07-30 · 488ms avg07-30 · 488ms avg07-31 · 496ms avg07-31 · 496ms avg08-01 · 558ms avg08-01 · 558ms avg08-02 · 564ms avg08-02 · 564ms avg08-03 · 599ms avg08-03 · 599ms avg08-04 · 502ms avg08-04 · 502ms avg08-05 · 674ms avg08-05 · 674ms avg08-06 · 697ms avg08-06 · 697ms avg08-07 · 536ms avg08-07 · 536ms avg08-08 · 534ms avg08-08 · 534ms avg08-09 · 507ms avg08-09 · 507ms avg08-10 · 476ms avg08-10 · 476ms avg07-1208-10
AVG RESP 467ms
PRICE (captured 402, USD)
07-11 · $0.00508-10 · $0.005$0.00507-1108-10

Median across 3 endpoints. Use the selector to isolate one.

SUB-SCORES (uptime + x402 compliance)
07-13 uptime: 100.0% compliance: 92% checks07-14 uptime: 100.0% compliance: 92% checks07-15 uptime: 100.0% compliance: 92% checks07-16 uptime: 100.0% compliance: 92% checks07-17 uptime: 100.0% compliance: 100% checks07-18 uptime: 100.0% compliance: 100% checks07-19 uptime: 100.0% compliance: 100% checks07-20 uptime: 100.0% compliance: 100% checks07-21 uptime: 100.0% compliance: 100% checks07-22 uptime: 100.0% compliance: 100% checks07-23 uptime: 100.0% compliance: 100% checks07-24 uptime: 100.0% compliance: 100% checks07-25 uptime: 100.0% compliance: 100% checks07-26 uptime: 100.0% compliance: 100% checks07-27 uptime: 100.0% compliance: 100% checks07-28 uptime: 100.0% compliance: 100% checks07-29 uptime: 100.0% compliance: 100% checks07-30 uptime: 100.0% compliance: 100% checks07-31 uptime: 100.0% compliance: 100% checks08-01 uptime: 100.0% compliance: 100% checks08-02 uptime: 100.0% compliance: 100% checks08-03 uptime: 100.0% compliance: 100% checks08-04 uptime: 100.0% compliance: 100% checks08-05 uptime: 100.0% compliance: 100% checks08-06 uptime: 100.0% compliance: 100% checks08-07 uptime: 100.0% compliance: 100% checks08-08 uptime: 100.0% compliance: 100% checks08-09 uptime: 100.0% compliance: 100% checks08-10 uptime: 100.0% compliance: 100% checksuptimecompliance07-1308-10

checklist grew 11->14 on 2026-07-28; a step here is a metric change, not a regression

PILLARS OVER TIME (measured)

Measured site and economics pillars from the assessment history, so the latest value shown elsewhere on this page reads as a point on a trend rather than a permanent state.

VOLUME (on-chain settlement, USD)
07-15 · $0.0107-19 · $0.0107-20 · $0.0007-21 · $0.0107-22 · $0.0107-25 · $0.0007-26 · $0.0007-28 · $0.0108-01 · $0.0108-07 · $0.0108-08 · $0.0008-10 · $0.01peak $0.0107-1508-10
DISTINCT BUYERS
07-15 · 1 buyer07-19 · 1 buyer07-20 · 1 buyer07-21 · 1 buyer07-22 · 1 buyer07-25 · 1 buyer07-26 · 1 buyer07-28 · 1 buyer08-01 · 1 buyer08-07 · 1 buyer08-08 · 1 buyer08-10 · 1 buyerpeak 1 buyer07-1508-10

COMPLIANCE

14/14 checks pass · grade A

last 402 captured 2026-07-13 · last up 2026-08-10

  • 402 payload captured
  • accepts[] array present
  • payTo address recoverable
  • payTo at accepts[0].payTo (conformant shape)
  • payTo is a valid on-chain address
  • atomic price declared
  • atomic price in a sane range
  • asset (token) address declared
  • network resolves to CAIP-2
  • payment scheme declared
  • served over HTTPS
  • declares the current x402 version (2)
  • EIP-712 domain parameters present on every EVM entry
  • x402 v2 envelope delivered in the payment-required header

SITE PILLARS

  • homepage reachable
  • openapi doc
  • pricing page
  • llms.txt
  • robots.txt
  • terms page
recent checks (18) live · click to expand
TIME STATUS RESP CAUSE
● OK 647ms
● OK 660ms
● OK 588ms
● OK 617ms
● SLOW 776ms
● OK 613ms
● OK 656ms
● OK 535ms
● OK 643ms
● OK 564ms
● OK 510ms
● OK 440ms
● OK 355ms
● OK 354ms
● OK 234ms
● OK 329ms
● OK 419ms
● OK 440ms

EMBED THIS BADGE

Show that Agent Web Reader (x402) is monitored on x402-list. Paste this on your site or README, it links back to this live listing.

Agent Web Reader (x402) listed on x402-list
status
Agent Web Reader (x402) uptime on x402-list
live uptime
// HTML
<a href="https://x402-list.com/services/agent-web-reader-x402?utm_source=badge&utm_medium=referral&utm_campaign=embed">
  <img src="https://x402-list.com/badge/agent-web-reader-x402.svg" alt="Agent Web Reader (x402) listed on x402-list" height="28">
</a>
// Markdown
[![Agent Web Reader (x402) on x402-list](https://x402-list.com/badge/agent-web-reader-x402.svg)](https://x402-list.com/services/agent-web-reader-x402?utm_source=badge&utm_medium=referral&utm_campaign=embed)
// HTML · live uptime variant
<a href="https://x402-list.com/services/agent-web-reader-x402?utm_source=badge&utm_medium=referral&utm_campaign=embed">
  <img src="https://x402-list.com/badge/agent-web-reader-x402.svg?data=uptime" alt="Agent Web Reader (x402) uptime on x402-list" height="28">
</a>

RUN THIS SERVICE?

Keep this listing accurate: propose changes to the name, description, website, category or add new endpoints to monitor. Ownership is verified with a domain proof and every change is reviewed manually; measured data stays read-only.

[ update this listing ]

To request delisting, email [email protected] or update your listing at /services/agent-web-reader-x402/update.