Skip to content

bennycode/coinbase-pro-node

Repository files navigation

Unofficial Coinbase Pro API

Unofficial Coinbase Pro API written in TypeScript and covered by tests.

Features

  • Typed. Source code is 100% TypeScript. No need to install external typings.
  • Tested. Code coverage is at 100%. No surprises when using.
  • Robust. WebSocket reconnection is built-in. No problems if your Wi-Fi is gone.
  • Easy-to-use. HTTP requests are easy to customize. HMAC signing and JSON formatting included.

Installation

npm install coinbase-pro-node

or:

yarn add coinbase-pro-node

Usage

Node.js setup

const {CoinbasePro} = require('coinbase-pro-node');

// API Keys can be generated here:
// https://pro.coinbase.com/profile/api
const auth = {
  apiKey: '',
  apiSecret: '',
  passphrase: '',
};
const client = new CoinbasePro(auth);

REST Example

Query accounts

const tradingAccounts = await client.rest.account.listAccounts();
const message = `You can trade "${tradingAccounts.length}" different pairs.`;
console.log(message);

WebSocket Example

Event registration

client.on(WebSocketClient.TOPIC.ON_MESSAGE, event => {
  console.log(`Received event of type "${event.type}".`);
});

await client.ws.connect();

client.ws.subscribeToTickers(['BTC-USD', 'ETH-EUR']);

Resources

Contributing

Contributions, issues and feature requests are welcome!

Feel free to check issues page.

Maintainers

Benny Neugebauer on Stack Exchange

License

This project is MIT licensed.

Show your support

Give a ⭐️ if this project helped you!