What is 402 Index?

402 Index is a protocol-agnostic directory of paid APIs designed for AI agents. We index services that use L402 (Lightning Network paywalls), x402 (crypto micropayments via Base/Solana), and MPP (Machine Payments Protocol via Stripe/Tempo).

AI agents need to discover, evaluate, and pay for API services autonomously. 402 Index provides the discovery layer — a searchable directory with real-time health monitoring, pricing information, and schema documentation.

How it works

We aggregate services from multiple sources:

x402 Bazaar — Coinbase's auto-registration directory for x402-enabled endpoints. We poll this hourly and normalize the data into our schema.

Satring — A Paid API Directory for AI Agents: Discover paid APIs for your AI agents, via Lightning and USDC.

Exclusive listings — Manually curated services submitted via YAML files. These are the highest-quality listings, reviewed by the 402 Index team.

L402 Apps — A community directory of L402-enabled apps and APIs, scraped daily.

Sponge — x402 services cataloged by PaySponge.

Well-Known — Endpoints discovered via providers' /.well-known/l402-services JSON documents.

MPP (Tempo) — Machine Payments Protocol services from Tempo's aggregation API. These are services that accept Stripe/Tempo machine payments, including major AI platforms like OpenAI, Anthropic, and Google Gemini.

Self-registered — Endpoints registered programmatically via our registration API, verified automatically and reviewed before going live.

Every service is health-checked every hour. For paid API services, a 402 Payment Required response means the service is healthy — the paywall is active and working.

Methodology

Every number on 402 Index is independently verified. We don't take any source's word for it — we check every endpoint ourselves, every hour.

Endpoints indexed is the total count of unique paid API endpoints we track across all sources. This includes every service registered in x402 Bazaar, Satring, L402 Apps, and our exclusive listings.

402 header parsed marks the subset whose payment challenge we fetched and parsed ourselves. Nobody pays during this check, so it shows the paywall is answering, not that a payment will settle. What we check depends on the protocol:

For L402 endpoints: we send an HTTP request and confirm the service returns 402 Payment Required with a valid WWW-Authenticate: L402 header containing a properly formatted macaroon/token and a BOLT11 Lightning invoice. If the paywall is active and the credentials parse correctly, we mark the endpoint 402 header parsed. That means the challenge is well formed; it does not mean anyone has paid it. For POST-only endpoints, we send the configured HTTP method. Some providers validate the request body before issuing the L402 challenge — for these, we send a per-endpoint probe body so the health check reaches the paywall layer. We also classify the token format (V2 TLV binary, V1 binary, V0 libmacaroons text, JSON, or unknown) and surface whether each endpoint is compatible with Lightning Labs' lnget client. Format is informational metadata per BLIP-0026's token-agnostic design — it does not affect health status. Only payment hash mismatch (token doesn't commit to the invoice payment hash) degrades health.

For x402 endpoints: we send an HTTP request and check for a PAYMENT-REQUIRED response header containing a valid base64-encoded JSON payload. We validate that the accepts[] array includes a recognized payment scheme, a known asset contract address (e.g., USDC on Base), a valid payTo address, and a reachable facilitator URL. If any of these checks fail, the endpoint is indexed but not marked 402 header parsed.

For MPP endpoints: we send an HTTP request and confirm the service returns 402 Payment Required with a valid WWW-Authenticate: Payment header. We parse the challenge for required fields: id, realm, method, and either intent or request (base64-encoded payment details). The method field indicates the payment rail (e.g., tempo, lightning). If the challenge parses correctly with all required fields present, we mark the endpoint 402 header parsed.

.well-known Discovery

Some L402 providers publish a discovery document at /.well-known/l402-services that describes their endpoints, required request schemas, and pricing. When a self-registration probe fails because the endpoint validates request bodies, we check this document automatically and retry with the correct configuration. This is an emerging convention — providers can publish one to make their endpoints instantly discoverable and self-registrable.

Health status reflects whether the endpoint is reachable and responding correctly:

● Healthy — responded with HTTP 402 (paywall active) within the timeout window on the last check.
● Degraded — responding, but with unexpected status codes, slow response times, or intermittent failures.
● Down — not responding or returning errors on consecutive checks.

Why do some sources show a large gap between "indexed" and "402 header parsed"? Auto-registration directories may catalog endpoints when they first process a payment, but don't keep checking that the paywall still answers. 402 Index re-checks endpoints every hour, longest-unchecked first. If an endpoint stops returning a valid challenge, it stays indexed but loses the 402-header-parsed mark, and a host that stops answering altogether is quarantined out of our counts until it answers again. A parsed challenge is evidence the paywall is up, not proof that a payment will settle.

For API providers

Want to list your paid API on 402 Index? There are a few ways to get started:

1. Add x402 to your API. The x402 protocol lets you add crypto micropayments to any HTTP endpoint. Your service will be auto-discovered via the Bazaar and indexed here.

2. Add L402 to your API. Use L402 to paywall your API with Lightning Network micropayments.

3. Add MPP to your API. Use the Machine Payments Protocol to accept Stripe/Tempo payments. Your service will be auto-discovered via the Tempo API and indexed here.

4. Register via API. Agents and developers can register L402 endpoints programmatically. Your endpoint must return HTTP 402 with the appropriate payment header for your protocol (L402, x402, or MPP). Registrations are verified automatically and reviewed before going live.

curl -X POST https://402index.io/api/v1/register \
  -H 'Content-Type: application/json' \
  -d '{
  "url": "https://api.example.com/resource",
  "name": "My L402 API",
  "protocol": "L402",
  "http_method": "POST",
  "provider": "My Org"
}'

See the API docs for the full field reference.

Already listed? If your endpoints are already indexed (e.g., from Bazaar or Satring), you can claim your domain to edit your listings directly — update names, descriptions, categories, and pricing.

5. Email us a listing. Send a YAML file describing your service to hello@402index.io for manual review.

name: "My Weather API"
url: "https://api.example.com/weather"
protocol: L402
price_sats: 5
price_usd: 0.002
payment_asset: "BTC/Lightning"
category: "real-time-data/weather"
description: "Weather forecasts from NOAA data"
provider: "Example Corp"

For AI agent developers

Use our REST API to query the directory programmatically. Filter by protocol, category, price, health status, and more.

GET /api/v1/services?health=healthy&category=real-time-data&max_price_usd=0.01

An MCP server is available for direct integration with Claude, GPT, and other AI assistants. See the API docs for details.

402 Index is an open directory of paid APIs for AI agents.