---
title: "Coinbase JavaScript & TypeScript SDK for Node.js | Siebly"
description: "Coinbase JavaScript SDK by Siebly with TypeScript-first REST and WebSocket clients, Node.js runtime guidance, examples, endpoint references, and release links."
canonical: "https://siebly.io/sdk/coinbase/javascript"
---

# Coinbase JavaScript SDK

Build with the Coinbase REST API and WebSockets using the JavaScript SDK, TypeScript-first declarations, and Node.js-compatible runtime patterns.

Use the same TypeScript-first REST API and WebSocket clients from plain JavaScript or TypeScript in Node.js-compatible runtimes.

## Install

```shell
# Via your favourite package manager, e.g. npm:
npm install coinbase-api
# or pnpm:
pnpm install coinbase-api
# or yarn:
yarn add coinbase-api
```

- [npm: coinbase-api](https://www.npmjs.com/package/coinbase-api)
- [GitHub repository](https://github.com/tiagosiebler/coinbase-api)
- [README](https://github.com/tiagosiebler/coinbase-api#readme)
- [Coinbase examples](/examples/Coinbase)

## Coverage

- Coinbase Advanced Trade API
- Coinbase App API
- Coinbase Exchange API
- Coinbase International Exchange API
- Coinbase Prime API
- Coinbase Commerce API
- Spot
- Futures
- WebSockets
- Framework-neutral JavaScript snippets that stay approachable in Node.js-compatible runtimes.
- TypeScript-first package declarations for stricter services, shared libraries, and editor-assisted integrations.

## Integration Profile

**REST API:** Use the Coinbase SDK for account, portfolio, order, market data, and systematic trading workflows across the Coinbase APIs supported by the package.

**WebSockets:** Use WebSocket clients for Coinbase market data and account event streaming where the package exposes matching stream helpers.

**Reliability:** Keep portfolio/account identifiers, API key scopes, and environment separation explicit; monitor order state transitions and retry idempotent workflows carefully.

## Quickstart

Get started with just a few lines of JavaScript. TypeScript, while not required, is absolutely recommended. TypeScript declarations are included with all our SDKs and provide convenient definitions on request & response fields, WebSocket payloads, and generally safer integrations.

### REST API

Easily start calling Coinbase Advanced Trade private REST APIs in JavaScript.

- Install the Coinbase JavaScript SDK via NPM: `npm install coinbase-api`.
- Import the CBAdvancedTradeClient class (REST API wrapper for Coinbase Advanced Trade APIs).
- Create an authenticated client with your API credentials.
- Call REST API methods as functions and await the promise containing the response.

This example uses `CBAdvancedTradeClient`, which wraps Coinbase's Advanced Trade REST API. The SDK also includes dedicated REST clients for other Coinbase API groups:

- `CBAdvancedTradeClient` - Coinbase Advanced Trade API
- `CBAppClient` - Coinbase App API
- `CBExchangeClient` - Coinbase Exchange API
- `CBInternationalClient` - Coinbase International Exchange API
- `CBPrimeClient` - Coinbase Prime API
- `CBCommerceClient` - Coinbase Commerce API

In this example, we:

- Create an authenticated Advanced Trade REST client.
- Submit a limit spot buy order for `BTC-USDT`.
- Submit a market spot sell order for `BTC-USDT`.
- Generate unique `client_order_id` values using the SDK helper.

The client supports both Coinbase key types (ED25519 and ECDSA), and automatically handles signing based on the credentials provided.

For a full map of available REST API methods, check out the endpoint reference below.

```typescript
import { CBAdvancedTradeClient } from 'coinbase-api';

// initialise the client
/**
 *
 * You can add both ED25519 and ECDSA keys, client will recognize both types of keys
 *
 * ECDSA:
 *
 * {
 *   apiKey: 'organizations/your_org_id/apiKeys/your_api_key_id',
 *   apiSecret:
 *     '-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIPT/TTZPxw0kDGvpuCENJp9A4/2INAt9/QKKfyidTWM8oAoGCCqGSM49\nAwEHoUQDQgAEd+cnxrKl536ly5eYBi+8dvXt1MJXYRo+/v38h9HrFKVGBRndU9DY\npV357xIfqeJEzb/MBuk3EW8cG9RTrYBwjg==\n-----END EC PRIVATE KEY-----\n',
 * }
 *
 * ED25519:
 * {
 *   apiKey: 'your-api-key-id',
 *   apiSecret: 'yourExampleApiSecretEd25519Version==',
 * }
 *
 *
 */
const client = new CBAdvancedTradeClient({
  apiKey: process.env.API_KEY_NAME || 'insert_api_key_here',
  apiSecret: process.env.API_PRIVATE_KEY || 'insert_api_secret_here',
});

async function submitOrder() {
  try {
    // submit market spot order
    const newOrder = await client.submitOrder({
      product_id: 'BTC-USDT',
      order_configuration: { market_market_ioc: { base_size: '0.001' } },
      side: 'SELL',
      client_order_id: client.generateNewOrderId(),
    });
    console.log('Result: ', newOrder);
  } catch (e) {
    console.error('Send new order error: ', e);
  }

  //
}

async function submitLimitOrder() {
  try {
    // Submit limit spot order
    const limitOrder = await client.submitOrder({
      product_id: 'BTC-USDT',
      order_configuration: {
        limit_limit_gtc: {
          base_size: '0.001',
          limit_price: '50000.00',
        },
      },
      side: 'BUY',
      client_order_id: client.generateNewOrderId(),
    });
    console.log('Limit Order Result: ', limitOrder);
  } catch (e) {
    console.error('Submit limit order error: ', e);
  }
}

submitLimitOrder();

submitOrder();
```

[View the source example](https://github.com/sieblyio/crypto-api-examples/blob/master/examples/Coinbase/AdvancedTrade/Private/submitOrderSpot.ts)

### WebSocket Streams

Connecting to Coinbase Advanced Trade private WebSocket streams is straightforward with the WebsocketClient.

- Install the Coinbase JavaScript SDK via NPM: `npm install coinbase-api`.
- Import the WebsocketClient and create an authenticated instance with your API credentials.
- Configure event handlers for key events such as `open`, `update`, `response`, `reconnect`, `reconnected`, `close`, and `exception`.
- Subscribe to private Advanced Trade user-data topics on the `advTradeUserData` connection key.

In this example, we:

- Subscribe to `futures_balance_summary`.
- Subscribe to the `user` channel for account-level private updates.
- Demonstrate topic subscription using both simple strings and a structured `WsTopicRequest` object.

This example focuses on the Advanced Trade private group (`advTradeUserData`). The same `WebsocketClient` also supports:

- Advanced Trade public market data via `advTradeMarketData` (for topics such as heartbeats, ticker, level2, candles, and trades).
- Other Coinbase websocket groups used by the SDK (including institutional websocket examples in this repository).
- `WS_KEY_MAP` as a helper enum for choosing valid websocket connection keys.

Built-in websocket behavior includes automatic connection management per wsKey, reconnect handling, and automatic resubscribe of tracked topics after reconnect.

Any subscriptions sent on `advTradeUserData` are automatically authenticated when API credentials are available, making it easy to receive real-time private account updates.

```typescript
import {
  // DefaultLogger,
  WebsocketClient,
  // WS_KEY_MAP,
  WsTopicRequest,
} from 'coinbase-api';

async function start() {
  // key name & private key, as returned by coinbase when creating your API keys.
  // Note: the below example is a dummy key and won't actually work

  // Optional: fully customise the logging experience by injecting a custom logger
  // const logger: typeof DefaultLogger = {
  //   ...DefaultLogger,
  //   trace: (...params) => {
  //     if (
  //       [
  //         'Sending ping',
  //         'Sending upstream ws message: ',
  //         'Received pong, clearing pong timer',
  //         'Received ping, sending pong frame',
  //       ].includes(params[0])
  //     ) {
  //       return;
  //     }
  //     console.log('trace', params);
  //   },
  // };

  const client = new WebsocketClient(
    {
      // Either pass the full JSON object that can be downloaded when creating your API keys
      // cdpApiKey: advancedTradeCdpAPIKey,

      // initialise the client
      /**
       *
       * You can add both ED25519 and ECDSA keys, client will recognize both types of keys
       *
       * ECDSA:
       *
       * {
       *   apiKey: 'organizations/your_org_id/apiKeys/your_api_key_id',
       *   apiSecret:
       *     '-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIPT/TTZPxw0kDGvpuCENJp9A4/2INAt9/QKKfyidTWM8oAoGCCqGSM49\nAwEHoUQDQgAEd+cnxrKl536ly5eYBi+8dvXt1MJXYRo+/v38h9HrFKVGBRndU9DY\npV357xIfqeJEzb/MBuk3EW8cG9RTrYBwjg==\n-----END EC PRIVATE KEY-----\n',
       * }
       *
       * ED25519:
       * {
       *   apiKey: 'your-api-key-id',
       *   apiSecret: 'yourExampleApiSecretEd25519Version==',
       * }
       *
       *
       */
      apiKey: process.env.API_KEY_NAME || 'insert_api_key_here',
      apiSecret: process.env.API_PRIVATE_KEY || 'insert_api_secret_here',
    },
    // logger,
  );

  client.on('open', (data) => {
    console.log('open: ', data?.wsKey);
  });

  // Data received
  client.on('update', (data) => {
    console.info(new Date(), 'data received: ', JSON.stringify(data));
  });

  // Something happened, attempting to reconnect
  client.on('reconnect', (data) => {
    console.log('reconnect: ', data);
  });

  // Reconnect successful
  client.on('reconnected', (data) => {
    console.log('reconnected: ', data);
  });

  // Connection closed. If unexpected, expect reconnect -> reconnected.
  client.on('close', (data) => {
    console.error('close: ', data);
  });

  // Reply to a request, e.g. "subscribe"/"unsubscribe"/"authenticate"
  client.on('response', (data) => {
    console.info('response: ', JSON.stringify(data, null, 2));
    // throw new Error('res?');
  });

  client.on('exception', (data) => {
    console.error('exception: ', data);
  });

  try {
    /**
     * Use the client subscribe(topic, market) pattern to subscribe to any websocket topic.
     *
     * You can subscribe to topics one at a time or many in one request.
     *
     * Topics can be sent as simple strings, if no parameters are required.
     *
     * Any subscribe requests on the "advTradeUserData" market are automatically authenticated with the available credentials
     */
    // client.subscribe('heartbeats', 'advTradeUserData');
    client.subscribe('futures_balance_summary', 'advTradeUserData');
    // This is the same as above, but uses WS_KEY_MAP as an enum (do this if you're not sure what value to put)
    // client.subscribe('futures_balance_summary', WS_KEY_MAP.advTradeUserData);

    // Subscribe to the user feed for the advanced trade websocket
    client.subscribe('user', 'advTradeUserData');

    // /**
    //  * Or, as an array of simple strings.
    //  *
    //  * Any requests sent to the "advTradeUserData" wsKey are
    //  * automatically authenticated, if API keys are available:
    //  */
    // client.subscribe(
    //   ['futures_balance_summary', 'user'],
    //   'advTradeUserData',
    // );

    /**
     * Or send a more structured object with parameters, e.g. if parameters are required
     */
    // eslint-disable-next-line @typescript-eslint/no-unused-vars
    const tickerSubscribeRequest: WsTopicRequest = {
      topic: 'futures_balance_summary',
      /**
       * Anything in the payload will be merged into the subscribe "request",
       * allowing you to send misc parameters supported by the exchange (such as `product_ids: string[]`)
       */
      payload: {
        // In this case, the "futures_balance_summary" channel doesn't support any parameters
        // product_ids: ['ETH-USD', 'BTC-USD'],
      },
    };
    client.subscribe(tickerSubscribeRequest, 'advTradeUserData');
  } catch (e) {
    console.error('Subscribe exception: ', e);
  }
}

start();
```

[View the source example](https://github.com/sieblyio/crypto-api-examples/blob/master/examples/Coinbase/AdvancedTrade/WebSockets/privateWs.ts)

## Endpoint Reference

[View the endpoint map source](https://github.com/tiagosiebler/coinbase-api/blob/master/docs/endpointFunctionList.md)

### Endpoint maps

<p align="center">
  <a href="https://www.npmjs.com/package/coinbase-api">
    <picture>
      <source media="(prefers-color-scheme: dark)" srcset="https://github.com/tiagosiebler/coinbase-api/blob/master/docs/images/logoDarkMode2.svg?raw=true#gh-dark-mode-only">
      <img alt="SDK Logo" src="https://github.com/tiagosiebler/coinbase-api/blob/master/docs/images/logoBrightMode2.svg?raw=true#gh-light-mode-only">
    </picture>
  </a>
</p>

Each REST client is a JavaScript class, which provides functions individually mapped to each endpoint available in the exchange's API offering.

The following table shows all methods available in each REST client, whether the method requires authentication (automatically handled if API keys are provided), as well as the exact endpoint each method is connected to.

This can be used to easily find which method to call, once you have [found which endpoint you're looking to use](https://github.com/tiagosiebler/awesome-crypto-examples/wiki/How-to-find-SDK-functions-that-match-API-docs-endpoint).

All REST clients are in the [src](https://github.com/tiagosiebler/coinbase-api/tree/master/src) folder. For usage examples, make sure to check the [examples](https://github.com/tiagosiebler/coinbase-api/tree/master/examples) folder.

List of clients:

- [CBAdvancedTradeClient](#cbadvancedtradeclientts)
- [CBAppClient](#cbappclientts)
- [CBExchangeClient](#cbexchangeclientts)
- [CBInternationalClient](#cbinternationalclientts)
- [CBPrimeClient](#cbprimeclientts)
- [CBCommerceClient](#cbcommerceclientts)

If anything is missing or wrong, please open an issue or let us know in our [Node.js Traders](https://t.me/nodetraders) telegram group!

#### How to use table

Table consists of 4 parts:

- Function name
- AUTH
- HTTP Method
- Endpoint

**Function name** is the name of the function that can be called through the SDK. Check examples folder in the repo for more help on how to use them!

**AUTH** is a boolean value that indicates if the function requires authentication - which means you need to pass your API key and secret to the SDK.

**HTTP Method** shows HTTP method that the function uses to call the endpoint. Sometimes endpoints can have same URL, but different HTTP method so you can use this column to differentiate between them.

**Endpoint** is the URL that the function uses to call the endpoint. Best way to find exact function you need for the endpoint is to search for URL in this table and find corresponding function name.

### CBAdvancedTradeClient.ts

This table includes all endpoints from the official Exchange API docs and corresponding SDK functions for each endpoint that are found in [CBAdvancedTradeClient.ts](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts).

| Function                                                                                                                      | AUTH | HTTP Method | Endpoint                                                     |
| ----------------------------------------------------------------------------------------------------------------------------- | :--: | :---------: | ------------------------------------------------------------ |
| [getAccounts()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L149)                   |  🔐  |     GET     | `/api/v3/brokerage/accounts`                                 |
| [getAccount()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L163)                    |  🔐  |     GET     | `/api/v3/brokerage/accounts/{account_id}`                    |
| [getBestBidAsk()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L180)                 |  🔐  |     GET     | `/api/v3/brokerage/best_bid_ask`                             |
| [getProductBook()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L191)                |  🔐  |     GET     | `/api/v3/brokerage/product_book`                             |
| [getProducts()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L205)                   |  🔐  |     GET     | `/api/v3/brokerage/products`                                 |
| [getProduct()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L217)                    |  🔐  |     GET     | `/api/v3/brokerage/products/{product_id}`                    |
| [getProductCandles()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L233)             |  🔐  |     GET     | `/api/v3/brokerage/products/{product_id}/candles`            |
| [getMarketTrades()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L248)               |  🔐  |     GET     | `/api/v3/brokerage/products/{product_id}/ticker`             |
| [submitOrder()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L270)                   |  🔐  |     POST    | `/api/v3/brokerage/orders`                                   |
| [cancelOrders()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L287)                  |  🔐  |     POST    | `/api/v3/brokerage/orders/batch_cancel`                      |
| [updateOrder()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L304)                   |  🔐  |     POST    | `/api/v3/brokerage/orders/edit`                              |
| [updateOrderPreview()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L318)            |  🔐  |     POST    | `/api/v3/brokerage/orders/edit_preview`                      |
| [getOrders()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L336)                     |  🔐  |     GET     | `/api/v3/brokerage/orders/historical/batch`                  |
| [getFills()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L351)                      |  🔐  |     GET     | `/api/v3/brokerage/orders/historical/fills`                  |
| [getOrder()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L363)                      |  🔐  |     GET     | `/api/v3/brokerage/orders/historical/{order_id}`             |
| [previewOrder()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L381)                  |  🔐  |     POST    | `/api/v3/brokerage/orders/preview`                           |
| [closePosition()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L395)                 |  🔐  |     POST    | `/api/v3/brokerage/orders/close_position`                    |
| [getPortfolios()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L415)                 |  🔐  |     GET     | `/api/v3/brokerage/portfolios`                               |
| [createPortfolio()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L428)               |  🔐  |     POST    | `/api/v3/brokerage/portfolios`                               |
| [movePortfolioFunds()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L441)            |  🔐  |     POST    | `/api/v3/brokerage/portfolios/move_funds`                    |
| [getPortfolioBreakdown()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L455)         |  🔐  |     GET     | `/api/v3/brokerage/portfolios/{portfolio_uuid}`              |
| [deletePortfolio()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L471)               |  🔐  |    DELETE   | `/api/v3/brokerage/portfolios/{portfolio_uuid}`              |
| [updatePortfolio()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L482)               |  🔐  |     PUT     | `/api/v3/brokerage/portfolios/{portfolio_uuid}`              |
| [getFuturesBalanceSummary()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L513)      |  🔐  |     GET     | `/api/v3/brokerage/cfm/balance_summary`                      |
| [getIntradayMarginSetting()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L524)      |  🔐  |     GET     | `/api/v3/brokerage/cfm/intraday/margin_setting`              |
| [setIntradayMarginSetting()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L538)      |  🔐  |     POST    | `/api/v3/brokerage/cfm/intraday/margin_setting`              |
| [getCurrentMarginWindow()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L554)        |  🔐  |     GET     | `/api/v3/brokerage/cfm/intraday/current_margin_window`       |
| [getFuturesPositions()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L571)           |  🔐  |     GET     | `/api/v3/brokerage/cfm/positions`                            |
| [getFuturesPosition()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L580)            |  🔐  |     GET     | `/api/v3/brokerage/cfm/positions/{product_id}`               |
| [scheduleFuturesSweep()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L600)          |  🔐  |     POST    | `/api/v3/brokerage/cfm/sweeps/schedule`                      |
| [getFuturesSweeps()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L618)              |  🔐  |     GET     | `/api/v3/brokerage/cfm/sweeps`                               |
| [cancelPendingFuturesSweep()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L627)     |  🔐  |    DELETE   | `/api/v3/brokerage/cfm/sweeps`                               |
| [allocatePortfolio()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L643)             |  🔐  |     POST    | `/api/v3/brokerage/intx/allocate`                            |
| [getPerpetualsPortfolioSummary()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L654) |  🔐  |     GET     | `/api/v3/brokerage/intx/portfolio/{portfolio_uuid}`          |
| [getPerpetualsPositions()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L668)        |  🔐  |     GET     | `/api/v3/brokerage/intx/positions/{portfolio_uuid}`          |
| [getPerpetualsPosition()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L683)         |  🔐  |     GET     | `/api/v3/brokerage/intx/positions/{portfolio_uuid}/{symbol}` |
| [getPortfoliosBalances()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L698)         |  🔐  |     GET     | `/api/v3/brokerage/intx/balances/{portfolio_uuid}`           |
| [updateMultiAssetCollateral()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L710)    |  🔐  |     POST    | `/api/v3/brokerage/intx/multi_asset_collateral`              |
| [getTransactionSummary()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L730)         |  🔐  |     GET     | `/api/v3/brokerage/transaction_summary`                      |
| [submitConvertQuote()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L748)            |  🔐  |     POST    | `/api/v3/brokerage/convert/quote`                            |
| [getConvertTrade()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L759)               |  🔐  |     GET     | `/api/v3/brokerage/convert/trade/{trade_id}`                 |
| [commitConvertTrade()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L776)            |  🔐  |     POST    | `/api/v3/brokerage/convert/trade/{trade_id}`                 |
| [getPublicProductBook()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L806)          |      |     GET     | `/api/v3/brokerage/market/product_book`                      |
| [getPublicProducts()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L819)             |      |     GET     | `/api/v3/brokerage/market/products`                          |
| [getPublicProduct()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L831)              |      |     GET     | `/api/v3/brokerage/market/products/{product_id}`             |
| [getPublicProductCandles()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L843)       |      |     GET     | `/api/v3/brokerage/market/products/{product_id}/candles`     |
| [getPublicMarketTrades()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L858)         |      |     GET     | `/api/v3/brokerage/market/products/{product_id}/ticker`      |
| [getPaymentMethods()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L879)             |  🔐  |     GET     | `/api/v3/brokerage/payment_methods`                          |
| [getPaymentMethod()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L890)              |  🔐  |     GET     | `/api/v3/brokerage/payment_methods/{payment_method_id}`      |
| [getApiKeyPermissions()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAdvancedTradeClient.ts#L910)          |  🔐  |     GET     | `/api/v3/brokerage/key_permissions`                          |

### CBAppClient.ts

This table includes all endpoints from the official Exchange API docs and corresponding SDK functions for each endpoint that are found in [CBAppClient.ts](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts).

| Function                                                                                                     | AUTH | HTTP Method | Endpoint                                                       |
| ------------------------------------------------------------------------------------------------------------ | :--: | :---------: | -------------------------------------------------------------- |
| [getAccounts()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L66)             |  🔐  |     GET     | `/v2/accounts`                                                 |
| [getAccount()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L85)              |  🔐  |     GET     | `/v2/accounts/{account_id}`                                    |
| [createAddress()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L102)          |  🔐  |     POST    | `/v2/accounts/{account_id}/addresses`                          |
| [getAddresses()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L118)           |  🔐  |     GET     | `/v2/accounts/{account_id}/addresses`                          |
| [getAddress()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L144)             |  🔐  |     GET     | `/v2/accounts/{account_id}/addresses/{addressId}`              |
| [getAddressTransactions()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L161) |  🔐  |     GET     | `/v2/accounts/{account_id}/addresses/{addressId}/transactions` |
| [sendMoney()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L197)              |  🔐  |     POST    | `/v2/accounts/{account_id}/transactions`                       |
| [transferMoney()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L212)          |  🔐  |     POST    | `/v2/accounts/{account_id}/transactions`                       |
| [getTransactions()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L229)        |  🔐  |     GET     | `/v2/accounts/{account_id}/transactions`                       |
| [getTransaction()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L255)         |  🔐  |     GET     | `/v2/accounts/{account_id}/transactions/{transactionId}`       |
| [depositFunds()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L277)           |  🔐  |     POST    | `/v2/accounts/{account_id}/deposits`                           |
| [commitDeposit()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L289)          |  🔐  |     POST    | `/v2/accounts/{account_id}/deposits/{deposit_id}/commit`       |
| [getDeposits()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L306)            |  🔐  |     GET     | `/v2/accounts/{account_id}/deposits`                           |
| [getDeposit()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L326)             |  🔐  |     GET     | `/v2/accounts/{account_id}/deposits/{deposit_id}`              |
| [withdrawFunds()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L345)          |  🔐  |     POST    | `/v2/accounts/{account_id}/withdrawals`                        |
| [commitWithdrawal()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L357)       |  🔐  |     POST    | `/v2/accounts/{account_id}/withdrawals/{withdrawal_id}/commit` |
| [getWithdrawals()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L374)         |  🔐  |     GET     | `/v2/accounts/{account_id}/withdrawals`                        |
| [getWithdrawal()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L400)          |  🔐  |     GET     | `/v2/accounts/{account_id}/withdrawals/{withdrawal_id}`        |
| [getFiatCurrencies()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L423)      |      |     GET     | `/v2/currencies`                                               |
| [getCryptocurrencies()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L434)    |      |     GET     | `/v2/currencies/crypto`                                        |
| [getExchangeRates()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L450)       |      |     GET     | `/v2/exchange-rates`                                           |
| [getBuyPrice()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L471)            |      |     GET     | `/v2/prices/{currencyPair}/buy`                                |
| [getSellPrice()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L486)           |      |     GET     | `/v2/prices/{currencyPair}/sell`                               |
| [getSpotPrice()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L501)           |      |     GET     | `/v2/prices/{currencyPair}/spot`                               |
| [getCurrentTime()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBAppClient.ts#L523)         |      |     GET     | `/v2/time`                                                     |

### CBExchangeClient.ts

This table includes all endpoints from the official Exchange API docs and corresponding SDK functions for each endpoint that are found in [CBExchangeClient.ts](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts).

| Function                                                                                                                  | AUTH | HTTP Method | Endpoint                                             |
| ------------------------------------------------------------------------------------------------------------------------- | :--: | :---------: | ---------------------------------------------------- |
| [getAccounts()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L72)                     |  🔐  |     GET     | `/accounts`                                          |
| [getAccount()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L81)                      |  🔐  |     GET     | `/accounts/{account_id}`                             |
| [getAccountHolds()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L92)                 |  🔐  |     GET     | `/accounts/{account_id}/holds`                       |
| [getAccountLedger()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L111)               |  🔐  |     GET     | `/accounts/{account_id}/ledger`                      |
| [getAccountTransfers()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L121)            |  🔐  |     GET     | `/accounts/{account_id}/transfers`                   |
| [getAddressBook()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L137)                 |  🔐  |     GET     | `/address-book`                                      |
| [addAddresses()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L146)                   |  🔐  |     POST    | `/address-book`                                      |
| [deleteAddress()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L155)                  |  🔐  |    DELETE   | `/address-book/{id}`                                 |
| [getCounterpartyAddressBook()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L164)     |  🔐  |     GET     | `/address-book/counterparty`                         |
| [updateAddressBookEntry()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L173)         |  🔐  |     PUT     | `/address-book/{id}`                                 |
| [getCoinbaseWallets()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L191)             |  🔐  |     GET     | `/coinbase-accounts`                                 |
| [createNewCryptoAddress()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L200)         |  🔐  |     POST    | `/coinbase-accounts/{account_id}/addresses`          |
| [convertCurrency()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L218)                |  🔐  |     POST    | `/conversions`                                       |
| [getConversionFeeRates()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L227)          |  🔐  |     GET     | `/conversions/fees`                                  |
| [getConversion()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L236)                  |  🔐  |     GET     | `/conversions/{conversion_id}`                       |
| [getAllConversions()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L249)              |  🔐  |     GET     | `/conversions`                                       |
| [getCurrencies()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L269)                  |      |     GET     | `/currencies`                                        |
| [getCurrency()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L278)                    |      |     GET     | `/currencies/{currency_id}`                          |
| [depositFromCoinbaseAccount()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L293)     |  🔐  |     POST    | `/deposits/coinbase-account`                         |
| [depositFromPaymentMethod()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L307)       |  🔐  |     POST    | `/deposits/payment-method`                           |
| [getPaymentMethods()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L318)              |  🔐  |     GET     | `/payment-methods`                                   |
| [getTransfers()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L327)                   |  🔐  |     GET     | `/transfers`                                         |
| [getTransfer()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L336)                    |  🔐  |     GET     | `/transfers/{transfer_id}`                           |
| [submitTravelInformation()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L345)        |  🔐  |     POST    | `/transfers/{transfer_id}/travel-rules`              |
| [withdrawToCoinbaseAccount()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L359)      |  🔐  |     POST    | `/withdrawals/coinbase-account`                      |
| [withdrawToCryptoAddress()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L368)        |  🔐  |     POST    | `/withdrawals/crypto`                                |
| [getCryptoWithdrawalFeeEstimate()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L377) |  🔐  |     GET     | `/withdrawals/fee-estimate`                          |
| [withdrawToPaymentMethod()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L389)        |  🔐  |     POST    | `/withdrawals/payment-method`                        |
| [getFees()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L405)                        |  🔐  |     GET     | `/fees`                                              |
| [getFills()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L420)                       |  🔐  |     GET     | `/fills`                                             |
| [getOrders()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L430)                      |  🔐  |     GET     | `/orders`                                            |
| [cancelAllOrders()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L439)                |  🔐  |    DELETE   | `/orders`                                            |
| [submitOrder()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L452)                    |  🔐  |     POST    | `/orders`                                            |
| [getOrder()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L462)                       |  🔐  |     GET     | `/orders/{order_id}`                                 |
| [cancelOrder()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L472)                    |  🔐  |    DELETE   | `/orders/{order_id}`                                 |
| [getLoans()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L490)                       |  🔐  |     GET     | `/loans`                                             |
| [getLoanAssets()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L499)                  |  🔐  |     GET     | `/loans/assets`                                      |
| [getInterestSummaries()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L508)           |  🔐  |     GET     | `/loans/interest`                                    |
| [getInterestRateHistory()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L517)         |  🔐  |     GET     | `/loans/interest/history/{loan_id}`                  |
| [getInterestCharges()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L526)             |  🔐  |     GET     | `/loans/interest/{loan_id}`                          |
| [getLendingOverview()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L538)             |  🔐  |     GET     | `/loans/lending-overview`                            |
| [getNewLoanPreview()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L549)              |  🔐  |     GET     | `/loans/loan-preview`                                |
| [submitNewLoan()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L562)                  |  🔐  |     POST    | `/loans/open`                                        |
| [getNewLoanOptions()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L571)              |  🔐  |     GET     | `/loans/options`                                     |
| [repayLoanInterest()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L580)              |  🔐  |     POST    | `/loans/repay-interest`                              |
| [repayLoanPrincipal()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L589)             |  🔐  |     POST    | `/loans/repay-principal`                             |
| [getPrincipalRepaymentPreview()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L599)   |  🔐  |     GET     | `/loans/repayment-preview`                           |
| [getSignedPrices()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L616)                |  🔐  |     GET     | `/oracle`                                            |
| [getAllTradingPairs()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L631)             |      |     GET     | `/products`                                          |
| [getAllProductVolume()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L640)            |      |     GET     | `/products/volume-summary`                           |
| [getProduct()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L649)                     |      |     GET     | `/products/{product_id}`                             |
| [getProductBook()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L660)                 |      |     GET     | `/products/{product_id}/book`                        |
| [getProductCandles()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L671)              |      |     GET     | `/products/{product_id}/candles`                     |
| [getProductStats()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L681)                |      |     GET     | `/products/{product_id}/stats`                       |
| [getProductTicker()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L690)               |      |     GET     | `/products/{product_id}/ticker`                      |
| [getProductTrades()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L699)               |      |     GET     | `/products/{product_id}/trades`                      |
| [getProfiles()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L715)                    |  🔐  |     GET     | `/profiles`                                          |
| [createProfile()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L724)                  |  🔐  |     POST    | `/profiles`                                          |
| [transferFundsBetweenProfiles()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L733)   |  🔐  |     POST    | `/profiles/transfer`                                 |
| [getProfileById()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L744)                 |  🔐  |     GET     | `/profiles/{profile_id}`                             |
| [renameProfile()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L757)                  |  🔐  |     PUT     | `/profiles/{profile_id}`                             |
| [deleteProfile()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L768)                  |  🔐  |     PUT     | `/profiles/{profile_id}/deactivate`                  |
| [getAllReports()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L786)                  |  🔐  |     GET     | `/reports`                                           |
| [createReport()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L796)                   |  🔐  |     POST    | `/reports`                                           |
| [getReport()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L805)                      |  🔐  |     GET     | `/reports/{report_id}`                               |
| [getTravelRuleInformation()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L820)       |  🔐  |     GET     | `/travel-rules`                                      |
| [createTravelRuleEntry()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L831)          |  🔐  |     POST    | `/travel-rules`                                      |
| [deleteTravelRuleEntry()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L844)          |  🔐  |    DELETE   | `/travel-rules/{id}`                                 |
| [getUserExchangeLimits()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L859)          |  🔐  |     GET     | `/users/{user_id}/exchange-limits`                   |
| [updateSettlementPreference()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L868)     |  🔐  |     POST    | `/users/{user_id}/settlement-preferences`            |
| [getUserTradingVolume()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L883)           |  🔐  |     GET     | `/users/{user_id}/trading-volumes`                   |
| [getAllWrappedAssets()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L898)            |      |     GET     | `/wrapped-assets`                                    |
| [getAllStakeWraps()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L907)               |  🔐  |     GET     | `/wrapped-assets/stake-wrap`                         |
| [createStakeWrap()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L916)                |  🔐  |     POST    | `/wrapped-assets/stake-wrap`                         |
| [getStakeWrap()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L929)                   |  🔐  |     GET     | `/wrapped-assets/stake-wrap/{stake_wrap_id}`         |
| [getWrappedAssetDetails()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L940)         |  🔐  |     GET     | `/wrapped-assets/{wrapped_asset_id}`                 |
| [getWrappedAssetConversionRate()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBExchangeClient.ts#L949)  |  🔐  |     GET     | `/wrapped-assets/{wrapped_asset_id}/conversion-rate` |

### CBInternationalClient.ts

This table includes all endpoints from the official Exchange API docs and corresponding SDK functions for each endpoint that are found in [CBInternationalClient.ts](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts).

| Function                                                                                                                               | AUTH | HTTP Method | Endpoint                                                                       |
| -------------------------------------------------------------------------------------------------------------------------------------- | :--: | :---------: | ------------------------------------------------------------------------------ |
| [getAssets()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L56)                               |      |     GET     | `/api/v1/assets`                                                               |
| [getAssetDetails()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L65)                         |      |     GET     | `/api/v1/assets/{asset}`                                                       |
| [getSupportedNetworksPerAsset()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L74)            |      |     GET     | `/api/v1/assets/{asset}/networks`                                              |
| [getIndexComposition()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L89)                     |      |     GET     | `/api/v1/index/{index}/composition`                                            |
| [getIndexCompositionHistory()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L99)              |      |     GET     | `/api/v1/index/{index}/composition-history`                                    |
| [getIndexPrice()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L111)                          |      |     GET     | `/api/v1/index/{index}/price`                                                  |
| [getIndexCandles()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L121)                        |      |     GET     | `/api/v1/index/{index}/candles`                                                |
| [getInstruments()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L137)                         |      |     GET     | `/api/v1/instruments`                                                          |
| [getInstrumentDetails()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L146)                   |      |     GET     | `/api/v1/instruments/{instrument}`                                             |
| [getQuotePerInstrument()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L155)                  |      |     GET     | `/api/v1/instruments/{instrument}/quote`                                       |
| [getDailyTradingVolumes()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L164)                 |      |     GET     | `/api/v1/instruments/volumes/daily`                                            |
| [getAggregatedCandlesData()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L173)               |      |     GET     | `/api/v1/instruments/{instrument}/candles`                                     |
| [getHistoricalFundingRates()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L183)              |      |     GET     | `/api/v1/instruments/{instrument}/funding`                                     |
| [getPositionOffsets()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L203)                     |      |     GET     | `/api/v1/position-offsets`                                                     |
| [submitOrder()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L218)                            |  🔐  |     POST    | `/api/v1/orders`                                                               |
| [getOpenOrders()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L229)                          |  🔐  |     GET     | `/api/v1/orders`                                                               |
| [cancelOrders()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L238)                           |  🔐  |    DELETE   | `/api/v1/orders`                                                               |
| [updateOpenOrder()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L247)                        |  🔐  |     PUT     | `/api/v1/orders/{id}`                                                          |
| [getOrderDetails()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L257)                        |  🔐  |     GET     | `/api/v1/orders/{id}`                                                          |
| [cancelOrder()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L267)                            |  🔐  |    DELETE   | `/api/v1/orders/{id}`                                                          |
| [getUserPortfolios()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L285)                      |  🔐  |     GET     | `/api/v1/portfolios`                                                           |
| [createPortfolio()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L294)                        |  🔐  |     POST    | `/api/v1/portfolios`                                                           |
| [updatePortfolioParameters()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L303)              |  🔐  |    PATCH    | `/api/v1/portfolios`                                                           |
| [getUserPortfolio()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L314)                       |  🔐  |     GET     | `/api/v1/portfolios/{portfolio}`                                               |
| [updatePortfolio()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L323)                        |  🔐  |     PUT     | `/api/v1/portfolios/{portfolio}`                                               |
| [getPortfolioDetails()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L333)                    |  🔐  |     GET     | `/api/v1/portfolios/{portfolio}/detail`                                        |
| [getPortfolioSummary()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L342)                    |  🔐  |     GET     | `/api/v1/portfolios/{portfolio}/summary`                                       |
| [getPortfolioBalances()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L351)                   |  🔐  |     GET     | `/api/v1/portfolios/{portfolio}/balances`                                      |
| [getBalanceForPortfolioAsset()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L360)            |  🔐  |     GET     | `/api/v1/portfolios/{portfolio}/balances/{asset}`                              |
| [getActiveLoansForPortfolio()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L374)             |  🔐  |     GET     | `/api/v1/portfolios/{portfolio}/loans`                                         |
| [getLoanInfoForPortfolioAsset()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L383)           |  🔐  |     GET     | `/api/v1/portfolios/{portfolio}/loans/{asset}`                                 |
| [acquireOrRepayLoan()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L397)                     |  🔐  |     POST    | `/api/v1/portfolios/{portfolio}/loans/{asset}`                                 |
| [previewLoanUpdate()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L414)                      |  🔐  |     POST    | `/api/v1/portfolios/{portfolio}/loans/{asset}/preview`                         |
| [getMaxLoanAvailability()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L432)                 |  🔐  |     GET     | `/api/v1/portfolios/{portfolio}/loans/{asset}/availability`                    |
| [getPortfolioPositions()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L446)                  |  🔐  |     GET     | `/api/v1/portfolios/{portfolio}/positions`                                     |
| [getPositionForPortfolioInstrument()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L455)      |  🔐  |     GET     | `/api/v1/portfolios/{portfolio}/positions/{instrument}`                        |
| [getTotalOpenPositionLimit()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L469)              |  🔐  |     GET     | `/api/v1/portfolios/{portfolio}/position-limits`                               |
| [getOpenPositionLimitsForAllInstruments()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L480) |  🔐  |     GET     | `/api/v1/portfolios/{portfolio}/position-limits/positions`                     |
| [getOpenPositionLimitsForInstrument()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L493)     |  🔐  |     GET     | `/api/v1/portfolios/{portfolio}/position-limits/positions/{instrument}`        |
| [getFillsByPortfolios()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L508)                   |  🔐  |     GET     | `/api/v1/portfolios/fills`                                                     |
| [getPortfolioFills()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L517)                      |  🔐  |     GET     | `/api/v1/portfolios/{portfolio}/fills`                                         |
| [setCrossCollateral()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L527)                     |  🔐  |     POST    | `/api/v1/portfolios/{portfolio}/cross-collateral-enabled`                      |
| [setAutoMargin()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L544)                          |  🔐  |     POST    | `/api/v1/portfolios/{portfolio}/auto-margin-enabled`                           |
| [setPortfolioMarginOverride()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L557)             |  🔐  |     POST    | `/api/v1/portfolios/margin`                                                    |
| [getFundTransferLimit()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L570)                   |  🔐  |     GET     | `/api/v1/portfolios/transfer/{portfolio}/{asset}/transfer-limit`               |
| [transferFundsBetweenPortfolios()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L585)         |  🔐  |     POST    | `/api/v1/portfolios/transfer`                                                  |
| [transferPositionsBetweenPortfolios()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L597)     |  🔐  |     POST    | `/api/v1/portfolios/transfer-position`                                         |
| [getPortfolioFeeRates()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L610)                   |  🔐  |     GET     | `/api/v1/portfolios/fee-rates`                                                 |
| [getRankings()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L624)                            |  🔐  |     GET     | `/api/v1/rankings/statistics`                                                  |
| [getMatchingTransfers()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L643)                   |  🔐  |     GET     | `/api/v1/transfers`                                                            |
| [getTransfer()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L652)                            |  🔐  |     GET     | `/api/v1/transfers/{transfer_uuid}`                                            |
| [withdrawToCryptoAddress()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L661)                |  🔐  |     POST    | `/api/v1/transfers/withdraw`                                                   |
| [createCryptoAddress()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L672)                    |  🔐  |     POST    | `/api/v1/transfers/address`                                                    |
| [createCounterpartyId()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L685)                   |  🔐  |     POST    | `/api/v1/transfers/create-counterparty-id`                                     |
| [validateCounterpartyId()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L696)                 |  🔐  |     POST    | `/api/v1/transfers/validate-counterparty-id`                                   |
| [getCounterpartyWithdrawalLimit()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L708)         |  🔐  |     GET     | `/api/v1/transfers/withdraw/{portfolio}/{asset}/counterparty-withdrawal-limit` |
| [withdrawToCounterpartyId()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L723)               |  🔐  |     POST    | `/api/v1/transfers/withdraw/counterparty`                                      |
| [getFeeRateTiers()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBInternationalClient.ts#L741)                        |  🔐  |     GET     | `/api/v1/fee-rate-tiers`                                                       |

### CBPrimeClient.ts

This table includes all endpoints from the official Exchange API docs and corresponding SDK functions for each endpoint that are found in [CBPrimeClient.ts](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts).

| Function                                                                                                              | AUTH | HTTP Method | Endpoint                                                                 |
| --------------------------------------------------------------------------------------------------------------------- | :--: | :---------: | ------------------------------------------------------------------------ |
| [getActivities()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L77)                  |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/activities`                               |
| [getActivityById()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L87)                |  🔐  |     GET     | `/v1/activities/{activity_id}`                                           |
| [getEntityActivities()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L97)            |  🔐  |     GET     | `/v1/entities/{entity_id}/activities`                                    |
| [getPortfolioActivityById()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L107)      |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/activities/{activity_id}`                 |
| [createPortfolioAllocations()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L128)    |  🔐  |     POST    | `/v1/allocations`                                                        |
| [createPortfolioNetAllocations()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L139) |  🔐  |     POST    | `/v1/allocations/net`                                                    |
| [getPortfolioAllocations()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L150)       |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/allocations`                              |
| [getAllocationById()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L162)             |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/allocations/{allocation_id}`              |
| [getNetAllocationsByNettingId()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L177)  |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/allocations/net/{netting_id}`             |
| [getEntityAccruals()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L198)             |  🔐  |     GET     | `/v1/entities/{entity_id}/accruals`                                      |
| [getEntityLocateAvailabilities()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L208) |  🔐  |     GET     | `/v1/entities/{entity_id}/locates_availability`                          |
| [getEntityMargin()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L223)               |  🔐  |     GET     | `/v1/entities/{entity_id}/margin`                                        |
| [getEntityMarginSummaries()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L233)      |  🔐  |     GET     | `/v1/entities/{entity_id}/margin_summaries`                              |
| [getEntityTFTieredFees()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L245)         |  🔐  |     GET     | `/v1/entities/{entity_id}/tf_tiered_fees`                                |
| [getPortfolioAccruals()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L257)          |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/accruals`                                 |
| [getPortfolioBuyingPower()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L267)       |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/buying_power`                             |
| [getPortfolioLocates()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L282)           |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/locates`                                  |
| [getPortfolioMarginConversions()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L293) |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/margin_conversions`                       |
| [getPortfolioWithdrawalPower()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L308)   |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/withdrawal_power`                         |
| [getInvoices()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L329)                   |  🔐  |     GET     | `/v1/entities/{entity_id}/invoices`                                      |
| [getEntityAggregatePositions()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L345)   |  🔐  |     GET     | `/v1/entities/{entity_id}/aggregate_positions`                           |
| [getEntityPositions()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L362)            |  🔐  |     GET     | `/v1/entities/{entity_id}/positions`                                     |
| [getAssets()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L382)                     |  🔐  |     GET     | `/v1/entities/{entity_id}/assets`                                        |
| [getEntityPaymentMethods()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L397)       |  🔐  |     GET     | `/v1/entities/{entity_id}/payment-methods`                               |
| [getEntityPaymentMethod()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L406)        |  🔐  |     GET     | `/v1/entities/{entity_id}/payment-methods/{payment_method_id}`           |
| [getUsers()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L427)                      |  🔐  |     GET     | `/v1/entities/{entity_id}/users`                                         |
| [getPortfolioUsers()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L437)             |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/users`                                    |
| [getPortfolios()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L453)                 |  🔐  |     GET     | `/v1/portfolios`                                                         |
| [getPortfolioById()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L462)              |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}`                                          |
| [getPortfolioCreditInformation()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L471) |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/credit`                                   |
| [getAddressBook()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L488)                |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/address_book`                             |
| [createAddressBookEntry()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L501)        |  🔐  |     POST    | `/v1/portfolios/{portfolio_id}/address_book`                             |
| [getPortfolioBalances()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L521)          |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/balances`                                 |
| [getWalletBalance()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L535)              |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/wallets/{wallet_id}/balance`              |
| [getWeb3WalletBalances()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L550)         |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/wallets/{wallet_id}/web3_balances`        |
| [getPortfolioCommission()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L571)        |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/commission`                               |
| [getPortfolioFills()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L589)             |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/fills`                                    |
| [getOpenOrders()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L599)                 |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/open_orders`                              |
| [submitOrder()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L609)                   |  🔐  |     POST    | `/v1/portfolios/{portfolio_id}/order`                                    |
| [getOrderPreview()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L622)               |  🔐  |     POST    | `/v1/portfolios/{portfolio_id}/order_preview`                            |
| [getPortfolioOrders()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L634)            |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/orders`                                   |
| [getOrderById()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L644)                  |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/orders/{order_id}`                        |
| [cancelOrder()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L657)                   |  🔐  |     POST    | `/v1/portfolios/{portfolio_id}/orders/{order_id}/cancel`                 |
| [getOrderFills()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L672)                 |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/orders/{order_id}/fills`                  |
| [editOrder()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L685)                     |  🔐  |     PUT     | `/v1/portfolios/{portfolio_id}/orders/{order_id}/edit`                   |
| [rotateApiKey()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L699)                  |  🔐  |     POST    | `/v1/api-keys/rotate`                                                    |
| [getPortfolioProducts()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L714)          |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/products`                                 |
| [getPortfolioTransactions()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L730)      |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/transactions`                             |
| [getTransactionById()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L745)            |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/transactions/{transaction_id}`            |
| [createConversion()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L760)              |  🔐  |     POST    | `/v1/portfolios/{portfolio_id}/wallets/{wallet_id}/conversion`           |
| [getWalletTransactions()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L773)         |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/wallets/{wallet_id}/transactions`         |
| [createTransfer()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L788)                |  🔐  |     POST    | `/v1/portfolios/{portfolio_id}/wallets/{wallet_id}/transfers`            |
| [createWithdrawal()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L801)              |  🔐  |     POST    | `/v1/portfolios/{portfolio_id}/wallets/{wallet_id}/withdrawals`          |
| [getPortfolioWallets()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L820)           |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/wallets`                                  |
| [createWallet()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L830)                  |  🔐  |     POST    | `/v1/portfolios/{portfolio_id}/wallets`                                  |
| [getWalletById()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L842)                 |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/wallets/{wallet_id}`                      |
| [getWalletDepositInstructions()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBPrimeClient.ts#L857)  |  🔐  |     GET     | `/v1/portfolios/{portfolio_id}/wallets/{wallet_id}/deposit_instructions` |

### CBCommerceClient.ts

This table includes all endpoints from the official Exchange API docs and corresponding SDK functions for each endpoint that are found in [CBCommerceClient.ts](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBCommerceClient.ts).

| Function                                                                                                   | AUTH | HTTP Method | Endpoint                              |
| ---------------------------------------------------------------------------------------------------------- | :--: | :---------: | ------------------------------------- |
| [createCharge()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBCommerceClient.ts#L38)     |  🔐  |     POST    | `/charges`                            |
| [getAllCharges()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBCommerceClient.ts#L63)    |  🔐  |     GET     | `/charges`                            |
| [getCharge()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBCommerceClient.ts#L72)        |  🔐  |     GET     | `/charges/{charge_code_or_charge_id}` |
| [createCheckout()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBCommerceClient.ts#L87)   |  🔐  |     POST    | `/checkouts`                          |
| [getAllCheckouts()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBCommerceClient.ts#L110) |  🔐  |     GET     | `/checkouts`                          |
| [getCheckout()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBCommerceClient.ts#L119)     |  🔐  |     GET     | `/checkouts/{checkout_id}`            |
| [listEvents()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBCommerceClient.ts#L134)      |  🔐  |     GET     | `/events`                             |
| [showEvent()](https://github.com/tiagosiebler/coinbase-api/blob/master/src/CBCommerceClient.ts#L145)       |  🔐  |     GET     | `/events/{event_id}`                  |

## Coinbase JavaScript FAQ

### What does the Coinbase JavaScript SDK cover?

Coinbase supports Coinbase Advanced Trade API, Coinbase App API, Coinbase Exchange API, Coinbase International Exchange API, Coinbase Prime API, Coinbase Commerce API, Spot, Futures, and WebSockets workflows. The JavaScript guide covers the main REST and WebSocket integration patterns.

### How do I authenticate private Coinbase API calls in JavaScript?

Install coinbase-api from npm & pass API credentials into the SDK client options, as shown in the Coinbase JavaScript examples above. The SDK handles the exchange-specific signing requirements for private requests.

### Does the Coinbase JavaScript SDK help with WebSocket connection management?

Yes. Use the SDK WebSocket client for subscriptions, reconnect handling, and stream lifecycle management instead of building raw socket flows yourself.

### Where should I start on the Coinbase JavaScript page: REST or WebSocket?

Start with the REST quick start for installation, authentication, and request and response flows. Move to the WebSocket example when you need streaming market or account updates.

## Machine Resources

- [AI prompt framework](/ai)
- [LLM discovery](/llms.txt)
- [SDK catalog](/.well-known/siebly-sdk-catalog.json)
- [Agent skill](/.well-known/agent-skills/siebly-crypto-exchange-api/SKILL.md)
