Skip to main content
Glama

x402watch

Wash-filtered intelligence layer for the x402 ecosystem — free public dashboard, daily CC0 datasets, x402-native paid API, and a remote MCP server.

Live License: Apache 2.0 Data: CC0 MCP Registry Smithery Glama

What is x402watch

Public x402 dashboards count transactions. x402watch classifies them.

Every active buyer wallet is tagged with one of eight labels — organic_user, self_test, developer, suspected_wash, ai_agent, analytics_bot, exchange_user, or verifier — using cohort signals + vanity clustering. Real-volume reporting excludes the synthetic categories, so service rankings reflect actual demand instead of self-funded noise.

4-Axis Differentiation

  1. Wash filter — 8-label buyer classification, cohort signal detection (uniform_amount, coordinated_start, uniform_tx_count, time_burst), strict + broad vanity clustering, conservative developer label.

  2. Free public data — every label, every benchmark. Daily CC0 snapshots in printmoneylab/x402watch-data.

  3. AI-native — public REST API, x402-native paid endpoints, llms.txt, OpenAPI spec, RSS, /.well-known/x402, and an MCP server.

  4. Coverage — 36,000+ services indexed across Base, Solana, Polygon, and Arbitrum.

Quick Start

Free API

curl https://api.x402.printmoneylab.com/api/v1/landing-stats
curl https://api.x402.printmoneylab.com/api/v1/categories
curl 'https://api.x402.printmoneylab.com/api/v1/services?search=ai'

Rate limit: 60 req/hour per IP. No API key. CC0-licensed.

MCP server (one command)

smithery mcp add bakyang2/x402watch

Or add to any MCP client manually (Claude Desktop, Cursor, Cline):

{
  "mcpServers": {
    "x402watch": {
      "transport": "streamable-http",
      "url": "https://api.x402.printmoneylab.com/mcp"
    }
  }
}

Paid endpoint (x402)

import asyncio, os
from eth_account import Account
from x402 import x402Client
from x402.mechanisms.evm.exact import ExactEvmClientScheme
from x402.http.clients.httpx import x402HttpxClient

async def main():
    acct = Account.from_key(os.environ["PRIVATE_KEY"])
    payer = x402Client()
    payer.register("eip155:8453", ExactEvmClientScheme(acct))
    async with x402HttpxClient(payer, base_url="https://api.x402.printmoneylab.com") as c:
        r = await c.post("/api/v1/wash/check", json={"address": "0x..."})
        print(r.json()["label"])

asyncio.run(main())

The 402 round-trip pays USDC on Base mainnet via the CDP facilitator, retries with the signed payment header, and returns 200 with the data — no signup, no API keys.

API Endpoints

Free (60 req/hour per IP)

Endpoint

Description

GET /api/v1/landing-stats

Real-time market overview (services, transactions, real volume %)

GET /api/v1/categories

All 33 x402 service categories with stats

GET /api/v1/categories/{slug}

Category detail + 30-day time series + top services

GET /api/v1/services

Paginated service list with filters

GET /api/v1/services/{id}

Service detail: stats, time series, top buyers, label distribution

GET /api/v1/trends

24-hour ecosystem trends

GET /api/v1/wash-report

Aggregate wash patterns + anonymized case studies

Paid (x402, USDC on Base)

Endpoint

Price

Use case

GET /api/v1/services/{id}/wash-detail

$0.005

Operator audit — top 50 buyers + signal breakdown

GET /api/v1/buyers/{address}/profile

$0.005

Wallet research

GET /api/v1/services/{id}/transactions

$0.01

Custom analysis — raw 30-day transactions

GET /api/v1/categories/{slug}/full-history

$0.02

Longitudinal research — 365-day hourly series

POST /api/v1/wash/check

$0.05

Real-time wash analysis for any address

Settled via the Coinbase Developer Platform x402 facilitator. Bazaar discovery extensions declared per route.

Full reference: /api · Swagger UI

MCP Tools

Listed on the official MCP Registry as io.github.printmoneylab/x402watch. Streamable-http at https://api.x402.printmoneylab.com/mcp. Five read-only tools:

Tool

What it returns

x402_get_categories

All 33 categories with services count, 24h volume, real-volume %, label distribution

x402_get_service

One service's full record: stats, 30-day daily volume, top buyers, label mix

x402_check_wash

Aggregate wash-report dataset (per-address analysis is the paid POST /wash/check endpoint)

x402_search_services

Search 36k+ services with filters (category, chain, sort, page)

x402_get_trends

24h trends: new services, hot services, category volume movers

Architecture

Layer

Stack

Frontend

Next.js 16 (App Router) + Tailwind v4 + Recharts

Backend

FastAPI + PostgreSQL (TimescaleDB) + Redis (5-min cache)

Indexing

Bazaar discovery + EVM RPC (Alchemy) + Solana RPC (Helius)

Wash detection

NetworkX cohort signals, vanity clustering (strict + broad), single-buyer concentration analysis

AI classification

Claude Haiku 4.5 (per-service categorization), Claude Sonnet 4.5 (cross-validation)

Payments

x402 SDK 2.8.0, CDP facilitator on Base mainnet (USDC)

MCP server

FastMCP 3.x, streamable-http transport

Hosting

Oracle ARM (backend, free tier) + Vercel (frontend) + Cloudflare DNS

Methodology

Open, version-controlled, deterministic from public on-chain data:

https://x402.printmoneylab.com/docs/methodology

Covers 8-label priority order, cohort signal thresholds, vanity-cluster math, and the conservative developer label. Source markdown lives in content/methodology.md.

Resources

Repository Layout

This repo holds the public Next.js site under src/. The methodology markdown lives in content/methodology.md and is rendered at /docs/methodology. The FastAPI backend and indexers live on a separate Oracle host.

Contributing

Pull requests welcome. For methodology questions, dispute a label, or report a misclassified service, please open a GitHub Issue — labels are deterministic and reproducible from public on-chain data, so we'll walk through the signals that triggered the classification.

License

Status

Phase 1 MVP — actively developed. 9 systemd services running on the Oracle backend (api, mcp, 7 indexer/labeller/stats jobs). Daily snapshots commit to the data repo at 04:00 UTC.


Built by PrintMoneyLab.

A
license - permissive license
-
quality - not tested
D
maintenance

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/printmoneylab/x402watch'

If you have feedback or need assistance with the MCP directory API, please join our Discord server