Bifrost Integration Chat — 2026-07-28 (Tuesday)
Logged from Bhargav's relay in a working session — not a verbatim channel capture. Context: three staging bets on soccer sportsbook market
14.7521162_3(Match 1X2) declined with asyncBetSnapshoterrorCode: 2036,errorMessage: "Price index must not be null".
Bhargav (to Bifrost team)
The swagger API does not list
priceIndexin PlaceBetRequest's required fields, yet runtime validation returns 2036 when it's missing. Can you share updated docs?
Bifrost team (paraphrased)
It's only required for provider
14.*.
Implications recorded
priceIndexis mandatory at runtime for14.*(sportsbook) markets despite the swagger (docs/bifrost/swagger/betting-api-v1.json) omitting it fromPlaceBetRequest.requiredandBIFROST_BETTING_API.mdpreviously marking it "required: no". Swagger↔runtime drift on Bifrost's side; updated docs requested — follow-up outstanding, not yet received.- Not stated as required for
9.*(fancy) or1.*(exchange). Hannibal has always sentpriceIndex(defaulted to 0) on every Bifrost placement in prod without rejection, so continuing to always send it is safe and prod-proven. - proto3 wire note: Bifrost's market-book serializer omits
priceIndexwhen it equals 0 (top-of-book, the common case), so consumers must decode absence as index 0 — see the 2026-07-28 staging incident (orders06ee68ee,9baa6613,a6935987, the first placements through the prepared-placement path introduced in Hannibal PR #1063, which had removed the?? 0decode default).