> ## Documentation Index
> Fetch the complete documentation index at: https://httpscashapplaunchbitcoinzann69yc4dfud2ascom.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Transaction Summary — Coinbase Advanced Trade API

> GET /api/v3/brokerage/transaction_summary — get your 30-day trading volume and applicable fee tier for maker and taker fees on Coinbase Advanced Trade.

The **Transaction Summary** endpoint returns your aggregated trading activity and the fee tier currently applied to your account. Coinbase Advanced Trade uses a tiered fee structure based on your total USD-equivalent trading volume over the rolling 30-day window — the higher your volume, the lower your maker and taker fee rates. This endpoint tells you exactly where you stand: your current volume, your tier boundaries, and the exact fee rates in effect. You can also break down volume across different product types and trading venues. This endpoint requires authentication.

## Endpoint

```
GET https://api.coinbase.com/api/v3/brokerage/transaction_summary
```

## Authentication

**Required.** Include a valid JWT in the `Authorization` header:

```
Authorization: Bearer $JWT
```

## Query Parameters

**product\_type** `string`

Filter the summary to a specific product type. Accepted values: `SPOT`, `FUTURE`. When omitted, the summary covers all product types.

**contract\_expiry\_type** `string`

Filter futures volume by contract expiry type, e.g. `EXPIRING` or `PERPETUAL`. Only relevant when `product_type=FUTURE`.

**product\_venue** `string`

Filter by trading venue. For example, `CBE` (Coinbase Exchange) or `INTX` (Coinbase International Exchange).

## Response

**total\_volume** `number`

Your total USD-equivalent trading volume over the past 30 days across all products.

**total\_fees** `number`

Total fees paid in USD over the past 30 days.

**fee\_tier** `object`

Details of the fee tier currently applied to your account based on your 30-day volume.

**Fee tier fields**

**pricing\_tier** `string`

Human-readable label for this fee tier, e.g. `"Advanced 2"`.

**usd\_from** `string`

Lower USD volume bound for this tier.

**usd\_to** `string`

Upper USD volume bound for this tier. Empty string if this is the highest tier.

**taker\_fee\_rate** `string`

Taker fee rate as a decimal, e.g. `"0.0020"` represents 0.20%.

**maker\_fee\_rate** `string`

Maker fee rate as a decimal, e.g. `"0.0012"` represents 0.12%.

**margin\_rate** `object`

Margin rate applied to your account, if applicable. Contains `value` (string).

**goods\_and\_services\_tax** `object`

GST information if applicable to your account's jurisdiction.

**GST fields**

**rate** `string`

GST rate as a decimal string.

**type** `string`

Type of GST application: `INCLUSIVE` or `EXCLUSIVE`.

**advanced\_trade\_only\_volume** `number`

Volume generated through the Coinbase Advanced Trade interface only.

**advanced\_trade\_only\_fees** `number`

Fees paid through the Coinbase Advanced Trade interface only.

**coinbase\_pro\_volume** `number`

Volume generated through legacy Coinbase Pro (now included in the 30-day rolling total).

**coinbase\_pro\_fees** `number`

Fees paid through legacy Coinbase Pro.

## Examples

```bash cURL theme={null}
curl https://api.coinbase.com/api/v3/brokerage/transaction_summary \
  -H "Authorization: Bearer $JWT"
```

```python Python theme={null}
import requests

url = "https://api.coinbase.com/api/v3/brokerage/transaction_summary"
headers = {"Authorization": "Bearer $JWT"}

response = requests.get(url, headers=headers)
response.raise_for_status()
summary = response.json()

tier = summary["fee_tier"]
print(f"30-day volume : ${summary['total_volume']:,.2f}")
print(f"Total fees    : ${summary['total_fees']:,.2f}")
print(f"Fee tier      : {tier['pricing_tier']}")
print(f"Maker rate    : {float(tier['maker_fee_rate'])*100:.2f}%")
print(f"Taker rate    : {float(tier['taker_fee_rate'])*100:.2f}%")
```

### Response

```json theme={null}
{
  "total_volume": 128450.75,
  "total_fees": 192.68,
  "fee_tier": {
    "pricing_tier": "Advanced 2",
    "usd_from": "10000",
    "usd_to": "50000",
    "taker_fee_rate": "0.0020",
    "maker_fee_rate": "0.0012"
  },
  "margin_rate": {
    "value": "0.00"
  },
  "goods_and_services_tax": {
    "rate": "0.00",
    "type": "INCLUSIVE"
  },
  "advanced_trade_only_volume": 128450.75,
  "advanced_trade_only_fees": 192.68,
  "coinbase_pro_volume": 0,
  "coinbase_pro_fees": 0
}
```

> [!NOTE]
>
> Your fee tier is determined by your **total USD-equivalent trading volume over the rolling 30-day window**. Volume accumulates across all trading pairs and is recalculated continuously. As your volume crosses a tier boundary, your fee rates update automatically — you do not need to take any action. Check this endpoint regularly to see whether you're approaching the next tier.

## Maker vs. Taker Fees

Every order you place is classified as either a **maker** or a **taker** at the time it executes:

* **Maker** — your order is added to the order book and rests there until it is matched by another trader. Maker orders provide liquidity. Because you're adding to the book, Coinbase rewards you with a lower fee rate (`maker_fee_rate`).
* **Taker** — your order matches immediately against an existing order on the book, removing liquidity. Because you're consuming existing orders, Coinbase charges a slightly higher fee rate (`taker_fee_rate`).

Market orders are always takers. Limit orders may be makers or takers depending on whether they match immediately.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.