Skip to content

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

@Mlaz-code

Description

@Mlaz-code

Summary

The /api/v1/odds response surfaces several liquidity-adjacent fields that are either undocumented or under-documented. A customer (High Summit Holdings, mid-trial-evaluation) asked about liquidity coverage today and Maya answered "we don't surface depth/size data" — which is wrong on three counts.

What's actually surfaced (verified in sharp-api-go/main.go:525-528 and :568-570)

Both JSON shapes carry these fields:

Field Type Source Documented today?
volume float Exchanges (Polymarket, Kalshi, Novig) ❌ no
volume24h / volume_24h float Exchanges ❌ no
openInterest / open_interest float Exchanges ❌ no
max_bet float Pinnacle, SBObet (per adapters/pinnacle.py:2524 + adapters/sbobet.py:913) ⚠️ partial — docs say "Pinnacle only" but SBObet also writes it
exchange_token_id string Exchanges ❌ no

These are real liquidity signals — volume_24h + open_interest for exchanges is exactly the "depth of book" proxy that pre-match trading clients ask about; max_bet is the per-line wager ceiling. Customers are flying blind on coverage decisions because the docs imply liquidity isn't available at all.

What's NOT surfaced (correctly absent)

  • Bid/ask order book depth (no traditional sportsbook exposes this in their public APIs)
  • Pre-bet limit checks via API
  • Real-time book-side suspension reasons (we emit odds:removed deltas but not the cause)

Action requested

  1. Document volume, volume_24h, open_interest, exchange_token_id on /api/v1/odds field table (content/en/api-reference/odds.mdx). Note which books emit each.
  2. Correct the max_bet line to mention SBObet alongside Pinnacle (currently says "Pinnacle only").
  3. Add a Liquidity & Limits section to concepts/ explaining what we DO and DO NOT surface, so future customer questions land on a docs page instead of generating Crisp follow-ups. Reference from /api/v1/odds field table.

Related customer touchpoint

  • 2026-05-19 High Summit Holdings Crisp session_e256fef6 — answered (incorrectly) that we don't surface liquidity. Follow-up correction sent.

Acceptance

  • docs.sharpapi.io/api-reference/odds shows the 4 exchange liquidity fields and the corrected max_bet description.
  • A concepts/liquidity.mdx page exists explaining the boundary between what we surface and what upstream books don't expose.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions