Skip to content

docs(odds): document exchange liquidity fields + correct max_bet coverage#244

Merged
Mlaz-code merged 2 commits into
mainfrom
fix/232-liquidity-fields
May 25, 2026
Merged

docs(odds): document exchange liquidity fields + correct max_bet coverage#244
Mlaz-code merged 2 commits into
mainfrom
fix/232-liquidity-fields

Conversation

@paperclip-resolver
Copy link
Copy Markdown
Contributor

Summary

Closes the documentation gap that led Maya to incorrectly tell High Summit Holdings "we don't surface depth/size data" (2026-05-19 Crisp session_e256fef6).

  • Adds 4 new field rows to the /api/v1/odds schema table: volume, volume_24h, open_interest, exchange_token_id. Each lists the books that actually emit it.
  • Corrects the max_bet row from "Currently Pinnacle only" → "Emitted by Pinnacle and SBObet".
  • Adds content/en/concepts/liquidity.mdx enumerating what we surface, what upstream books don't expose, and a recommended coverage-detection pattern. Wired into the concepts sidebar.

Field-emission verification

Field Verified emitters Source
max_bet Pinnacle, SBObet adapters/pinnacle.py:2524, adapters/sbobet.py:932
volume Kalshi adapters/kalshi.py:2152, 2190
volume_24h Polymarket, Kalshi adapters/polymarket.py:1775, adapters/kalshi.py:2153, 2191
open_interest Kalshi adapters/kalshi.py:2154, 2192
exchange_token_id Polymarket, SX Bet adapters/polymarket.py:1777, adapters/sx_bet.py:817

REST serialization confirmed in sharp-api-go/main.go:633-637 (snake_case on the REST struct).

Notes

  • Issue body claimed Novig also emits volume_24h/open_interest — not currently true on the wire (grep -n 'volume=|volume_24h=|open_interest=' adapters/novig.py returns nothing). Documented only what's actually emitted today; if Novig surfaces these later, doc bump is trivial.
  • Docs-only change. Verified via Vercel preview build.

Fixes #232

@Mlaz-code
Copy link
Copy Markdown
Collaborator

auto-rebase: git rebase origin/main on this branch hit conflicts that need manual resolution. Resolver (or whoever owns the branch): please rebase and resolve.

…rage

Adds documentation for the four exchange liquidity signals already emitted
on /api/v1/odds (volume, volume_24h, open_interest, exchange_token_id) and
corrects the max_bet field to mention SBObet alongside Pinnacle. Introduces
a new concepts/liquidity.mdx page that enumerates what we surface, what we
don't, and why — so future customer questions land on a docs page instead
of generating Crisp follow-ups.

Field emission verified against sharp-api-go/main.go (REST struct) and
api-adapters: max_bet from Pinnacle + SBObet; volume + open_interest from
Kalshi; volume_24h from Polymarket + Kalshi; exchange_token_id from
Polymarket + SX Bet.

Fixes #232
@Mlaz-code Mlaz-code force-pushed the fix/232-liquidity-fields branch from 625c06e to f712fcd Compare May 25, 2026 16:15
@paperclip-resolver
Copy link
Copy Markdown
Contributor Author

Rebased onto origin/main (now 0c599b8). Conflict was on content/en/api-reference/odds.mdx — main's PR #240 added max_bet/volume/volume_24h/open_interest/polymarket_resolution rows with different coverage claims than this PR's wire-grep verification. Resolution: kept this PR's verified emitters (Pinnacle+SBObet for max_bet; Kalshi for volume/open_interest; Polymarket+Kalshi for volume_24h) and added back polymarket_resolution (new on main, not touched by this PR). exchange_token_id row preserved. Force-pushed as f712fcd. Now CLEAN.

@Mlaz-code
Copy link
Copy Markdown
Collaborator

auto-rebase: git rebase origin/main on this branch hit conflicts that need manual resolution. Resolver (or whoever owns the branch): please rebase and resolve.

# Conflicts:
#	content/en/api-reference/odds.mdx
#	content/en/concepts/liquidity.mdx
@Mlaz-code Mlaz-code merged commit b287a08 into main May 25, 2026
@Mlaz-code Mlaz-code deleted the fix/232-liquidity-fields branch May 25, 2026 21:26
@Mlaz-code
Copy link
Copy Markdown
Collaborator

Merge gate (auto-classified): gate=fixes-issue — auto-classified by the gate-log enforcer (13min after merge, no Merge gate: audit comment found). Reviewer agent: please correct if wrong by replying with Merge gate: gate=<correct-word> — <evidence>. The audit log keys on the first such token; your correction overrides this auto-classified guess.

Posted by scripts/gate-log-enforcer.py because instruction-level rules about the gate= template aren't binding (0/N adoption); structural enforcement fills the log either way.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document liquidity fields (volume, volume_24h, open_interest, max_bet coverage) on /odds endpoint

1 participant