Packages
dp_exchange_coinbase
0.1.28
0.2.15
0.2.14
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.1.31
0.1.30
0.1.29
0.1.28
0.1.27
0.1.26
0.1.25
0.1.24
0.1.23
0.1.22
0.1.21
0.1.20
0.1.19
0.1.18
0.1.17
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
EXPERIMENTAL — Coinbase venue package for the DpExchange family. Market data, trading and streaming behind the shared DpExchange.Core.Venue facade.
Current section
Files
Jump to
Current section
Files
dp_exchange_coinbase
README.md
README.md
# DpExchangeCoinbase
> ## ⚠️ EXPERIMENTAL — read this before depending on it
>
> This package has **never run in production.** It is published early and openly so it
> can be used and reported on, not because it is finished.
>
> - **The API may change without a major version.** Pin three-part (`~> 0.1.0`).
> - **Verification is uneven, and the gaps are on the expensive side.** The conformance
> suite passes against a fake, and against Coinbase's live public endpoints.
> **Order placement and authenticated flows are thinly covered.** No test in this repo
> spends money.
> - **Maturity is declared per endpoint.** Read `capabilities/0`, not this banner.
>
> [Report a divergence](https://github.com/DistortionPoint/dp-exchange-coinbase/issues).
Coinbase for the **DpExchange** family: market data, trading and streaming behind the
same facade every venue in the family exposes.
## What this package covers
87 callbacks, of which **48 are declared `:experimental`** and 39 `:unsupported`. None is `:proven` — that requires a consumer trading live, and this package has never run in production (D15).
Asset classes: **crypto**. Streamed kinds: **quotes, order book** — everything else pulls only.
Of the 39 unsupported endpoints, **37 are the venue's own absence**, not this package's backlog — see `venue_does_not_serve/0` and `docs/reference/coinbase/negative-claims.md`, which records the source and date behind every one.
## Installation
```elixir
def deps do
[
{:dp_exchange_coinbase, "~> 0.1.0"}
]
end
```
## Usage
```elixir
# In your supervision tree. Nothing starts itself.
children = [{DpExchange.Coinbase, credentials: my_credentials()}]
{:ok, quote} = DpExchange.Coinbase.get_price("BTC-USD", [])
:ok = DpExchange.Coinbase.subscribe(["BTC-USD"], to: self())
```
`DpExchange.Coinbase` is the **entire public API**. Everything else — transport, signing,
session handling, supervision — is internal, and the conformance suite asserts it.
See [`dp_exchange_core`](https://hex.pm/packages/dp_exchange_core) for the contract, and
this package's `usage-rules.md` for what is specific to Coinbase.
## License
MIT. See [LICENSE](https://github.com/DistortionPoint/dp-exchange-coinbase/blob/main/LICENSE).