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

# Add Wallets to a Watchlist

> Add up to 10,000 wallets to a watchlist, idempotent. Free.

`POST /v1/wallet/watchlist/{id}/add` · **Free**

Adds up to 10,000 wallets to a watchlist. Idempotent: a wallet already in the list counts in `alreadyIn` and changes nothing; `version` only moves when something changed. Free.

```bash cURL theme={null}
curl -X POST 'https://api.serialized.xyz/v1/wallet/watchlist/app-holders/add' \
  -H 'Authorization: YOUR_API_KEY' -H 'Content-Type: application/json' \
  -d '{"wallets":[{"address":"Hasda78TSaT9bjiPxDBvP4GpohFpP3TDTaJEcCYK5kyN","chain":"solana"},{"address":"0x4f2ba0f7f3b8ae1d0cc0fc4b4f04d03cbd1c3d6e","chain":"evm:8453"}]}'
```

```json Response theme={null}
{
  "data": {
    "id": "app-holders",
    "version": 4181,
    "wallets": 3,
    "added": 1,
    "alreadyIn": 1,
    "rejected": []
  }
}
```


## OpenAPI

````yaml openapi.json POST /v1/wallet/watchlist/{id}/add
openapi: 3.1.0
info:
  title: Serialized Data API
  description: >-
    On-chain data for trading apps - tokens, candles, token filters. Built on
    our own indexers. 18 EVM chains + Solana, live.
  version: 0.1.0
servers:
  - url: https://demo.serialized.xyz
    description: 'Demo: no key needed, read endpoints, rate-limited per IP'
  - url: https://api.serialized.xyz
    description: 'Production: your API key in the Authorization header'
security:
  - apiKey: []
  - {}
paths:
  /v1/wallet/watchlist/{id}/add:
    post:
      summary: Add Wallets to a Watchlist
      description: >-
        Adds up to 10,000 wallets to a watchlist. Idempotent: a wallet already
        in the list counts in `alreadyIn` and changes nothing; `version` only
        moves when something changed. Free.
      operationId: watchlist-add
      parameters:
        - schema:
            type: string
            x-default: app-holders
          in: path
          name: id
          required: true
          description: 'The watchlist id: yours, or the `wl_…` id we generated.'
          example: app-holders
      requestBody:
        required: true
        content:
          application/json:
            schema:
              additionalProperties: false
              type: object
              required:
                - wallets
              properties:
                wallets:
                  description: >-
                    1 to 10,000 wallets per call: `{ "address": "…", "chain":
                    "…" }` (one chain: `solana` or `evm:<id>`) or `{ "address":
                    "…", "chains": "evm" }` (every EVM chain, counted as one
                    wallet). Same rules as the `wallet` and `chains` parameters
                    of the wallet streams. An address is on every EVM chain or
                    on named EVM chains, never both: an entry that would put it
                    on both is returned in `rejected` (`INVALID_PARAM`). An
                    invalid entry is returned in `rejected` with its index; the
                    others are applied.
                  type: array
                  items: {}
      responses:
        '200':
          description: Standard `{ data, meta }` envelope.
components:
  securitySchemes:
    apiKey:
      type: apiKey
      name: Authorization
      in: header
      description: Your raw API key (not needed on the demo server).

````

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