Open alpha one person vibe coding

Source

Query Manifold Markets with SQL

The Manifold prediction-market corpus, queryable with read-only SQL: markets as observation-append state rows, bets each with the market probability before and after it, and comments with the commenter’s position at comment time.

Surface

  • Canonicalmanifold.markets
  • CoverageLive. New bets are indexed within seconds to minutes and new markets and comments within minutes; a backfill cursor closes gaps behind the live head. Public Manifold v0 API; source-native market, bet, and comment records.
  • Extentcreated_at_source 2021-12-17 to 2026-09-19
  • Lag15 min since the newest indexed row, measured when this page rendered.

Query surfaces

  • manifold.markets
  • manifold.bets
  • manifold.comments

Uses

A market’s observed price path comes from manifold.bets, since every bet has prob_before and prob_after; trader-level activity and market-moving bets aggregate the same rows by user or amount. manifold.comments attaches each commenter’s position at comment time, so discussion and exposure read from one row.

Fields

  • market_id
  • search_key
  • source
  • external_type
  • kind
  • entity_id
  • slug
  • uri
  • title
  • payload
  • text_description
  • creator_id
  • creator_username
  • creator_name
  • creator_avatar_url
  • close_time
  • created_at_source
  • updated_at_source
  • last_bet_at
  • last_comment_at
  • resolution_time
  • outcome_type
  • mechanism
  • visibility
  • is_resolved
  • probability
  • pool
  • p
  • volume
  • volume_24h
  • total_liquidity
  • unique_bettor_count
  • resolution
  • raw_market
  • metadata
  • blake3_hash
  • word_count
  • is_deleted
  • first_observed_on
  • observed_on
  • observed_hour
  • observed_at

Read from the schema registry for manifold.markets, 42 columns, last verified 2026-09-19 10:31 UTC. Every relation's full contract is served by /v1/scry/schema.

Queries

Most-traded open markets, latest state

Collapse observation-append state rows to the latest per market, then rank open markets by volume.

SELECT market_id, title, probability, volume, unique_bettor_count
FROM (
  SELECT * FROM manifold.markets
  ORDER BY observed_at DESC
  LIMIT 1 BY market_id
)
WHERE is_resolved = 0
ORDER BY volume DESC
LIMIT 20;

A market's probability path, bet by bet

Every bet has the market probability before and after it — the observed price path of a question.

SELECT created_at_source, prob_before, prob_after, amount, outcome
FROM manifold.bets
WHERE contract_id = '<market-id>'
  AND prob_before != prob_after
ORDER BY created_at_source
LIMIT 1000;

Gaps

  • HolesNone declared on the live schema entry for manifold.markets (a declared hole records a curation choice; completeness is measured separately).
  • Notemanifold.markets is observation-append: take the latest state per market with ORDER BY observed_at DESC LIMIT 1 BY market_id before aggregating
  • Notemanifold.bets orders by bet_id only: scope contract_id or a created_at_source window before scanning the relation
  • Noteis_redemption marks share redemptions from 2024-07-04 22:15 UTC on and is null on every earlier bet, so is_redemption = 0 drops them all; prob_before != prob_after keeps the price-moving bets of any era

Related proof pages