Skip to main content
Glama

Search the x402 endpoint directory

x402_search
Read-onlyIdempotent

Use this to find a pay-per-call x402 API for a given task, network or price cap before calling it (mostly USDC on Base; check each row's network and asset, some are testnet or other assets). Searches a health-probed directory of live x402 pay-per-call HTTP endpoints on Base, Solana and other networks (x402_index_stats gives the current count). Returns id, resource URL, method, network, USD price, description, 30-day call/payer counts and our own uptime/probe data. Data is re-crawled a few times a day, not real-time. Quietforge operates this directory and also operates some listed endpoints (source=quietforge) under the same per-host cap as every operator; ordering is by 30-day usage, then liveness, then freshness, never by operator.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qNoCase-insensitive substring matched against the resource URL, description and service name; omit for no text filter.
aliveNotrue = answered its paid route on our last probe; false = did not; omit for both.
limitNoPage size, 1-100; out-of-range values are clamped.
offsetNoRows to skip for paging; negative is treated as 0.
sourceNoListing source: cdp (Coinbase CDP bazaar), payai (PayAI discovery) or quietforge (our own endpoints); omit for all sources.
networkNoCAIP-2 network id to filter on, e.g. eip155:8453 (Base mainnet); omit for all networks.
max_price_usdNoOnly endpoints priced at or below this USD amount per call; omit for any price.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed18 schema fields changed
    • removedInput schema / properties / alive / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / alive / default
      Removed value: -null
    • addedInput schema / properties / alive / type
      Added value: +"boolean"
    • removedInput schema / properties / max_price_usd / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / max_price_usd / default
      Removed value: -null
    • changedInput schema / properties / max_price_usd / description
      Previous value: -"Only endpoints priced at or below this USD amount per call."New value: +"Only endpoints priced at or below this USD amount per call; omit for any price."
    • addedInput schema / properties / max_price_usd / type
      Added value: +"number"
    • removedInput schema / properties / network / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / network / default
      Removed value: -null
    • addedInput schema / properties / network / type
      Added value: +"string"
    • removedInput schema / properties / q / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / q / default
      Removed value: -null
    • changedInput schema / properties / q / description
      Previous value: -"Case-insensitive substring matched against the resource URL, description and service name."New value: +"Case-insensitive substring matched against the resource URL, description and service name; omit for no text filter."
    • addedInput schema / properties / q / type
      Added value: +"string"
    • removedInput schema / properties / source / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / source / default
      Removed value: -null
    • changedInput schema / properties / source / description
      Previous value: -"Listing source: cdp (Coinbase CDP bazaar), payai (PayAI discovery) or quietforge (our own endpoints)."New value: +"Listing source: cdp (Coinbase CDP bazaar), payai (PayAI discovery) or quietforge (our own endpoints); omit for all sources."
    • addedInput schema / properties / source / type
      Added value: +"string"
  2. Changed7 schema fields changed
    • addedInput schema / properties / alive / description
      Added value: +"true = answered its paid route on our last probe; false = did not; omit for both."
    • addedInput schema / properties / limit / description
      Added value: +"Page size, 1-100; out-of-range values are clamped."
    • addedInput schema / properties / max_price_usd / description
      Added value: +"Only endpoints priced at or below this USD amount per call."
    • addedInput schema / properties / network / description
      Added value: +"CAIP-2 network id to filter on, e.g. eip155:8453 (Base mainnet); omit for all networks."
    • addedInput schema / properties / offset / description
      Added value: +"Rows to skip for paging; negative is treated as 0."
    • addedInput schema / properties / q / description
      Added value: +"Case-insensitive substring matched against the resource URL, description and service name."
    • addedInput schema / properties / source / description
      Added value: +"Listing source: cdp (Coinbase CDP bazaar), payai (PayAI discovery) or quietforge (our own endpoints)."
  3. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, non-destructive behavior, yet the description adds substantial context the agent cannot get elsewhere: data is re-crawled a few times a day rather than real-time, some listings are testnet or non-USDC assets, and ordering is by 30-day usage then liveness then freshness. It also discloses the operator conflict of interest (Quietforge lists its own endpoints under the same per-host cap) without contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and the caveats are front-loaded, and the paragraph is dense with non-redundant facts. It is slightly overloaded with parenthetical caveats, but nothing is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although the return fields are listed, the description goes beyond that to cover freshness, ordering, and operator bias, and the tool has an output schema so return-shape detail is not required. An agent has everything it needs to decide to call this and interpret the rows.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning by tying the filters to real search dimensions (task, network, price cap) and warning that each row's network and asset must be checked, which explains why the network filter matters. It still leaves format nuances (e.g. CAIP-2 syntax) to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (find a pay-per-call x402 API) and narrows scope to a task/network/price cap, which separates it from x402_service (detail on one endpoint) and x402_probe (liveness check). It even names x402_index_stats as the tool for counts, so the agent can route without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly frames the use case: find a pay-per-call endpoint before calling it, and points to x402_index_stats for the current count. It does not explicitly say when to prefer x402_service or x402_demand instead, so the alternative-routing guidance is only partial.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.