Skip to main content
The BoltzPay Registry provides a REST API for discovering and querying paid API endpoints. The SDK’s discover() method is a thin client for this API. Base URL: https://status.boltzpay.ai

List Endpoints

GET /api/endpoints
Returns a paginated list of scored endpoints.

Query Parameters

ParameterTypeDefaultDescription
protocolstringFilter by protocol: x402, l402, mpp
min_scorenumberMinimum trust score (0-100)
categorystringFilter by category
qstringFree-text search (name, URL, description)
limitnumber200Results per page (max 200)
offsetnumber0Pagination offset

Response

{
  "data": [
    {
      "slug": "invy-token-holdings",
      "name": "Invy — Token Holdings",
      "url": "https://invy.bot/api",
      "protocol": "x402",
      "score": 85,
      "health": "healthy",
      "category": "crypto-data",
      "isPaid": true,
      "badge": "established"
    }
  ],
  "total": 5700,
  "offset": 0,
  "limit": 200,
  "hasMore": true
}

Response Fields

FieldTypeDescription
dataRegistryEndpoint[]Array of endpoint entries
totalnumberTotal matching endpoints
offsetnumberCurrent offset
limitnumberPage size
hasMorebooleanWhether more pages exist

RegistryEndpoint

FieldTypeDescription
slugstringURL-safe unique identifier
namestringHuman-readable endpoint name
urlstringEndpoint URL
protocolstring | undefinedDetected protocol: "x402", "l402", "mpp"
scorenumberTrust score (0-100), EWMA health-weighted
healthstring"healthy", "degraded", or "dead"
categorystringEndpoint category
isPaidbooleanWhether payment is required
badge"new" | "established" | nullTrust badge

Examples

# All endpoints
curl https://status.boltzpay.ai/api/endpoints

# MPP endpoints with score >= 70
curl "https://status.boltzpay.ai/api/endpoints?protocol=mpp&min_score=70"

# Search for weather APIs
curl "https://status.boltzpay.ai/api/endpoints?q=weather"

# Paginate
curl "https://status.boltzpay.ai/api/endpoints?limit=50&offset=100"

SDK Usage

The SDK wraps this API via discover():
import { BoltzPay } from "@boltzpay/sdk";

const agent = new BoltzPay({});

// All endpoints
const all = await agent.discover();

// With filters (maps to query params)
const results = await agent.discover({
  protocol: "x402",
  minScore: 70,
  category: "crypto-data",
  query: "token",
  limit: 50,
});

for (const entry of results) {
  console.log(`${entry.name}${entry.url}`);
  console.log(`  Score: ${entry.score}, Health: ${entry.health}`);
}

CLI

boltzpay discover --protocol mpp --min-score 70 --query weather
boltzpay --json discover --category finance

MCP

{
  "name": "boltzpay_discover",
  "arguments": {
    "protocol": "x402",
    "minScore": 70,
    "query": "crypto"
  }
}

Custom Registry

Point the SDK at a different registry instance:
const agent = new BoltzPay({
  registryUrl: "https://my-registry.example.com",
});
The API contract is the same. Default: https://status.boltzpay.ai.

Browse

Visit status.boltzpay.ai to browse the registry with a web UI. Filter by protocol, category, and score. Each endpoint page shows detailed scoring breakdown, price history, and health timeline.