Gap
HyperliquidExchange in core accepts a testnet: boolean option to point the exchange at Hyperliquid's testnet rather than mainnet. Neither SDK exposes this option in the Hyperliquid constructor, making testnet usage impossible through the SDK.
Core
core/src/exchanges/hyperliquid/index.ts:42
export interface HyperliquidExchangeOptions {
credentials?: ExchangeCredentials;
testnet?: boolean;
}
core/src/exchanges/hyperliquid/index.ts:48
constructor(credentials?: ExchangeCredentials | HyperliquidExchangeOptions)
TypeScript SDK
sdks/typescript/pmxt/client.ts:2818
class Hyperliquid extends Exchange {
constructor(options?: ExchangeOptions) { super("hyperliquid", options); }
}
ExchangeOptions has no testnet field.
Python SDK
sdks/python/pmxt/_exchanges.py:404
class Hyperliquid(Exchange):
def __init__(
self,
api_key: Optional[str] = None,
private_key: Optional[str] = None,
base_url: Optional[str] = None,
auto_start_server: Optional[bool] = None,
pmxt_api_key: Optional[str] = None,
): ...
No testnet parameter.
Evidence
HyperliquidExchangeOptions.testnet is defined in hyperliquid/index.ts:42 and routes all exchange calls to Hyperliquid's testnet endpoints when true.
Impact
Developers cannot test Hyperliquid integrations against the testnet via the SDK. All SDK Hyperliquid calls are permanently routed to mainnet. Integration testing that requires real order lifecycle (create/cancel) must use mainnet or bypass the SDK entirely.
Found by automated Core-to-SDK surface coverage audit
Gap
HyperliquidExchangein core accepts atestnet: booleanoption to point the exchange at Hyperliquid's testnet rather than mainnet. Neither SDK exposes this option in theHyperliquidconstructor, making testnet usage impossible through the SDK.Core
core/src/exchanges/hyperliquid/index.ts:42core/src/exchanges/hyperliquid/index.ts:48TypeScript SDK
sdks/typescript/pmxt/client.ts:2818ExchangeOptionshas notestnetfield.Python SDK
sdks/python/pmxt/_exchanges.py:404No
testnetparameter.Evidence
HyperliquidExchangeOptions.testnetis defined inhyperliquid/index.ts:42and routes all exchange calls to Hyperliquid's testnet endpoints whentrue.Impact
Developers cannot test Hyperliquid integrations against the testnet via the SDK. All SDK Hyperliquid calls are permanently routed to mainnet. Integration testing that requires real order lifecycle (create/cancel) must use mainnet or bypass the SDK entirely.
Found by automated Core-to-SDK surface coverage audit