Skip to content

Upgrade coinbase xchange and stream projects to new advanced trade api#5255

Open
TheCookieLab wants to merge 103 commits intoknowm:developfrom
TheCookieLab:upgrade/coinbase-advanced-trade-v3
Open

Upgrade coinbase xchange and stream projects to new advanced trade api#5255
TheCookieLab wants to merge 103 commits intoknowm:developfrom
TheCookieLab:upgrade/coinbase-advanced-trade-v3

Conversation

@TheCookieLab
Copy link

Coinbase changed their auth token requirements which rendered the current v2 APIs inoperable. As it currently stands support for the Coinbase exchange - both REST and streaming - is broken. This PR updates auth token generation logic and implements complete advanced trade (v3) api support restoring full Coinbase exchange support.

  • Deprecated/removed defunct v1, v2 client code but for back-ported new auth token usage to the remaining v2 apis that are still relevant.

  • Implemented full coinbase streaming support based off new advanced trade api / authentication

  • Updated xchange-examples with relevant Coinbase REST and streaming examples

  • Updated AuthUtils key resolution (check for secrets in environment variables via host sanitization key generation) with updated tests, and aligned module versions/dependencies for the new Coinbase stack. Fully backwards compatible.

  • Left CoinbasePro* projects alone, probably should be deprecated or removed.

TheCookieLab and others added 30 commits April 28, 2025 17:46
David Pang and others added 30 commits November 5, 2025 17:14
…cheduler after disconnects. Update tests to verify scheduler usability and JWT refresh functionality post-reconnect, ensuring robust handling of connection cycles.
…eService to enhance thread safety and prevent race conditions. Replace Long with AtomicLong for lastSequence in market data service, ensuring safe concurrent access. Introduce processedTerminalOrders set in trade service to prevent duplicate emissions for terminal orders. Update tests to validate these changes and ensure correct handling of terminal order statuses.
…adeServiceTest to include timestamp verification for candle data and streamline test utility classes. Remove redundant StubStreamingService implementation from both test files, enhancing code clarity and maintainability.
…o handle different scales consistently. Introduce a method to normalize prices, ensuring that identical values with varying scales are treated as the same key in order books. Update tests to validate the normalization functionality and confirm correct behavior during snapshot processing and updates.
…o allow for more flexible version management.
…nal methods. Added comprehensive Javadoc comments for CoinbaseAccountServiceRaw and CoinbaseMarketDataServiceRaw, including constructors and transaction summary retrieval methods. Removed unused import in CoinbaseTradeServiceRaw.
… checks and expanded functionality. Added API key permissions inspection, portfolio management, and order preview capabilities in trade operations. Updated market data examples to utilize public endpoints and streaming services for improved data access.
…Added methods to resolve host and sanitize it for environment variable naming. Enhanced key retrieval logic to improve authentication flexibility.
…I keys. Added checks for the availability of secret keys and refined assertions to validate effective API key retrieval. Introduced a method to assume the presence of secret keys on the classpath or disk.
…owing users to connect to market data and user order data WebSocket endpoints. Update examples to demonstrate usage of new methods and clarify WebSocket endpoint configurations in documentation. Remove sandbox connectivity tests as WebSocket connections do not support sandbox environments.
…nd no longer aligns with current documentation practices.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant