
The activity feed, rolled up to a one-hour window. Expanding a row charts the market's price around the fill.
Columns
The identifier columns are what make the log enriched:
marketId, eventId, tagIds and seriesId come resolved on every row, so you can group or filter by market, event or category without a second lookup.
Two ways to read it
The log
By default the endpoint returns one row per fill, newest first.The summary
PassaggregationWindow to roll fills up into time buckets. Rows are grouped by bucket, activity type, wallet and position — one row per wallet’s buying (or selling) of one position within one window.
Measures are aggregated the way each one means something:
amount, usdAmount and realizedPnl are summed, while usdPrice and avgBuyingPrice are share-weighted averages — not plain averages, so a large fill counts more than a small one. marketId, eventId, tagIds and seriesId carry through as representative values for the group.Selecting activity types
activityIds restricts the log to buys or sells. Activity type isn’t part of filter — it’s selected here.
Filtering and search
Filter on wallet, market, event, category, position, timestamp, and the numeric measures — see Filtering for the syntax.searchKey runs a free-text search over markets, combining semantic and keyword relevance, so you can find activity by what a market is about rather than by id.
API endpoint
Activity
POST /api/v1/activity: chronological log of buys and sells, or a bucketed summary.