Default margin Pyth mode per network — the deployment each network's margin package can
actually be called against today.
Both are 'legacy': the upgraded margin surface is on deepbookv3 main but neither
network has been upgraded to a package that carries it, and neither network's upgraded
Pyth deployment yet serves every feed its MarginRegistry has configured (checked
2026-08-11 — mainnet is missing XBTC; testnet has none of its four configured feeds,
since upgraded testnet Core carries mainnet-style feed ids while the registry is
configured with Pyth's beta ids). oracle::read_price_upgraded asserts the object's
feed id equals the registry's configured id, so a call in 'upgraded' mode against a
feed with no upgraded object aborts EPriceFeedIdMismatch.
Flip a network here once its margin package is upgraded, its gate version is enabled,
and every coin it prices has a fresh priceInfoObjectIdUpgraded below. Consumers can
flip ahead of a release with new DeepBookClient({ marginPyth: 'upgraded', ... }).
Default margin Pyth mode per network — the deployment each network's margin package can actually be called against today.
Both are
'legacy': the upgraded margin surface is ondeepbookv3main but neither network has been upgraded to a package that carries it, and neither network's upgraded Pyth deployment yet serves every feed itsMarginRegistryhas configured (checked 2026-08-11 — mainnet is missing XBTC; testnet has none of its four configured feeds, since upgraded testnet Core carries mainnet-style feed ids while the registry is configured with Pyth's beta ids).oracle::read_price_upgradedasserts the object's feed id equals the registry's configured id, so a call in'upgraded'mode against a feed with no upgraded object abortsEPriceFeedIdMismatch.Flip a network here once its margin package is upgraded, its gate version is enabled, and every coin it prices has a fresh
priceInfoObjectIdUpgradedbelow. Consumers can flip ahead of a release withnew DeepBookClient({ marginPyth: 'upgraded', ... }).