https://github.com/alexander-hagen/node-api-coinbase
Non-official implementation of Coinbase's API's. Developed for personal use.
https://github.com/alexander-hagen/node-api-coinbase
api-rest coinbase javascript nodejs websocket
Last synced: 4 months ago
JSON representation
Non-official implementation of Coinbase's API's. Developed for personal use.
- Host: GitHub
- URL: https://github.com/alexander-hagen/node-api-coinbase
- Owner: alexander-hagen
- License: mit
- Created: 2023-08-24T06:01:36.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2026-02-01T07:24:43.000Z (5 months ago)
- Last Synced: 2026-02-01T18:07:25.671Z (5 months ago)
- Topics: api-rest, coinbase, javascript, nodejs, websocket
- Language: JavaScript
- Homepage:
- Size: 928 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# node-api-coinbase
   
Non-official implementation of Coinbase's Advanced Trade API's. Developed for personal use.
For support on using the API's or development issues, please refer to the official API documentation. For questions regarding this package, please consult the code first.
## __PUBLIC API__
| API | DESCRIPTION |
| :---- | :---- |
| getMarketTrades | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/public/get-public-market-trades |
| getProduct | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/public/get-public-product |
| getProductBook | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/public/get-public-product-book |
| getProductCandles | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/public/get-public-product-candles |
| getServerTime | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/public/get-server-time |
| listProducts | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/public/list-public-products |
## __PRIVATE API__
** Supports ECDSA Signature Algorithm only **
```javascript
const coinbase=require('node-api-coinbase');
const auth = {
apikey: 'MY_API_KEY',
secret: 'MY_API_SECRET'
};
const privateAPI=new coinbase.privateApi(auth);
```
### Accounts
| API | DESCRIPTION |
| :---- | :---- |
| getAccount | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/accounts/get-account |
| listAccounts | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/accounts/list-accounts |
### Convert
| API | DESCRIPTION |
| :---- | :---- |
| commitConvertTrade | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/convert/commit-convert-trade |
| createConvertTrade | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/convert/create-convert-quote |
| getConvertTrade | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/convert/get-convert-trade |
### Data API
| API | DESCRIPTION |
| :---- | :---- |
| getAPIKeyPermissions | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/data-api/get-api-key-permissions |
### Fees
| API | DESCRIPTION |
| :---- | :---- |
| getTransactionSummary | https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_gettransactionsummary |
### Futures
| API | DESCRIPTION |
| :---- | :---- |
| cancelPendingFuturesSweep | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/futures/cancel-pending-futures-sweep |
| getCurrentMarginWindow | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/futures/get-current-margin-window |
| getFururesBalanceSummary | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/futures/get-futures-balance-summary |
| getFuturesPosition | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/futures/get-futures-position |
| getIntradayMarginSettings | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/futures/get-intraday-margin-setting |
| listFuturesPositions | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/futures/list-futures-positions |
| listFuturesSweeps | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/futures/list-futures-sweeps |
| scheduleFuturesSweep | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/futures/schedule-futures-sweep |
| setIntradayMarginSettings | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/futures/set-intraday-margin-settings |
### Orders
| API | DESCRIPTION |
| :---- | :---- |
| cancelOrders | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/orders/cancel-order |
| closePosition | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/orders/close-position |
| createOrder | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/orders/create-order |
| editOrder | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/orders/edit-order |
| editOrderPreview | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/orders/edit-order-preview |
| getOrder | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/orders/get-order |
| listFills | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/orders/list-fills |
| listOrders | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/orders/list-orders |
| previewOrder | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/orders/preview-orders |
### Payment Methods
| API | DESCRIPTION |
| :---- | :---- |
| listPaymentMethods | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/payment-methods/get-payment-method |
| getPaymentMethod | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/payment-methods/list-payment-methods |
### Perpetuals
| API | DESCRIPTION |
| :---- | :---- |
| allocatePortfolio | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/perpetuals/allocate-portfolio |
| getPerpetualsPortfolioSummary | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/perpetuals/get-perpetuals-portfolio-summary |
| getPerpetualsPosition | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/perpetuals/get-perpetuals-position |
| getPortfoliosBalances | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/perpetuals/get-portfolio-balances |
| listPerpetualsPositions | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/perpetuals/list-perpetuals-positions |
| optMultiAssetCollateral | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/perpetuals/opt-in-or-out |
### Portfolios
| API | DESCRIPTION |
| :---- | :---- |
| createPortfolio | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/portfolios/create-portfolio |
| deletePortfolio | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/portfolios/delete-portfolio |
| editPortfolio | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/portfolios/edit-portfolio |
| getPortfolioBreakdown | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/portfolios/get-portfolio-breakdown |
| listPortfolios | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/portfolios/list-portfolios |
| movePortfolioFunds | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/portfolios/move-portfolios-funds |
### Products
| API | DESCRIPTION |
| :---- | :---- |
| getBest | https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/products/get-best-bid-ask |
| getMarketTrades | Not implemented. Use public API instead |
| getProduct | Not implemented. Use public API instead |
| getProductBook | Not implemented. Use public API instead |
| getProductCandles | Not implemented. Use public API instead |
| getServerTime | Not implemented. Use public API instead |
| listProducts | Not implemented. Use public API instead |
### API
| API | DESCRIPTION |
| :---- | :---- |
| getAPIPermissions | https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getapikeypermissions |
## __WEBSOCKET API__
```javascript
const coinbase=require('node-api-coinbase');
const auth = {
apikey: 'MY_API_KEY',
secret: 'MY_API_SECRET'
};
const
userAPI=new coinbase.sockets.userApi(auth),
marketAPI=new coinbase.sockets.marketApi();
userAPI.setHandler('user.snapshot', (method,data,symbol,option) => { updateOrder(method,data.orders,user,api,handler); });
userAPI.setHandler('user.update', (method,data,symbol,option) => { updateOrder(method,data.orders,user,api,handler); });
userAPI.socket._ws.on('authenticated', async () => {
await tradingAPI.subscribeUser(['ETH-BTC','BTC-USDT']);
});
userAPI.socket._ws.on('closed', async () => {
// do something, like clean-up and reconnect
});
function updateOrder(symbol,method,data) {
// do something
};
```
### Public WebSocket feeds
| API | HANDLER | DESCRIPTION |
| :---- | :---- | :---- |
| subscribeHeartbeats unsubscribeHeartbeats | heartbeats | https://docs.cdp.coinbase.com/coinbase-app/advanced-trade-apis/websocket/websocket-channels#heartbeats-channel |
| subscribeCandles unsubscribeCandles | candles.snapshot *.update | https://docs.cdp.coinbase.com/coinbase-app/advanced-trade-apis/websocket/websocket-channels#candles-channel |
| subscribeStatus unsubscribeStatus | status.snapshot *.update | https://docs.cdp.coinbase.com/coinbase-app/advanced-trade-apis/websocket/websocket-channels#ticker-channel |
| subscribeTickerBatch unsubscribeTickerBatch | ticker_batch.snapshot *.update | https://docs.cdp.coinbase.com/coinbase-app/advanced-trade-apis/websocket/websocket-channels#ticker-batch-channel |
| subscribeLevel2 unsubscribeLevel2 | l2_data.snapshot *.update | https://docs.cdp.coinbase.com/coinbase-app/advanced-trade-apis/websocket/websocket-channels#level2-channel |
| subscribeMarketTrades unsubscribeMarketTrades | market_trades.snapshot *.update | https://docs.cdp.coinbase.com/coinbase-app/advanced-trade-apis/websocket/websocket-channels#market-trades-channel |
### Private WebSocket feeds
| API | HANDLER | DESCRIPTION |
| :---- | :---- | :---- |
| subscribeUser unsubscribeUser | user.snapshot *.update | https://docs.cdp.coinbase.com/coinbase-app/advanced-trade-apis/websocket/websocket-channels#user-channel |
| subscribeFutures unsubscribeFutures | futures_balance_summary.snapshot *.update | https://docs.cdp.coinbase.com/coinbase-app/advanced-trade-apis/websocket/websocket-channels#futures-balance-summary-channel |