Skip to content

Response drift: gemini-titan — raw.liquidity absent from live events response #795

@realfishsam

Description

@realfishsam

Exchange

gemini-titan

Severity

MEDIUM

What Our Normalizer Expects

core/src/exchanges/gemini-titan/normalizer.ts:261 accesses raw.liquidity with a string fallback:

// normalizer.ts ~line 261
liquidity: parseFloat(raw.liquidity || '0'),

What The Live API Returns

The live events response contains volume: str and volume24h: str but no liquidity field:

data[].volume: str
data[].volume24h: str
// data[].liquidity — absent

Endpoint tested: GET https://api.gemini.com/v1/prediction-markets/events?limit=2&status=active

Impact

MEDIUM: The || '0' fallback prevents a crash, but all Gemini Titan events/markets will report liquidity: 0 regardless of actual liquidity. This degrades market ranking, filtering by liquidity, and any liquidity-based UI indicators.

Suggested Fix

Map raw.volume to liquidity as a proxy until Gemini Titan exposes a dedicated liquidity field, or remove the liquidity field from Gemini Titan's unified output if the venue doesn't expose it:

liquidity: parseFloat(raw.liquidity || raw.volume || '0'),

Found by automated response shape drift audit

Metadata

Metadata

Assignees

No one assigned

    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