Skip to content

Response drift: suibets — matchName renamed to eventName; market titles always use constructed fallback #1209

Description

@realfishsam

Exchange

suibets

Severity

MEDIUM

What Our Normalizer Expects

core/src/exchanges/suibets/normalizer.ts:54 reads raw.matchName for the market title, falling back to a constructed "{homeTeam} vs {awayTeam}" string:

// normalizer.ts:54
title: `${raw.matchName || `${homeTeam} vs ${awayTeam}`} — ...`,

What The Live API Returns

The live GET https://www.suibets.com/api/p2p/offers response does not contain matchName. The event name field is now named eventName:

[].eventName: str   ← present (was: matchName)
[].matchName        ← ABSENT

Endpoint tested: GET https://www.suibets.com/api/p2p/offers

Impact

MEDIUM: raw.matchName is always undefined, so the || fallback always constructs the title from homeTeam and awayTeam. If those fields are also absent or unpopulated, the title degrades further. The actual event name stored in eventName (e.g. "Manchester City vs Arsenal - Premier League") is silently discarded.

Suggested Fix

Update the normalizer to read raw.eventName:

// normalizer.ts:54
title: `${raw.eventName || `${homeTeam} vs ${awayTeam}`} — ...`,

Also update the SuibetsRawOffer interface to rename matchName to eventName.


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