Trade endpoints (markets.getTrades, trader.getTraderTrades) return a single discriminated union covering every on-chain event type the API surfaces. The discriminant field is trade_type.
Convenience unions
The SDK exports a few sub-unions for common filtering patterns:
Individual variants
Each trade_type also ships as its own exported schema, which is handy when you want a precise param type without switching:
Oracle lifecycle events are exported under *Event names: QuestionInitializedEvent, AssertionMadeEvent, AssertionDisputedEvent, AssertionSettledEvent, QuestionResolvedEvent, ConditionResolutionEvent, QuestionResetEvent, QuestionFlaggedEvent, QuestionUnflaggedEvent, QuestionPausedEvent, QuestionUnpausedEvent, QuestionEmergencyResolvedEvent, and NegRiskOutcomeReportedEvent.
Filtering server-side
Most trade endpoints accept a trade_types query parameter. Pass a comma-separated list to avoid filtering client-side:
The same filter is available on the polymarket_trades websocket room. See WebSockets. Last modified on May 9, 2026