Exchanges¶
dccd supports 7 exchanges. Each adapter declares its
Capability per data type and transport, and the
engine honours them — an unsupported request is rejected early rather than
silently returning wrong or partial data.
Capabilities¶
You pick a data type and an operation — backfill (download history) or stream (collect live). Each cell lists the data types supported for that operation; the notes below qualify the limits.
Exchange |
Backfill (history) |
Stream (live) |
|---|---|---|
Binance |
OHLC · trades · book |
OHLC · trades · book |
Coinbase |
OHLC (300/req) · book · trades (recent) |
trades |
Kraken |
OHLC (720 recent) · trades · book |
OHLC · trades · book |
Bybit |
OHLC · book |
OHLC · trades · book |
OKX |
OHLC · trades · book |
OHLC · trades · book |
Bitfinex |
OHLC · trades · book |
OHLC · trades |
BitMEX |
OHLC (1m/5m/1h/1d) · trades · book |
OHLC · trades · book |
Note
Trades backfill is cursor-paginated — it drains the full requested window, not just the first capped page.
recent means no deep history through the public API; a deeper request is rejected or clamped early, never silently truncated. Bybit spot has no trade history at all.
Order-book backfill captures a single point-in-time snapshot (there is no historical order book); use a stream to record the book over time.
The stream column lists only channels with a real implementation; undeclared channels raise
NoCapability.
OHLC field fidelity¶
Not every exchange returns every OHLC field natively. Missing fields are stored
as null — never fabricated.
Exchange |
|
|
|---|---|---|
Binance |
✅ native |
✅ native |
Bybit / OKX |
✅ native |
— null |
Kraken |
✅ vwap × volume (exact) |
✅ native |
Coinbase / Bitfinex / BitMEX |
— null |
— null |
Per-exchange pages¶
Adding an exchange¶
Add an adapter under dccd/sources/ implementing the relevant Source
protocol mixins and a capabilities() declaration, then register it in
dccd.application.service_factory.build_registry.