back to articles

published 2026-05-12

This is issue #2 of x402station Weekly — a recurring snapshot of the x402 ecosystem. Issue #1 covered catalog growth and the $23.2M honeypot zone. This issue zooms into one specific risk surfaced by the same data: who actually runs x402.

Correction, 2026-05-31: This issue used raw catalog path counts. We later found that some high-count providers return x402 challenges or 200 HTML app shells for random non-catalog paths, so raw path count can overstate effective endpoint supply. The original numbers remain below for audit history. Current /reports/provider-concentration.json now publishes both raw_count and effective_count, plus wildcard_402_detected and spa_fallback_detected flags.

TL;DR

The shape of the catalog right now

Top 10 providers by active endpoint count:

# provider endpoints % of catalog 24h uptime avg latency
1 orbisapi.com 32,214 65.32% 99.4% 450 ms
2 lowpaymentfee.com 10,659 21.61% 100.0% 82 ms
3 Sponge (paysponge.com) 510 1.03% 63.6% 667 ms
4 Freepik (www.freepik.com) 345 0.70% 67.5% 654 ms
5 x402.aurelianflo.com 340 0.69% 0% ⚠️
6 www.x402scan.com 285 0.58% 0% ⚠️
7 bridge.eruditepay.com 284 0.58% 100.0% 82 ms
8 api.strale.io 270 0.55% 82.8% 247 ms
9 Heurist Mesh (mesh.heurist.xyz) 206 0.42% 79.1% 373 ms
10 api.agentmail.to 180 0.37% 51.3% 344 ms

The cumulative shares:

When an agent prompt says "pick any random x402 inference endpoint" or filters "endpoints in category X under $0.01", it's overwhelmingly picking inside the same two billing namespaces. That's not a moral judgment — orbisapi and lowpaymentfee both run real services with real uptime, and high concentration is normal in early ecosystems. But it has measurable agent-side consequences worth surfacing.

Single-source risk: what happens if the top provider has an incident

Concentration of this shape compresses operational risk. If orbisapi.com rate-limits, rotates an API key, deprecates an endpoint, or has a 90-minute outage, 65% of the catalog is unreachable simultaneously for any agent that doesn't have a fallback. Not a hypothesis — at the catalog scale we observe, an outage at top-1 looks indistinguishable from an industry-wide x402 outage to a naive agent.

Naive agents don't have fallbacks. Most agent SDK examples we've reviewed (AgentKit, Lucid, Mastra, plain @x402/fetch) demonstrate happy-path patterns: pick an endpoint, sign, pay, parse response. There's no concentration-aware retry, no provider-diversity heuristic, no automatic switch to a different namespace on N consecutive failures.

x402station Guard surfaces this via metadata.high_concentration: true whenever the target endpoint's provider sits above a configurable share threshold (default 50%). An agent that reads this can:

import { wrapWithPreflight } from "x402station-middleware";

const safeFetch = wrapWithPreflight(x402Fetch, {
  block: ["dead", "zombie", "decoy_price_extreme", "never_paid_zombie"],
  // optional: refuse single-sourcing on high-value tasks
  onWarn: (warnings, metadata) => {
    if (metadata.high_concentration && taskValue > 1.0) {
      throw new Error("Refuse: high_concentration on $1+ task; route via /alternatives");
    }
  },
});

Zombie risk: two of the next eight providers are 0% healthy

The more surprising finding is in the long tail. Of the top-10 providers by endpoint count:

That's 625 endpoints (1.27% of the catalog) in the long tail that an "endpoint-count-ordered" filter — a reasonable heuristic for "established providers" — would route directly into. An agent paying any of those signs PAYMENT-SIGNATURE, gets a 5xx or network error post-settlement, and loses the call.

Why these survive in the catalog: agentic.market updates from a mix of provider self-reports and aggregated paid-call outcomes. A zombie that nobody pays generates no negative signal. The catalog has no penalty for being broken if you're never tested. Independent probing (every endpoint, every 10 minutes) closes that visibility gap.

Guard's dead / zombie warnings catch both providers cleanly — refuses to sign before the wallet ever issues an authorisation. Per the Issue #1 numbers, this is part of a larger ~30+ services that 100% error over the last hour or 7-day window.

What Guard blocks right now

Snapshot from the live catalog (refreshed on every probe pass, every 10 minutes):

Install / try

npm install x402station-middleware
import { wrapWithPreflight } from "x402station-middleware";
const safeFetch = wrapWithPreflight(x402Fetch);  // fail-closed by default

Or via MCP for Claude Code / Cursor / Windsurf / Continue:

npx -y x402station-mcp

Service operators: /verified — $1 USDC for a 30-day signed audit cert. Agents using Guard with /api/v1/alternatives prefer verified endpoints when routing around concentration risk or signal blocks.

What's next

This is issue #2 of x402station Weekly. Next snapshot: 2026-05-26 — first read on the 14-day operator-outreach experiment closing 2026-05-19; whether the verified-badge cohort scales beyond the first organic operator who reached out unsolicited.

If you want the concentration-exposure number specific to your agent's catalog filter, hello@x402station.io — happy to run the numbers.

— Team (x402station)

back to articles6 total · published 2026-05-12