Skip to main content

Documentation Index

Fetch the complete documentation index at: https://polynode.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

DELETE https://api.polynode.dev/v2/copy-pnl/wallets
Remove one or more wallets from your private BYOB pool. Wallets not in the pool (or already removed) are silently skipped — removed reflects only how many wallets were actually present.

Request body

FieldTypeRequiredDescription
addressesstring[]yesArray of 0x… wallet addresses to remove. Wallets not in your pool are no-ops.

Response fields

FieldTypeDescription
removedintNumber of wallets actually removed from your pool
totalintCurrent size of your pool after removal
maxintHard cap on pool size per API key (1000)

Example: remove an existing wallet

Request:
curl -H "x-api-key: $YOUR_KEY" \
  -H "Content-Type: application/json" \
  -X DELETE \
  -d '{
    "addresses": [
      "0xfeed0000000000000000000000000000000000aa",
      "0xfeed0000000000000000000000000000000000ff"
    ]
  }' \
  "https://api.polynode.dev/v2/copy-pnl/wallets"
Response (200 OK):
{
  "removed": 1,
  "total": 109,
  "max": 1000
}
Only the first wallet was actually in the pool — the second was never tracked, so it’s a silent no-op. The response tells you exactly how many were touched.

Example: idempotent re-remove

Calling delete on a wallet already removed is safe — returns removed: 0 with no error. Request:
curl -H "x-api-key: $YOUR_KEY" \
  -H "Content-Type: application/json" \
  -X DELETE \
  -d '{"addresses": ["0xfeed0000000000000000000000000000000000aa"]}' \
  "https://api.polynode.dev/v2/copy-pnl/wallets"
Response (200 OK):
{
  "removed": 0,
  "total": 109,
  "max": 1000
}
This makes “set my pool to exactly this list” workflows simple — DELETE old, POST new, both safe to re-run.

Errors

400 Missing or invalid addresses:
{ "error": "Body must include \"addresses\" — array of valid 0x… wallet addresses." }
Same auth/rate-limit errors as the rest of the /v2/copy-pnl/* family.

Notes

  • Removal is per-tenant. Removing a wallet from your pool does NOT remove it from the global refresh queue if other tenants still track it — the wallet’s score keeps refreshing for them. Your private query just stops returning that wallet.
  • Cached scores survive briefly. The wallet’s last-computed score stays in our cache (24h TTL). If you re-add the same wallet within 24h, the leaderboard will show its existing score immediately while the on-add freshening kicks off a fresh recompute.
  • No bulk-clear endpoint. To wipe your entire pool, GET your wallet list first, then DELETE all of them in chunks of 1000.