Coinbase Pro API for Node.js, written in TypeScript and covered by tests.
This project was created to continue an active Coinbase Pro API after Coinbase deprecated the official Node.js library on January, 16 2020. The official predecessor was also deprecated on July, 19th 2016.
Advantages over the official counterpart:
- Alive. Not archived and ready-only. Pull Requests are welcome!
- Typed. Source code is 100% TypeScript. No need to install external typings.
- Tested. Code coverage is at 100%. No surprises when using it.
- 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 is already included.
npm
npm install coinbase-pro-node
Yarn
yarn add coinbase-pro-node
Node.js setup
const {CoinbasePro} = require('coinbase-pro-node');
// API Keys can be generated here:
// https://pro.coinbase.com/profile/api
// https://public.sandbox.pro.coinbase.com/profile/api
const auth = {
apiKey: '',
apiSecret: '',
passphrase: '',
useSandbox: true,
};
const client = new CoinbasePro(auth);
Query accounts
const tradingAccounts = await client.rest.account.listAccounts();
const message = `You can trade "${tradingAccounts.length}" different pairs.`;
console.log(message);
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']);
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
The following commits will help you getting started quickly with the code base:
This project is MIT licensed.
Give a ⭐️ if this project helped you!