Gap
Smarkets's spec defines a bulk cancel-all-orders operation (optionally filtered by market_id), but SmarketsExchange only wires the singular cancel_order — there's no bulk-cancel method in core, so neither SDK can expose it. This is the same gap pattern already filed for other venues (#1135 Polymarket cancelAllOrders/cancelMarketOrders, #1237 Limitless cancelOrderBatch), but has never been filed for Smarkets, and issue #1246 (which covers Smarkets's account/activity/market-data gaps) does not include it.
Core
core/src/exchanges/smarkets/api.ts:7873 — cancel_orders operationId, DELETE /v3/orders/, summary "Cancel all orders", accepts optional market_id filter.
core/src/exchanges/smarkets/index.ts:343-348 — only wires the singular cancel_order via fetcher.ts; confirmed via full read of fetcher.ts/index.ts that no bulk-cancel method exists, and normalizer.ts has no related normalization logic.
TypeScript SDK
Missing — no corresponding method on the Smarkets class in sdks/typescript/pmxt/client.ts.
Python SDK
Missing — no corresponding method on the Smarkets class in sdks/python/pmxt/_exchanges.py.
Evidence
core/src/exchanges/smarkets/api.ts:7873 defines cancel_orders; full read of index.ts/fetcher.ts confirms only cancel_order (singular) is ever called.
Impact
Users must cancel Smarkets orders one at a time through pmxt, even though the venue supports bulk cancellation (optionally scoped to a single market) — a meaningfully slower and more error-prone workflow when clearing many open orders.
Found by automated Core-to-SDK surface coverage audit
Gap
Smarkets's spec defines a bulk cancel-all-orders operation (optionally filtered by
market_id), butSmarketsExchangeonly wires the singularcancel_order— there's no bulk-cancel method in core, so neither SDK can expose it. This is the same gap pattern already filed for other venues (#1135 PolymarketcancelAllOrders/cancelMarketOrders, #1237 LimitlesscancelOrderBatch), but has never been filed for Smarkets, and issue #1246 (which covers Smarkets's account/activity/market-data gaps) does not include it.Core
core/src/exchanges/smarkets/api.ts:7873—cancel_ordersoperationId,DELETE /v3/orders/, summary "Cancel all orders", accepts optionalmarket_idfilter.core/src/exchanges/smarkets/index.ts:343-348— only wires the singularcancel_orderviafetcher.ts; confirmed via full read offetcher.ts/index.tsthat no bulk-cancel method exists, andnormalizer.tshas no related normalization logic.TypeScript SDK
Missing — no corresponding method on the
Smarketsclass insdks/typescript/pmxt/client.ts.Python SDK
Missing — no corresponding method on the
Smarketsclass insdks/python/pmxt/_exchanges.py.Evidence
core/src/exchanges/smarkets/api.ts:7873definescancel_orders; full read ofindex.ts/fetcher.tsconfirms onlycancel_order(singular) is ever called.Impact
Users must cancel Smarkets orders one at a time through pmxt, even though the venue supports bulk cancellation (optionally scoped to a single market) — a meaningfully slower and more error-prone workflow when clearing many open orders.
Found by automated Core-to-SDK surface coverage audit