# DpExchangeCore v0.1.8 - Table of Contents

> EXPERIMENTAL — Shared contract for the DpExchange family of exchange adapters: behaviours, value types, canonical-pair normalisation and a conformance suite.

## Pages

- [DpExchangeCore](readme.md)
- [Changelog](changelog.md)

- Usage rules
  - [Using dp_exchange_core](usage-rules.md)
  - [Implementing a venue package](adapter.md)
  - [Symbols and the round-trip invariant](symbols.md)
  - [Feeds, subscriptions and notices](feeds.md)
  - [Testing, fakes and isolation](testing.md)

- Guides
  - [Building a venue package](building-an-exchange-package.md)

## Modules

- [DpExchange](DpExchange.md): The **DpExchange** family: one identical facade over every trading venue.
- [DpExchange.Core.AdapterContract](DpExchange.Core.AdapterContract.md): The conformance suite every venue package runs in its own CI.
- [DpExchange.Core.CanonicalPair](DpExchange.Core.CanonicalPair.md): The **generic, venue-agnostic** symbol normaliser.
- [DpExchange.Core.Capabilities](DpExchange.Core.Capabilities.md): A venue's capability declaration — the return of `c:DpExchange.Core.Venue.capabilities/0`,
and the thing a consumer branches on instead of on venue identity.
- [DpExchange.Core.Config](DpExchange.Core.Config.md): Resolves a configurable seam, per process rather than per node.
- [DpExchange.Core.DataProvider](DpExchange.Core.DataProvider.md): Behavior defining the interface for cryptocurrency exchange data providers.
- [DpExchange.Core.DefaultRateLimiter](DpExchange.Core.DefaultRateLimiter.md): An in-process rate limiter, and the default implementation of
`DpExchange.Core.RateLimitBehaviour`.
- [DpExchange.Core.FeedBehaviour](DpExchange.Core.FeedBehaviour.md): A venue's price feed: symbols in, price events out. How is the venue's business.
- [DpExchange.Core.HttpClient](DpExchange.Core.HttpClient.md): The shared HTTP request pipeline: rate limiting, retry, logging, error shaping and
the generic authentication schemes.
- [DpExchange.Core.Instrument](DpExchange.Core.Instrument.md): One listing as the VENUE describes it: canonical symbol, base, quote,
instrument type and trading status.
- [DpExchange.Core.Notice](DpExchange.Core.Notice.md): What a venue package says about **itself** — distinct from what a venue says about the
market, and never carrying market data.
- [DpExchange.Core.PollingFeed](DpExchange.Core.PollingFeed.md): A feed built from repeated fetches, for a venue package to use INSIDE its own feed.
- [DpExchange.Core.RateLimitBehaviour](DpExchange.Core.RateLimitBehaviour.md): Behaviour for the rate-limit token-bucket implementation that every
exchange adapter calls before making an API request.
- [DpExchange.Core.SymbolNormalizer](DpExchange.Core.SymbolNormalizer.md): The **symbol-normalisation contract** every venue package must satisfy.
- [DpExchange.Core.Telemetry](DpExchange.Core.Telemetry.md): Standardised `:telemetry` event names that every venue package emits. A consumer
attaches to these names without coupling to any particular venue's implementation —
which is what makes one metrics dashboard work across the whole family.
- [DpExchange.Core.Timeframe](DpExchange.Core.Timeframe.md): The canonical timeframe vocabulary: a string label, its width in seconds, and
the boundary every real candle of that width sits on.
- [DpExchange.Core.Types.Balance](DpExchange.Core.Types.Balance.md): Normalised balance entry, returned by every venue package.
- [DpExchange.Core.Types.Fill](DpExchange.Core.Types.Fill.md): Normalised order fill — a partial or complete execution of the caller's own order.
- [DpExchange.Core.Types.Order](DpExchange.Core.Types.Order.md): Normalised order, returned by every venue package.
- [DpExchange.Core.Types.OrderBook](DpExchange.Core.Types.OrderBook.md): Normalised order book snapshot, returned by every venue package.
- [DpExchange.Core.Types.Quote](DpExchange.Core.Types.Quote.md): Normalised price quote, returned by every venue package.
- [DpExchange.Core.Types.Trade](DpExchange.Core.Types.Trade.md): Normalised public trade — anyone's order match, from the venue's trade tape.
- [DpExchange.Core.Venue](DpExchange.Core.Venue.md): **The facade. The single module a consumer touches, identical on every venue.**

