coinbase-pro: Client for Coinbase Pro

[ finance, library, mit, program, web ] [ Propose Tags ]

Client for Coinbase Pro REST and Websocket APIs


[Skip to Readme]
Versions [faq] 0.5.0.0, 0.6.0.0, 0.7.0.0, 0.7.1.0
Change log changelog.md
Dependencies aeson (>=1.2 && <1.5), aeson-casing (==0.1.*), async (>=2.1 && <2.3), base (>=4.7 && <5), binary (==0.8.*), bytestring (==0.10.*), coinbase-pro, containers (>=0.5 && <0.7), cryptonite (>=0.24 && <0.27), HsOpenSSL (==0.11.*), http-api-data (>=0.3 && <0.5), http-client (==0.5.*), http-client-tls (==0.3.*), http-streams (==0.8.*), http-types (==0.12.*), io-streams (==1.5.*), memory (>=0.14 && <0.16), network (>=2.6 && <2.9), servant (>=0.14 && <0.17), servant-client (>=0.14 && <0.17), servant-client-core (>=0.14 && <0.17), text (==1.2.*), time (==1.8.*), transformers (==0.5.*), unagi-streams (==0.2.*), unordered-containers (==0.2.*), vector (==0.12.*), websockets (==0.12.*), wuss (==1.1.*) [details]
License MIT
Copyright 2019 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/https://github.com/mdunnio/coinbase-pro
Uploaded by mdunnio at Sun Oct 20 22:53:48 UTC 2019
Distributions NixOS:0.7.1.0
Executables test-stream, test-request
Downloads 231 total (50 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2019-10-20 [all 2 reports]

Modules

  • CoinbasePro
    • CoinbasePro.Authenticated
      • CoinbasePro.Authenticated.API
      • CoinbasePro.Authenticated.Accounts
      • CoinbasePro.Authenticated.Fills
      • CoinbasePro.Authenticated.Headers
      • CoinbasePro.Authenticated.Orders
      • CoinbasePro.Authenticated.Request
    • CoinbasePro.Headers
    • MarketData
      • CoinbasePro.MarketData.AggregateOrderBook
      • CoinbasePro.MarketData.FullOrderBook
      • CoinbasePro.MarketData.Types
    • CoinbasePro.Request
    • CoinbasePro.Types
    • CoinbasePro.Unauthenticated
      • CoinbasePro.Unauthenticated.API
    • CoinbasePro.WebSocketFeed
      • CoinbasePro.WebSocketFeed.Channel
        • Full
          • CoinbasePro.WebSocketFeed.Channel.Full.Activate
          • CoinbasePro.WebSocketFeed.Channel.Full.Change
          • CoinbasePro.WebSocketFeed.Channel.Full.Done
          • CoinbasePro.WebSocketFeed.Channel.Full.Match
          • CoinbasePro.WebSocketFeed.Channel.Full.Open
          • CoinbasePro.WebSocketFeed.Channel.Full.Received
        • CoinbasePro.WebSocketFeed.Channel.Heartbeat
        • CoinbasePro.WebSocketFeed.Channel.Level2
        • CoinbasePro.WebSocketFeed.Channel.Ticker
      • CoinbasePro.WebSocketFeed.Request
      • CoinbasePro.WebSocketFeed.Response

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for coinbase-pro-0.7.0.0

[back to package description]

coinbase-pro

Client for Coinabse Pro REST and Websocket APIS.

Here is a list of implemented/unimplemented features:

  • Market Data
    • [x] Products
      • [x] Get Products
      • [x] Get Product Order Book
      • [x] Get Product Ticker
      • [x] Get Trades
      • [x] Get Historic Rates
      • [x] Get 24hr Stats
    • [x] Currencies
      • [x] Get Currencies
    • [x] Time
  • Private
    • [ ] Accounts
      • [x] List Accounts
      • [x] Get An Account
      • [ ] Get Account History
      • [ ] Get Holds
    • [ ] Orders
      • [x] Place a New Order
      • [x] Cancel an Order
      • [x] Cancel all
      • [x] List Orders
      • [ ] Get an Order
    • [x] Fills
      • [x] List Fills
    • [ ] Deposits
      • [ ] Payment Method
      • [ ] Coinbase
    • [ ] Withdrawals
      • [ ] Payment Method
      • [ ] Coinbase
      • [ ] Crypto
    • [ ] Stablecoin Conversions
      • [ ] Create Conversion
    • [ ] Payment Methods
      • [ ] List Payment Methods
    • [x] Fees
      • [x] Get Current Fees
    • [ ] Reports
      • [ ] Create a new report
      • [ ] Get report status
    • [x] User Account
      • [x] Trailing Volume
  • Websocket Feed
    • [x] Channels
      • [x] The heartbeat channel
      • [ ] The status channel
      • [x] The ticker channel
      • [x] The level2 channel
      • [ ] The user channel
      • [x] The matches channel
      • [x] The full channel
  • FIX API
    • [ ] Messages

Request API

Market Data Requests

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

Authenticated Private Requests

runCbAuthT 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]
    forever $ Streams.read msgs >>= print

Example

Example execs can be found in src/example/