Skip to content

Fix Coinbase public market data auth#1116

Open
DeepCogNeural wants to merge 2 commits into
bmoscon:masterfrom
DeepCogNeural:codex/coinbase-public-market-data-no-auth
Open

Fix Coinbase public market data auth#1116
DeepCogNeural wants to merge 2 commits into
bmoscon:masterfrom
DeepCogNeural:codex/coinbase-public-market-data-no-auth

Conversation

@DeepCogNeural

@DeepCogNeural DeepCogNeural commented Jun 18, 2026

Copy link
Copy Markdown

Summary

  • load Coinbase symbols from the public /market/products endpoint so public symbol lookup no longer requires Coinbase API keys
  • avoid adding Coinbase websocket signing fields when no API keys are configured, while preserving the signed branch when keys are present
  • subscribe to and ignore the documented public heartbeats channel

Fixes #1114.

Tests

  • .venv313/bin/python -m pytest tests/unit/test_coinbase.py -q (4 passed)
  • git diff --check

Manual checks

  • reproduced the pre-fix no-key Coinbase.symbols(config={}, refresh=True) failure as a credential ValueError
  • reproduced the pre-fix no-key subscribe() path entering Coinbase signing and failing on missing key_secret
  • verified with a mocked public products response that Coinbase.symbols(config={}, refresh=True) reads /api/v3/brokerage/market/products with headers=None
  • verified with a recording connection that no-key public subscriptions send unsigned market_trades and heartbeats payloads
  • verified with a keyed config that subscription payloads still include api_key, timestamp, and signature

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.

Coinbase: API keys required for public market data (symbols() raises, subscribe() signs unconditionally)

1 participant