packages feed

coinbase-pro-0.7.0.0: README.md

# 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

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

### Authenticated Private Requests

```haskell
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:


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

## Example

Example execs can be found in `src/example/`