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

# Tokens and pricing

> List, detail, pricing, chart, and creator resources.

## List tokens

`GET /api/v1/tokens` and `GET /api/v1/tokens/newest`

| Query    | Default | Constraints                                                  |
| -------- | ------- | ------------------------------------------------------------ |
| `limit`  | `20`    | Integer 1–100                                                |
| `cursor` | empty   | Opaque cursor returned by the prior page                     |
| `search` | empty   | Up to 64 characters: letters, numbers, spaces, `.`, `_`, `-` |

```json theme={null}
{
  "items": [
    {
      "address": "0x1111111111111111111111111111111111111111",
      "creator": "0x2222222222222222222222222222222222222222",
      "name": "Example Token",
      "symbol": "EXAMPLE",
      "initial_supply": "1000000000000000000000000000",
      "created_at": {
        "block_number": 50190000,
        "transaction_hash": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
        "log_index": 4
      },
      "metrics": {
        "trade_count": 0,
        "buy_count": 0,
        "sell_count": 0,
        "volume": "0",
        "fees": "0",
        "unique_trader_count": 0,
        "current_price": null,
        "fully_diluted_value": null,
        "holder_count": 0
      }
    }
  ]
}
```

The values above are illustrative, not live market data.

## Token detail

`GET /api/v1/tokens/{address}` returns the token record plus current curve, metrics, optional metadata, and optional graduation fields. A missing canonical token returns `404 not_found`.

## Pricing

`GET /api/v1/tokens/{address}/pricing`

```json theme={null}
{
  "token_address": "0x1111111111111111111111111111111111111111",
  "current_price": "937500000",
  "fully_diluted_value": "937500000000000000",
  "source": "indexed_v3_curve"
}
```

After graduation, the source becomes `indexed_v3_market` only when the latest indexed trade source is `uniswap_v3`. Values can be `null` when no valid price exists.

## Chart

`GET /api/v1/tokens/{address}/chart?interval=1h&limit=168`

Supported intervals are `1m`, `5m`, `15m`, `1h`, `4h`, `1d`, and `1w`; limit is 1–1,000. Candles include bucket start, counts, volume, unique traders, and nullable open/high/low/close prices.

```json theme={null}
{
  "interval": "1h",
  "supported_intervals": ["1m", "5m", "15m", "1h", "4h", "1d", "1w"],
  "candles": [
    {
      "bucket_start": 1787000400,
      "trade_count": 2,
      "buy_count": 1,
      "sell_count": 1,
      "volume": "20000000000000000",
      "unique_trader_count": 2,
      "open_price": "1000000000",
      "high_price": "1100000000",
      "low_price": "990000000",
      "close_price": "1050000000"
    }
  ]
}
```

The response is illustrative. Unsupported intervals return `400 invalid_interval`; invalid limits return `400 invalid_request`.

## Creator resources

* `GET /api/v1/creators/{address}` returns `address`, `token_count`, aggregate indexed `volume`, `tokens`, and an optional next cursor.
* `GET /api/v1/creators/{address}/tokens` returns the standard token page format.

Both accept `limit` and `cursor`.

```json theme={null}
{
  "address": "0x2222222222222222222222222222222222222222",
  "token_count": 1,
  "volume": "0",
  "tokens": [],
  "next_cursor": "opaque-cursor-if-present"
}
```

This creator profile is an illustrative response shape. The creator-token endpoint uses the same `{ "items": [...], "next_cursor": "..." }` page shape as the token list.
