Skip to main content

Signal feed

The Signals tab in the Markets terminal shows a dedicated feed of all markets where the AI has found a meaningful divergence from the current price. Unlike the AI Pick badges on market cards (which are just indicators), the signal feed shows full signal data with rich filtering.

Signal card anatomy

Each SignalFeedCard displays:

Card animations

  • Dealt layout: Cards cascade from the top with spring physics (stagger delay per card)
  • Grid layout: Cards fade in with scale-up animation
  • Hover: Card lifts with shadow enhancement

Filters

The signal feed has independent filters at the top:

Signal type filter

Category filter

Dropdown with all available market categories. Filters signals to only show markets in the selected category.

Info modal

A ”?” button that opens an explanatory modal describing each signal type in detail.

Sorting

Pagination

The signal feed uses cursor-based infinite pagination:
  • Page size: 50 signals per page
  • Cursor format: {confidence}:{condition_id} for stable ordering
  • More signals load as you scroll near the bottom
  • Total signal count displayed at the top

Data pipeline

The signal feed has its own data pipeline:
  1. API: GET /api/signals/feed with query params for all filters
  2. Server: Queries market_signals table, joins with market_catalog for enrichment
  3. Caching: 2-minute server-side cache on the feed (skipped for cursor requests), 5-minute cache on total count
  4. Post-filtering: Tags (OR match), keyword search, date range, minimum volume, sentiment, trending status are all applied after the initial query
  5. Hook: useSignalFeed manages the infinite query state, parses results, memoizes for performance
  6. Enrichment: Each signal is enriched with live prices from the SSE price pool

Signal data model

Each signal contains: The feed API enriches each signal with live market data: question, category, live YES/NO prices (from SSE), volume, 24h volume, liquidity, and end date.
The most profitable setup: sort by Confidence, filter to 70+, and cross-reference with the War Room in the detail panel. High confidence + high agent agreement + large edge = the trifecta. Most traders find 2-3 actionable signals per day using this filter.