Data API

Wallets

Who is good, how good, and why — from a ranked list down to one wallet’s open positions.

List wallets

GET/v1/wallets

Ranked traders. Sorted by skill unless you say otherwise.

Query parameters

NameTypeDescription
limitintRows per page.
offsetintSkip N rows. Prefer cursor paging past the first few pages.
cursorstringToken from meta.next_cursor.
sortstringOrdering, e.g. pnl_30d. meta.sort echoes what was applied.
archetypestringFilter to one behaviour class — information_trader, market_maker, retail, and others.
min_tradesintExclude wallets below a trade count — the simplest way to drop noise.
Try it/v1/wallets?limit=3

Kept in this browser only, and reused on every page. Never sent anywhere but the API.

Response
{
  "wallets": [
    {
      "address": "0x6011655c4afb76f36dd1b08a137a1ba73466b31e",
      "archetype": "information_trader",
      "display_name": "DEEDDIT",
      "x_handle": null,
      "quality_score": 1.97,
      "skill_score": 88.4,
      "skill_rank": 12,
      "rank_tier": "proven",
      "win_rate": 0.61,
      "sharpe": 2.4,
      "trades_30d": 214,
      "pnl_24h": 1204.5,
      "pnl_7d": 8421.0,
      "pnl_30d": 41288.2,
      "pnl_90d": 96431.7,
      "pnl_all": 402118.3,
      "total_volume": 8894120.0,
      "holdings_usd": 122840.5,
      "max_dd_usd": 18422.0,
      "capacity_used_pct": 12.4,
      "half_life_days": 41.0,
      "edge_verdict": "durable",
      "follower_count": 38,
      "is_bot": false,
      "last_active": "2026-08-02T11:41:09Z"
    }
  ],
  "meta": { "limit": 1, "has_more": true, "next_cursor": "MS45Nzk1..." }
}

Selected fields

NameTypeDescription
skill_scorefloatComposite skill, 0–100. skill_rank is its position among proven wallets.
quality_scorefloatHistorical activity signal. Explicitly not a return forecast — the API says so in meta.note.
archetypestringHow this wallet behaves, inferred from its trading, not self-declared.
pnl_*floatWindowed PnL in USD. The _ledger variants are ledger-derived rather than mark-to-market.
capacity_used_pctfloatHow much of this wallet’s edge is already absorbed by copiers. High means late.
half_life_daysfloatHow quickly the edge decays. Paired with edge_verdict.
is_botboolAutomated trader. Useful to exclude when looking for discretionary skill.
pnl_sourcestringWhich reconstruction produced the PnL — worth logging when reconciling.

One wallet, in full

GET/v1/wallets/{address}

The dossier: everything computed about a single wallet.

Try it/v1/wallets/0x6011655c4afb76f36dd1b08a137a1ba73466b31e

Kept in this browser only, and reused on every page. Never sent anywhere but the API.

Considerably larger than a list row, and grouped into blocks so you can take only what you need:

BlockContains
identityDisplay name, X handle, archetype, conviction score and rank, copyability
pnlRealized, settle, unrealized, gross, win rate, Sharpe, biggest win and loss
rankingSkill rank and score, tier, Wilson-adjusted win rate, and the component weights behind it
prediction_qualityBrier score, calibration, market-selection skill, entry edge, information and insider scores
behaviorHold time, position size, regularity, burst, risk, drawdown, regime entropy, bot score
fundingWhere the money came from — CEX, bridge and DeFi ratios
networkPageRank, betweenness, cluster score, lead/lag, who they lead and follow
positionsOpen count, value, unrealized PnL, and per-position detail
riskTier and score, concentration (HHI), top-1 share, ulcer index, losing streak, Sortino
edge_half_lifeCapacity used, copier crowding, half-life, verdict, follower delay and correlation
behaviour_driftWhether this wallet is behaving differently now than it used to
ledgerWindowed PnL, max and current drawdown, underwater days, Calmar, 90-day equity curve
activityVolume and trade counts by window, markets and tokens traded
rewardsPolymarket liquidity rewards earned
_linksPaths to the sub-resources below
Query a Safe proxy, not an EOA. Polymarket trades settle through a Safe proxy wallet, and that is the address this API is keyed by. Passing the EOA that signs the transactions returns a 404 or an empty history.

Sub-resources

Each is also listed in the dossier’s _links, so a client can follow rather than construct paths.

GET/v1/wallets/{address}/positions

Open positions. Returns open_count, open_value, open_unrealized_pnl and a positions array.

Try it/v1/wallets/0x6011655c4afb76f36dd1b08a137a1ba73466b31e/positions?limit=2

Kept in this browser only, and reused on every page. Never sent anywhere but the API.

Response
{
  "address": "0x6011...",
  "open_count": 14,
  "open_value": 122840.5,
  "open_unrealized_pnl": 8210.4,
  "positions": [
    {
      "condition_id": "0x1f2c...",
      "asset_id": "7194...",
      "title": "Will X happen by December?",
      "outcome": "Yes",
      "outcome_index": 0,
      "size": 12000.0,
      "avg_price": 0.41,
      "cur_price": 0.53,
      "current_value": 6360.0,
      "initial_value": 4920.0,
      "unrealized_pnl": 1440.0,
      "realized_pnl": 0.0
    }
  ]
}
GET/v1/wallets/{address}/trades

Trade history. Takes limit and offset; the response echoes window_days.

Try it/v1/wallets/0x6011655c4afb76f36dd1b08a137a1ba73466b31e/trades?limit=2

Kept in this browser only, and reused on every page. Never sent anywhere but the API.

Response
{
  "address": "0x6011...",
  "count": 214,
  "limit": 2,
  "offset": 0,
  "window_days": 30,
  "trades": [
    {
      "time": "2026-08-02T11:41:09Z",
      "side": "BUY",
      "outcome": "Yes",
      "size": 2500.0,
      "price": 0.44,
      "usdc_value": 1100.0,
      "title": "Will X happen by December?",
      "slug": "will-x-happen-by-december",
      "event_slug": "x-events-2026",
      "condition_id": "0x1f2c...",
      "asset_id": "7194...",
      "tx_hash": "0xabc..."
    }
  ]
}
GET/v1/wallets/{address}/network

Who this wallet leads and follows, with measured delay and correlation, plus funding flows and any entity cluster it belongs to.

Try it/v1/wallets/0x6011655c4afb76f36dd1b08a137a1ba73466b31e/network?limit=2

Kept in this browser only, and reused on every page. Never sent anywhere but the API.

Response
{
  "address": "0x6011...",
  "leads": [
    { "follower": "0x9a3d...", "avg_delay_sec": 214.0,
      "correlation": 0.62, "co_trades": 41, "score": 0.58 }
  ],
  "follows": [],
  "entity_cluster": null,
  "funding_inflows": [],
  "funding_outflows": []
}
GET/v1/wallets/{address}/pnl-history

The equity curve behind the ledger figures.

Try it/v1/wallets/0x6011655c4afb76f36dd1b08a137a1ba73466b31e/pnl-history

Kept in this browser only, and reused on every page. Never sent anywhere but the API.

Note the hyphen. The dossier’s _links.pnl_history key uses an underscore but the path it points at is /pnl-history — follow the value, not the key name.