Skip to content

GeminiTitanExchangeOptions.sandbox missing from both SDK GeminiTitan constructors #856

@realfishsam

Description

@realfishsam

Gap

GeminiTitanExchange in core accepts a sandbox: boolean option to route requests to Gemini Titan's sandbox environment. Neither SDK exposes this option in the GeminiTitan constructor, forcing all SDK calls to the production environment.

Core

core/src/exchanges/gemini-titan/index.ts:39

export interface GeminiTitanExchangeOptions {
    credentials?: ExchangeCredentials;
    sandbox?: boolean;
}

core/src/exchanges/gemini-titan/index.ts:45

constructor(credentials?: ExchangeCredentials | GeminiTitanExchangeOptions)

TypeScript SDK

sdks/typescript/pmxt/client.ts:2803

class GeminiTitan extends Exchange {
    constructor(options?: ExchangeOptions) { super("gemini-titan", options); }
}

ExchangeOptions has no sandbox field.

Python SDK

sdks/python/pmxt/_exchanges.py:435

class GeminiTitan(Exchange):
    def __init__(
        self,
        api_key: Optional[str] = None,
        api_secret: Optional[str] = None,
        base_url: Optional[str] = None,
        auto_start_server: Optional[bool] = None,
        pmxt_api_key: Optional[str] = None,
    ): ...

No sandbox parameter.

Evidence

GeminiTitanExchangeOptions.sandbox is defined in gemini-titan/index.ts:39. When true, it switches the exchange to use Gemini's sandbox API endpoints.

Impact

Developers integrating with Gemini Titan cannot use the sandbox environment via the SDK. All trading operations (order creation, cancellation) go to production, making safe end-to-end testing impossible through the SDK.


Found by automated Core-to-SDK surface coverage audit

Metadata

Metadata

Assignees

No one assigned

    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