> ## Documentation Index
> Fetch the complete documentation index at: https://developers.circle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Discovery API

> One public endpoint to discover x402 services that accept USDC, across many blockchains. No API key, no account.

The Discovery API returns [x402](/gateway/nanopayments/concepts/x402)-compatible
services that accept USDC, across 15+ blockchain networks, from one public
endpoint. It powers the [catalog UI](https://agents.circle.com/services) and is
open for any client, wallet, or agent to query directly.

The catalog is curated and continuously sanctions-screened on the seller side,
and every listing carries structured payment requirements and JSON Schema, so
any wallet can pay for and call a service on top of x402. See the
[marketplace overview](/agent-stack/agent-marketplace) for the full rationale.

## Endpoint

```http theme={null}
GET https://api.circle.com/v2/x402/discovery/resources
```

This endpoint is public. It needs no authentication, no API key, and no Circle
account. Responses support `gzip` compression, so pass `--compressed` when you
call it with `curl`.

## Query parameters

All parameters are optional. Combine them to narrow the catalog to exactly the
services your agent can use.

| Parameter               | Type    | Description                                                                                                                                                                                 |
| :---------------------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `query`                 | string  | Fuzzy search across resource URLs, providers, descriptions, and tags.                                                                                                                       |
| `type`                  | string  | Protocol type: `http` or `mcp`.                                                                                                                                                             |
| `category`              | string  | Service category, one of the six values in [Categories](#categories) (for example, `FINANCIAL_ANALYSIS`).                                                                                   |
| `network`               | string  | CAIP-2 identifier (for example, `eip155:8453`) or a legacy SDK name (for example, `base`, `base-sepolia`). Only EVM chains have legacy aliases; Solana must use its full CAIP-2 identifier. |
| `asset`                 | string  | Payment token contract address.                                                                                                                                                             |
| `scheme`                | string  | Payment scheme (for example, `exact`).                                                                                                                                                      |
| `payTo`                 | string  | Merchant (seller) wallet address.                                                                                                                                                           |
| `maxUsdPrice`           | number  | Maximum price per request in USD (for example, `0.01`).                                                                                                                                     |
| `supportsVanillax402`   | boolean | `true` returns endpoints that support vanilla x402 (onchain payments).                                                                                                                      |
| `supportsCircleGateway` | boolean | `true` returns endpoints that support Circle Gateway (offchain, batched payments).                                                                                                          |
| `siwx`                  | boolean | `true` returns only SIWX (Sign-In With X, browser-auth) endpoints; `false` excludes them; omit to return all. Use `false` for CLI or automation.                                            |
| `fields`                | string  | Comma-separated list of fields to include in each item.                                                                                                                                     |
| `limit`                 | integer | Number of items to return. Default `50`, maximum `200`.                                                                                                                                     |
| `offset`                | integer | Number of items to skip, for pagination. Default `0`.                                                                                                                                       |

## Response

The response follows the [x402 Bazaar](https://docs.x402.org/extensions/bazaar)
discovery schema, the discovery format standardized as an x402 v2 extension.
Clients built against another Bazaar-compatible catalog can parse this one
unchanged.

A successful call returns a JSON object with three top-level fields:

* `x402Version`: the x402 protocol version the response follows.
* `items`: an array of service listings (described below).
* `pagination`: the `limit`, `offset`, and `total` count for the query.

```json theme={null}
{
  "x402Version": 2,
  "items": [
    {
      "resource": "https://api.aisa.one/apis/v2/coingecko/simple/price",
      "type": "http",
      "x402Version": 2,
      "lastUpdated": "2026-06-25T16:40:14.015Z",
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "amount": "10000",
          "payTo": "0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed",
          "extra": { "name": "USD Coin", "version": "2" }
        }
      ],
      "metadata": {
        "provider": {
          "name": "AIsa API",
          "description": "cryptocurrency market data prices",
          "category": "FINANCIAL_ANALYSIS",
          "tags": ["x402", "crypto", "market-data"],
          "website": "https://aisa.one",
          "docsUrl": "https://aisa.one/docs/api-reference",
          "openApiUrl": "https://aisa.one/openapi.yaml"
        },
        "path": "/apis/v2/coingecko/simple/price",
        "method": "GET",
        "description": "Get cryptocurrency prices in multiple currencies",
        "mimeType": "application/json",
        "input": {
          "type": "object",
          "properties": { "ids": { "type": "string" } }
        },
        "output": { "type": "object" },
        "siwx": false,
        "supportsVanillax402": true,
        "supportsCircleGateway": true
      }
    }
  ],
  "pagination": { "limit": 50, "offset": 0, "total": 636 }
}
```

Each item in `items` describes one service:

* `accepts[]` lists the payment requirements the service accepts. Each entry
  carries the `network` (CAIP-2), the `asset` (token contract address), the
  `scheme` (for example, `exact`), the `amount`, and the `payTo` seller wallet.
  `amount` is in atomic units: USDC has 6 decimals, so `10000` equals 0.01 USDC.
  v2 uses `amount` (v1 used `maxAmountRequired`).
* `metadata.provider` describes the seller: `name`, `description`, `category`,
  `tags`, `website`, and documentation URLs.
* `metadata` also carries the request `path` and `method`, an `input` and
  `output` JSON Schema, and three capability flags: `supportsVanillax402`
  (accepts onchain x402 payments), `supportsCircleGateway` (accepts Gateway
  offchain batched payments), and `siwx` (requires browser-based Sign-In With
  X).

## Examples

<CodeGroup>
  ```bash Fuzzy search theme={null}
  curl --compressed \
    "https://api.circle.com/v2/x402/discovery/resources?query=weather"
  ```

  ```bash Filter by chain and price theme={null}
  curl --compressed \
    "https://api.circle.com/v2/x402/discovery/resources?network=eip155:8453&maxUsdPrice=0.01&siwx=false"
  ```

  ```bash Gateway-only on Base theme={null}
  curl --compressed \
    "https://api.circle.com/v2/x402/discovery/resources?supportsCircleGateway=true&network=eip155:8453"
  ```

  ```bash Circle CLI theme={null}
  circle services search "weather"
  ```
</CodeGroup>

## Categories

Every listing is classified with one category in `metadata.provider.category`.
Filter on it with the `category` query parameter to narrow results to a domain.

| Category              | Description                                             |
| :-------------------- | :------------------------------------------------------ |
| `SOCIAL_INTELLIGENCE` | Social platform data and audience or sentiment signals. |
| `FINANCIAL_ANALYSIS`  | Market data, prices, and financial analytics.           |
| `WEB_SEARCH_RESEARCH` | Web search, scraping, and research retrieval.           |
| `PREDICTION_MARKETS`  | Odds, forecasts, and prediction-market data.            |
| `CREATIVE`            | Media generation such as images, audio, and text.       |
| `INFRASTRUCTURE`      | Developer tooling and infrastructure utilities.         |

## Paying for a service

Discovery tells you what each service accepts. To actually pay, use one of two
rails:

* **Vanilla x402**: a signed onchain USDC transfer that any USDC wallet,
  including a centralized custodial one, can produce.
* **Circle Gateway**: offchain, batched settlement for gasless, sub-cent
  payments.

Each listing's `accepts[]` and its `supportsVanillax402` and
`supportsCircleGateway` flags tell you which rails it takes. To pay from Circle
CLI, see
[Pay for a service](/agent-stack/agent-nanopayments/operations/pay-for-service).
For the concepts and buyer integration, see
[Agent nanopayments](/agent-stack/agent-nanopayments).

<Tip>
  To find services payable on a specific blockchain, filter with the structured
  `network` parameter, not the `query` text field. `query` matches free text
  (URLs, providers, descriptions, tags), so it does not reliably match a chain.
</Tip>

## Related

* [Service catalog](https://agents.circle.com/services)
* [OpenAPI spec](https://agents.circle.com/.well-known/openapi.json)
* [A2A card](https://agents.circle.com/.well-known/a2a.json)
* [Agent skills index (llms.txt)](https://agents.circle.com/llms.txt)
