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

# Add Wallets

> Add wallets to your tracked leaderboard set.

Add one or more Polymarket proxy wallet addresses to your BYOL set. Newly added wallets are tracked immediately in the background and will appear in your leaderboard queries within seconds.

```
POST /v2/leaderboard/wallets
```

## Authentication

Pass your API key via query parameter `?key=`, header `x-api-key`, or `Authorization: Bearer`.

## Request body

```json theme={null}
{
  "wallets": [
    "0x94f199fb7789f1aef7fff6b758d6b375100f4c7a",
    "0xe9ad918c7678cd38b12603a762e638a5d1ee7091"
  ]
}
```

<ParamField body="wallets" type="string[]" required>
  Array of Polymarket proxy wallet addresses. Each must be a valid Ethereum address (`0x` + 40 hex characters). Maximum 500 wallets per request.
</ParamField>

## Response

```json theme={null}
{
  "added": 2,
  "already_tracked": 0,
  "total": 106,
  "limit": 5000
}
```

| Field             | Type   | Description                                                          |
| ----------------- | ------ | -------------------------------------------------------------------- |
| `added`           | number | Number of new wallets added                                          |
| `already_tracked` | number | Wallets that were already in your set (not counted toward the limit) |
| `total`           | number | Total wallets now in your set                                        |
| `limit`           | number | Maximum wallets allowed (5,000)                                      |

## Deduplication

If you add wallets that are already in your set, they are silently ignored. This means you can safely re-send your full wallet list without worrying about duplicates.

```json theme={null}
// Request: adding 2 wallets that are already tracked
{
  "wallets": [
    "0x94f199fb7789f1aef7fff6b758d6b375100f4c7a",
    "0xe9ad918c7678cd38b12603a762e638a5d1ee7091"
  ]
}

// Response: nothing was added, total unchanged
{
  "added": 0,
  "already_tracked": 2,
  "total": 106,
  "limit": 5000
}
```

## Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST "https://api.polynode.dev/v2/leaderboard/wallets?key=YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "wallets": [
        "0x94f199fb7789f1aef7fff6b758d6b375100f4c7a",
        "0xe9ad918c7678cd38b12603a762e638a5d1ee7091"
      ]
    }'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    "https://api.polynode.dev/v2/leaderboard/wallets?key=YOUR_API_KEY",
    {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({
        wallets: [
          "0x94f199fb7789f1aef7fff6b758d6b375100f4c7a",
          "0xe9ad918c7678cd38b12603a762e638a5d1ee7091"
        ]
      })
    }
  );
  const data = await response.json();
  console.log(`Added: ${data.added}, Total: ${data.total}`);
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      "https://api.polynode.dev/v2/leaderboard/wallets",
      params={"key": "YOUR_API_KEY"},
      json={
          "wallets": [
              "0x94f199fb7789f1aef7fff6b758d6b375100f4c7a",
              "0xe9ad918c7678cd38b12603a762e638a5d1ee7091"
          ]
      }
  )
  data = response.json()
  print(f"Added: {data['added']}, Total: {data['total']}")
  ```
</CodeGroup>

<Note>
  Newly added wallets are fetched immediately in the background. They typically appear in leaderboard queries within a few seconds.
</Note>
