preflight402

io.ironshellPublished by ironshell.ioOfficial publisherv0.1.0Updated Oct 24, 2026

Trust verdict for an x402 payment endpoint: health, 402 handshake, price, proceed/caution/avoid.

VerifiedStreamable HTTPWeb executableFinanceSecurity & Monitoring

Overview

AI-generated overview

Hosted MCP server that preflights an x402 payment endpoint and returns a proceed/caution/avoid trust verdict before an agent pays.

What you can do
  • Check a paid API endpoint: the preflight tool takes a URL and returns a trust-preview.v1 verdict.
  • Assess health and handshake: liveness, TLS, 402 handshake parsing (x402 v1/v2 and MPP detection) and price sanity.
  • Score identity and reputation: ERC-8004 identity binding plus Sybil-filtered on-chain reputation, with plain-language reasons.
  • Same checks are also reachable over plain HTTP from the hosted instance.
When to use it
Use it when an agent is about to pay an unfamiliar x402 endpoint and you want a quick, free sanity check on whether the endpoint is live, priced sensibly and plausibly reputable. It is a pre-payment check, not a payment tool.
Requirements
A remote MCP client pointed at the hosted streamable-HTTP endpoint; no wallet, key or install is needed. Running it locally instead requires uv and the Python package, and the README notes the PyPI publish is still pending.
Before you install
The verdict is advisory and based on probing plus reputation heuristics; the README itself notes most payees bind no ERC-8004 identity, so many verdicts rest on health, price and handshake alone. The URL you submit is sent to the hosted service. It does not sign or send payments, and the optional guard library fails open by default.

Installation

In SourceWeft

  1. Open preflight402 in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.ironshell%2Fpreflight402/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "preflight402": {
      "type": "http",
      "url": "https://preflight402.ironshell.io/mcp"
    }
  }
}

README

preflight402

One free call before your agent pays. Health, authenticity, and Sybil-filtered reputation — one verdict.

[License: MIT] [Python 3.10+] [MCP]

A free trust/health preflight for the agent payment economy (x402). It probes an endpoint before your agent pays and returns one trust-preview.v1 verdict: liveness, TLS, the 402 handshake (x402 v1/v2 + MPP detection), price sanity, continuous uptime history, ERC-8004 identity binding, and Sybil-filtered on-chain reputation — rolled into a proceed / caution / avoid recommendation with plain-language reasons. No wallet, no key, no charge.

Why filtered reputation matters: one live agent shows a 99.8/100 average from 996 reviewers — until Sybil filtering collapses those reviewers into 12 independent funding clusters at 89.7. Raw reputation is trivially farmed; this is what the verdict actually scores. (Separately, only ~4% of x402 payees bind to any ERC-8004 identity at all — so most verdicts run on health, price, and handshake, and say so honestly.)

Why "listed" means little: across 7.76M probes over 15 days of a 51,331-endpoint catalog, two squatting hosts account for 58% of every listed x402 endpoint — one serving a uniform 404 behind a "This app isn't live yet" placeholder, the other a uniform Cloudflare TLS failure. Strip them out and 87% of real endpoints work; measured per provider, about one host in seven (13.9%) serves no valid 402. Read the findings: What 7.8M probes say about the x402 economy — including why a GET-only crawl (ours included, before we fixed it) overstates x402 invalidity ~2×. Full method and caveats: docs/checkpoint-m3.md.

30-second quickstart

Point any agent at the hosted MCP endpoint — no wallet, no key, no install:

https://preflight402.ironshell.io/mcp

Or check an endpoint over plain HTTP:

sh
curl 'https://preflight402.ironshell.io/preflight?url=https://api.example.com/paid'

Guard every payment automatically

preflight402-guard turns the service into a payment gate for the x402 Python SDK — safety becomes default-on instead of something an agent has to remember to call:

sh
pip install "preflight402-guard[x402]"   # PyPI publish pending; for now: pip install "git+https://github.com/duskwire/preflight402.git#subdirectory=guard"
python
from preflight402_guard import Guardfrom x402 import x402Client
guard = Guard()          # block "avoid", warn on "caution"client = x402Client()guard.install(client)    # every payment is preflighted before signing;                         # a bad verdict raises PaymentAbortedError

It also cross-checks that the payee your client selected matches the endpoint that was preflighted (the 402's resource URL is attacker-controlled), enforces an optional max_price_usd ceiling against the actual selected terms, and fails open by default so your commerce never depends on our uptime. There's a CLI too: preflight402-guard check <url>. See guard/README.md.

Status

Live at preflight402.ironshell.io and in the official MCP registry as io.ironshell/preflight402. The free preflight engine (health + 402 parse + verdict), continuous probing with uptime history, ERC-8004 binding, and the Sybil filter are all shipped and serving live. The whole service is free — there is no paywall.

Use it

As an MCP tool (no wallet, no key)

The preflight tool takes a url and returns a trust-preview.v1 verdict.

Easiest — point any MCP client at the hosted instance, no install:

https://preflight402.ironshell.io/mcp   (streamable-http)

Or run it yourself over stdio. Claude Code — one line (PyPI publish pending; until then point --directory at a clone):

sh
claude mcp add preflight402 -- uvx --from preflight402 preflight402-mcp# pre-PyPI: claude mcp add preflight402 -- uv run --directory /path/to/preflight402 preflight402-mcp

Claude Desktop — add to claude_desktop_config.json:

json
{  "mcpServers": {    "preflight402": {      "command": "uvx",      "args": ["--from", "preflight402", "preflight402-mcp"]    }  }}

Either way, run it as a hosted HTTP server with preflight402-mcp --transport streamable-http (serves the same tool at http://<host>:8000/mcp).

As a REST call

The hosted instance also serves REST:

sh
curl 'https://preflight402.ironshell.io/preflight?url=https://api.example.com/paid'

Or run it yourself (serves REST + MCP on one port):

sh
uv run uvicorn preflight402.api.app:app --port 8402curl 'http://localhost:8402/preflight?url=https://api.example.com/paid'

Development

Requires uv.

sh
uv sync                                        # create venv + install depsuv run uvicorn preflight402.api.rest:app       # serve on :8000curl http://localhost:8000/healthz             # {"status":"ok","version":"0.1.0"}
uv run pytest                                  # testsuv run ruff check .                            # lintuv run ruff format --check .                   # formatting

Layout

src/preflight402/├── api/          # REST + MCP server├── probe/        # async prober, TLS inspection, 402 parsers (x402 v1/v2, MPP)├── verdict/      # rules -> trust-preview.v1 JSON├── chains/       # ChainVerifier interface: EVM (Base), SVM (Solana)├── reputation/   # ERC-8004 subgraph client, endpoint binding, Sybil filter├── ingest/       # endpoint seed ingesters (Bazaar, x402scan, ...)├── scheduler/    # probe loop with per-host politeness└── db/           # SQLite (WAL) schema + queriesguard/            # preflight402-guard: client-side auto-preflight for the x402 SDKtests/            # unit/ + golden/ (captured 402 responses) + integration/ (marked slow)deploy/           # Dockerfile + deploy notesdocs/             # trust-preview.v1 schema + API docs (M8)

Source: README.md at commit d775442

Tools

0
SourceWeft has not read this server's tools yet.

Version history

1
  1. v0.1.0LatestSep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts