Skip to content

Limitless.watchUserTransactions() is in core and Python SDK but missing from TypeScript SDK #661

@realfishsam

Description

@realfishsam

Gap

LimitlessExchange exposes watchUserTransactions(callback) — a WebSocket method that streams real-time authenticated user transaction events. The Python SDK base Exchange class exposes watch_user_transactions. The TypeScript SDK does not expose this method anywhere.

Core

File: core/src/exchanges/limitless/index.ts line 512

watchUserTransactions(callback: (tx: any) => void): void

Subscribes to the Limitless user-transaction WebSocket feed. Requires authentication (API key). The callback receives transaction payloads (fills, settlements, etc.) as they occur.

TypeScript SDK

Missing — the Limitless subclass in sdks/typescript/pmxt/client.ts (lines 2576–2580) is a thin wrapper with no watchUserTransactions method. The base Exchange class also has no watchUserTransactions. Searching the entire sdks/typescript/ tree for watchUserTransactions returns zero results.

Python SDK

Present — watch_user_transactions(callback?) is defined on the base Exchange class in sdks/python/pmxt/client.py at line 2195. It constructs POST /api/{exchange}/watchUserTransactions, sends credentials, and returns the raw transaction payload dict.

Evidence

grep -rn "watchUserTransactions\|watch_user_transactions" sdks/typescript/ returns zero results.
grep -n "watch_user_transactions" sdks/python/pmxt/client.py returns line 2195 (method definition).
grep -n "watchUserTransactions" core/src/exchanges/limitless/index.ts returns line 512.
The sidecar accepts POST /api/limitless/watchUserTransactions via dynamic dispatch since the method exists on the exchange instance.

Impact

TypeScript SDK users building Limitless trade-confirmation flows, P&L trackers, or on-chain receipt loggers cannot subscribe to real-time transaction events. They must poll order and trade history endpoints instead, which introduces latency and additional API calls. Python users have a fully typed watch_user_transactions. This is an asymmetric TypeScript-only gap.


Found by automated Core-to-SDK surface coverage audit

Metadata

Metadata

Assignees

No one assigned

    Labels

    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