Events

Replay public large-trade events

Changed on

Returns durable public large-trade events strictly after an opaque cursor, in commit order: events are ordered by the position at which their write became visible to every reader (whale_alerts.inserted_xid), then by whale_alerts.id, and a page never reaches past the oldest write transaction still open when it was read. A trade whose id is lower than one already delivered but whose write finished later is therefore delivered on a later request instead of being skipped (#16180). This is a separate API-key contract from the browser/session /api/events/feed stream: browser-only and private alert, following, radar, and position patch events are excluded until they have a durable public outbox.

get/api/v1/events/feed/since

Request

Query parameters

cursorstring

Opaque event replay cursor returned as next_cursor by a prior response. The cursor maps to the global (whale_alerts.inserted_xid, whale_alerts.id) commit-order position, is valid across backend replicas, and is bound to the filter set the walk ran with (trader, condition_id, min_grade, min_size): presenting it under different filters answers 400 bad_request with error.reason cursor_expired, and the walk restarts without a cursor. Cursors issued before 2026-09-22 (id-only) stay accepted and are bound to no filters. Omit to fetch the latest durable public suffix.

limitinteger

Maximum durable public whale-trade events to return.

traderstring

Only this wallet's trades: a wallet address, trd_-prefixed trader id or username resolved against the traders table. Bound to the cursor: a cursor issued under other filters answers 400 with error.reason cursor_expired. An unknown trader matches nothing and the walk still advances.

condition_idstring

Only trades on this market: the raw provider condition_id or its mkt_-prefixed id. Bound to the cursor.

min_grade'S' | 'A' | 'B' | 'C' | 'D' | 'F'

Only trades by wallets at this grade or better (S best), read from the wallet's newest ranking at request time; a wallet with no grade never passes. Bound to the cursor.

min_sizenumber

Only trades of at least this size in USD (compared in cents). Bound to the cursor.

expandstring[]

Repeatable. trade adds the public trade read to every event (the object GET /api/v1/whale-trades/{id} returns for it), from one query per page, so a page of 100 events needs no per-event detail request. Not bound to the cursor: switch it on or off mid-walk.

Headers

X-Query-Validation'strict'

Opt into strict query-name validation. The default is compatible: unknown names are ignored and reported in X-Query-Ignored. With strict, an unknown name returns 400 bad_request with error.reason unknown_query_parameter before the handler runs, including when its percent escape is incomplete.

Response

Public event replay window

object'event_replay' required
has_moreboolean required
next_cursorstring required

Changes

    • warning

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

    • warning

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

    • warning

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

    • warning

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

    • warning

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

    • warning

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

    • warning

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

    • warning

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      response property data/items/trade/oneOf[LargeTrade]/recorded_signal_score deprecated

    • info

      response property data/items/trade/oneOf[LargeTrade]/signal_score deprecated

    • info

      added the required property /////// to the response with the status

    • info

      added the required property /////// to the response with the status