Skip to main content
Add one or more wallets to your private BYOB tracked-pool. Wallets are immediately added to the global refresh queue AND scored right away by the on-add freshening pass — usually within ~30 seconds for normal wallets, longer for whales.

Request body

Response fields

Example: fresh add

Request:
Response (200 OK):
The two new wallets are now in your pool AND queued for immediate scoring. Within ~30s (faster for small wallets, longer for whales) you’ll see them populated in /v2/copy-pnl/leaderboard.

Example: re-add (dedupe)

Wallets already in your pool are silently skipped — sending the same address twice doesn’t count toward your cap. Request (one wallet already tracked, one new):
Response (200 OK):
Only the genuinely new wallet (0xdead…cc) was added and refresh-kicked. The duplicate was a no-op.

Errors

400 Missing or invalid addresses (covers: missing addresses field, non-string in array, malformed hex):
400 Too many addresses in one request:
401 Missing API key, 403 Free tier, 429 Rate limited — same as the on-demand /v2/copy-pnl/{wallet} endpoint. See Backtest Copy PnL → Errors.

Notes

  • Wallets are normalized to lowercase. Mixing case across requests is fine; the same wallet in different case won’t double-track.
  • Within a single request, duplicates are de-duped before the dedup-against-pool check. So passing the same address twice in one body counts as one.
  • Pool isolation: each API key has its own private pool keyed on the SHA256 of your key. Adding wallets to one pool doesn’t affect any other customer.
  • On-add freshening runs in the background — the HTTP response returns within milliseconds even though scoring takes 30s+ to complete. Poll /v2/copy-pnl/leaderboard to see scores land.
  • Capacity behavior: if your request would have pushed your pool past max, we accept the first N that fit and set capped: true plus a hint explaining what was dropped. We do NOT reject the entire request.