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

# List Discovery Resources

> GET /v1/discovery/resources — public discovery feed of all listed offers across this AXON instance

Public, unauthenticated endpoint that returns every offer with `is_published=true` and `status=active` on this AXON instance. Other AXON instances, x402 facilitators, and agent discovery tools poll this endpoint to build a cross-instance discovery feed.

> [!NOTE]
>
> This endpoint is deliberately public — no auth header required. It serializes to the same resource shape that AXON's internal `provider-sync.ts` consumes, so the feed is immediately consumable by external facilitators.

## Request

```http theme={null}
GET /v1/discovery/resources?limit=100&offset=0&sort=score
```

### Query parameters

| Param | Default | Description |
| :- | :- | :- |
| `limit` | 100 | Max resources per page (capped at 1000) |
| `offset` | 0 | Pagination offset |
| `sort` | `score` | `score` ranking or `recent` (by `published_at` DESC) |

## Response

```json theme={null}
{
  "items": [
    {
      "resource": "https://api.axon402.com/o/market-snapshots-a1b2c3d4",
      "type": "http",
      "method": "GET",
      "x402Version": 2,
      "description": "Real-time market data for Base network tokens",
      "lastUpdated": "2026-04-11T10:30:00Z",
      "metadata": {
        "name": "Market Snapshots API",
        "description": "Real-time market data for Base network tokens",
        "category": "finance",
        "tags": ["defi", "markets"],
        "tagline": "Real-time data for agents",
        "icon_url": "https://yourservice.com/icon.png",
        "demo_url": "https://yourservice.com/demo",
        "links": [{"label": "Docs", "url": "https://yourservice.com/docs"}],
        "screenshots": ["https://yourservice.com/screenshot1.png"]
      },
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "payTo": "0xabc...",
          "asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
          "amount": "10000",
          "maxTimeoutSeconds": 30
        }
      ],
      "score": 0.72
    }
  ],
  "pagination": {
    "limit": 100,
    "offset": 0,
    "total": 1,
    "sort": "score"
  }
}
```

### Response notes

* `resource` is the paid URL buyers should call.
* Proxied/BYO offers emit their configured `resource_url`.
* `type` is currently `http`.
* `lastUpdated` is `published_at` when present, otherwise `updated_at`.
* `metadata` contains provider-authored listing fields.
* `accepts[0]` describes the exact x402 payment requirement for the offer.
* `score` is optional. When `?sort=score`, unscored offers sort after scored ones.

Invalid `sort` values return:

```json theme={null}
{
  "code": "VALIDATION_ERROR",
  "message": "sort must be one of: score, recent",
  "recoverable": false
}
```

## Cache headers

Responses include `Cache-Control: public, max-age=30`. Downstream facilitators should respect this.

## Example — fetch top 5 by score

```bash theme={null}
curl "https://api.axon402.com/v1/discovery/resources?limit=5&sort=score"
```

## Example — fetch recent files only (client-side filter)

```bash theme={null}
curl "https://api.axon402.com/v1/discovery/resources?limit=100&sort=recent" \
  | jq '.items[] | select(.metadata.category == "data")'
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.