coinbase-pro: Client for Coinbase Pro

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Client for Coinbase Pro REST and Websocket APIs


[Skip to Readme]

Properties

Versions 0.5.0.0, 0.6.0.0, 0.7.0.0, 0.7.1.0, 0.7.2.0, 0.8.0.0, 0.9.0.0, 0.9.1.0, 0.9.2.0, 0.9.2.2, 0.9.3.0, 0.9.3.0, 0.9.3.1, 0.9.3.2
Change log changelog.md
Dependencies aeson (>=1.2 && <1.6), aeson-casing (>=0.1 && <0.3), async (>=2.1 && <2.3), base (>=4.7 && <5), binary (>=0.8 && <0.9), bytestring (>=0.10 && <0.11), coinbase-pro, containers (>=0.5 && <0.7), cryptonite (>=0.24 && <0.30), exceptions (>=0.4 && <1.0), HsOpenSSL (>=0.11 && <0.12), http-api-data (>=0.3 && <0.5), http-client (>=0.5 && <0.7), http-client-tls (>=0.3 && <0.4), http-streams (>=0.8 && <0.9), http-types (>=0.12 && <0.13), io-streams (>=1.5 && <1.6), memory (>=0.14 && <0.16), network (>=2.6 && <3.2), servant (>=0.14 && <0.19), servant-client (>=0.14 && <0.19), servant-client-core (>=0.14 && <0.19), tasty (>=1.2.2), tasty-hunit (>=0.10), text (>=1.2 && <1.3), time (>=1.8 && <2.0), transformers (>=0.5 && <0.6), unagi-streams (>=0.2 && <0.3), unordered-containers (>=0.2 && <0.3), uuid (>=1.3 && <1.4), vector (>=0.12 && <0.13), websockets (>=0.12 && <0.13), wuss (>=1.1 && <1.2) [details]
License MIT
Copyright 2021 Michael Dunn <michaelsdunn1@gmail.com>
Author Michael Dunn <michaelsdunn1@gmail.com>
Maintainer Michael Dunn <michaelsdunn1@gmail.com>
Category Web, Finance
Home page https://github.com/mdunnio/coinbase-pro#readme
Bug tracker https://github.com/mdunnio/coinbase-pro/issues
Source repo head: git clone https://github.com/mdunnio/coinbase-pro
Uploaded by mdunnio at 2021-08-29T05:39:24Z

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for coinbase-pro-0.9.3.0

[back to package description]

coinbase-pro

Client for Coinbase Pro REST and Websocket APIs.

Here is a list of implemented/unimplemented features:

Request API

Market Data Requests

run Sandbox (trades (ProductId "BTC-USD")) >>= print

Authenticated Private Requests

runDefCbAuthT Sandbox cpc $ do
    fills (Just btcusd) Nothing >>= liftIO . print
  where
    accessKey  = CBAccessKey "<access-key>"
    secretKey  = CBSecretKey "<secret-key>"
    passphrase = CBAccessPassphrase "<passphrase>"
    cpc        = CoinbaseProCredentials accessKey secretKey passphrase

Websocket API

To print out all of the full order book updates for BTC-USD:

main :: IO ()
main = do
    msgs <- subscribeToFeed [ProductId "BTC-USD"] [Ticker] Nothing
    forever $ Streams.read msgs >>= print

Example

Example execs can be found in src/example/

Run Example

To run any of the authenticated endpoints in test-request, the access key, secret key, and passphrase must be provided. See Authenticated Private Requests above.