# Token List

Returns a list of all tracked tokens with their metadata.

**Endpoint:** `GET https://api.liqd.ag/tokens`

**Authentication**: None required - publicly accessible

**Rate Limits**: No rate limits

### Optional Parameters

| Name       | Type    | Description                               | Default |
| ---------- | ------- | ----------------------------------------- | ------- |
| `search`   | string  | Filter tokens by address, name, or symbol | none    |
| `limit`    | number  | Maximum number of tokens to return        | none    |
| `metadata` | boolean | When "false", returns only addresses      | true    |

> **Note:** Tokens are always sorted by 24-hour transfer count in descending order (highest first).

**Example Requests:**

```
GET https://api.liqd.ag/tokens
GET https://api.liqd.ag/tokens?limit=10
GET https://api.liqd.ag/tokens?search=HYPE
GET https://api.liqd.ag/tokens?metadata=false
GET https://api.liqd.ag/tokens?limit=5&search=USD
```

**Example Response (with metadata):**

```json
{
  "success": true,
  "data": {
    "tokens": [
      {
        "address": "0x47bb061C0204Af921F43DC73C7D7768d2672DdEE",
        "name": "Token One",
        "symbol": "TOKEN1",
        "decimals": 18,
        "transfers24h": 1250
      },
      {
        "address": "0xF26A8ab118f4C46A2D3C0C5cF4bf446008efBf8c",
        "name": "Token Two",
        "symbol": "TOKEN2",
        "decimals": 18,
        "transfers24h": 950
      }
    ],
    "count": 2,
    "limitedCount": 2,
    "searchApplied": false,
    "limitApplied": false,
    "serviceStatus": "running",
    "lastProcessedBlock": "12345678"
  }
}
```

**Example Response (addresses only):**

```json
{
  "success": true,
  "data": {
    "addresses": [
      "0x47bb061C0204Af921F43DC73C7D7768d2672DdEE",
      "0xF26A8ab118f4C46A2D3C0C5cF4bf446008efBf8c"
    ],
    "count": 2,
    "limitedCount": 2,
    "searchApplied": false,
    "limitApplied": false,
    "serviceStatus": "running",
    "lastProcessedBlock": "12345678"
  }
}
```
