Skip to main content
These endpoints power the Trader Details page on 01Resolved. Each one looks up a single Solana wallet with the walletPublicKey query parameter and covers every ownership coin project unless you pass slug where it is supported.
The parameter is walletPublicKey. Using wallet, address, or walletAddress returns a 400 error.
Timestamps on this page are Unix seconds unless shown as ISO 8601 strings.

Keeping holdings current

Holdings and wallet value come from a saved snapshot, not a live read. Every holdings response carries holdingsLastUpdate, and the snapshot only changes when a refresh runs.
  1. Check holdingsLastUpdate in /v1/trading-activity/special-wallet/holdings/overview.
  2. If it is older than you need, call POST /v1/trading-activity/special-wallet/holdings/refresh. It returns a jobId straight away.
  3. Poll /v1/trading-activity/special-wallet/holdings/refresh-status?jobId= until status is completed, then read holdings again.
A full refresh usually finishes within seconds. This is the same action as the Update button on the Trader Details page.
Do not rely on needsRefresh to decide when to refresh. It can read false on a snapshot that is weeks old. Compare holdingsLastUpdate with the current time instead.

GET /v1/trading-activity/special-wallet/overview

Returns the wallet summary shown at the top of the Trader Details page: decision market trading totals, wallet value, wallet age, and snapshot status. Parameters: walletPublicKey (required), slug

GET /v1/trading-activity/special-wallet/holdings/overview

Returns the wallet’s asset allocation: how much of its value sits in ownership coins versus other tokens. Powers the summary cards on the Holdings tab. Parameters: walletPublicKey (required)

GET /v1/trading-activity/special-wallet/holdings

Returns the ownership coins the wallet holds, with value, holder rank, and share of the wallet’s ownership coin basket. Powers the holdings table on the Holdings tab. Parameters: walletPublicKey (required), limit, page, search, sort, order sort accepts value, balance, holderRank, projectName, or basketShare. order accepts ASC or DESC.
Only ownership coins appear in this list. Other tokens are counted in otherValue on holdings/overview.

GET /v1/trading-activity/special-wallet/token-flow-chart

Returns how the wallet’s position in one ownership coin changed over time: tokens acquired, tokens reduced, and net accumulation per period. Opens when you expand a row in the holdings table. Parameters: walletPublicKey (required), tokenAddress (required), interval, days, from, to interval accepts hour, day, week, or month. With no range given, it returns daily points for the last 31 days.

POST /v1/trading-activity/special-wallet/holdings/refresh

Starts a background refresh of the wallet’s balances and ownership coin transfer history. Returns immediately with a job to poll. Body: walletPublicKey (required)
Refreshes can be rate limited per wallet. If the request is refused with 429, or refreshLimited is true on the overview endpoints, wait refreshRetryAfterSeconds before trying again.

POST /v1/trading-activity/special-wallet/holdings/project/refresh

Refreshes the balance and transfer history for one ownership coin only. Faster than a full refresh when you only need one token. Holder rank is not recalculated. Body: walletPublicKey (required), tokenAddress (required, from the holdings list)
Returns a jobId in the same shape as the full refresh. Poll it with refresh-status.

GET /v1/trading-activity/special-wallet/holdings/refresh-status

Returns the progress of a refresh job. Parameters: jobId (required, a UUID from either refresh endpoint)

GET /v1/trading-activity/special-wallet/decision-markets

Returns every proposal the wallet has traded, with its volume, trade count, and whether its trading leaned pass or fail. Powers the Decision Markets tab. Parameters: walletPublicKey (required), slug, limit, page, search, sort, order sort accepts netAlignment, proposalVolumeConc, proposalTradeConc, volume, trades, or lastTradeTime.

GET /v1/trading-activity/special-wallet/proposal-breakdown/overview

Returns the wallet’s activity on one proposal: how much it traded before the TWAP window opened versus during it, and an hourly breakdown. Opens when you expand a proposal on the Decision Markets tab. Parameters: walletPublicKey (required), proposalPublicKey (required), window window accepts preTwap or twapWindow.

GET /v1/trading-activity/special-wallet/proposal-breakdown/trades

Returns the wallet’s individual trades on one proposal. Parameters: walletPublicKey (required), proposalPublicKey (required), window, marketType, direction, limit, page, sort, order marketType accepts pass or fail. direction accepts buy or sell. window accepts preTwap or twapWindow.
Note the field is timeStamp here, with a capital S.

GET /v1/trading-activity/special-wallet

Returns every decision market trade the wallet has placed, across all projects. Parameters:

GET /v1/trading-activity/special-wallet/ico-participation/overview

Returns the wallet’s totals across every ownership coin ICO it took part in. Powers the summary cards on the ICO Participation tab. Parameters: walletPublicKey (required)

GET /v1/trading-activity/special-wallet/ico-participation

Returns each ICO the wallet took part in, with its contribution, refund, and token allocation. Powers the table on the ICO Participation tab. Parameters: walletPublicKey (required), limit, page, search, sort, order sort accepts contribution, projectName, or allocation.