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

# Wallet Fees Paid

> Get fee-bearing order fills for a wallet.

Returns fills where the wallet was the order owner and `OrderFilled.fee` was greater than zero. Each row is enriched with the same market context used by wallet trade history.

This is fees paid by the trader on executed order fills. It is not the same as maker rebates, LP rewards, or builder payouts.

<Note>
  `page_total_fees_paid` is the sum for the returned page only. For the exact all-time fee total, use `GET /v3/wallets/{address}?include_accounting_summary=true` and read `accounting_summary.fees_paid.amount`.
</Note>

## Request

```
GET /v3/wallets/{address}/fees-paid
```

### Query parameters

| Parameter | Type    | Default      | Description                                   |
| --------- | ------- | ------------ | --------------------------------------------- |
| `after`   | integer | `0`          | Start of time range (Unix seconds, inclusive) |
| `before`  | integer | `9999999999` | End of time range (Unix seconds, inclusive)   |
| `order`   | string  | `desc`       | `asc` or `desc`                               |
| `limit`   | integer | `100`        | Max 300                                       |
| `offset`  | integer | `0`          | Pagination offset                             |

## Example

```bash theme={null}
curl "https://api.polynode.dev/v3/wallets/0xbddf61af533ff524d27154e589d2d7a81510c684/fees-paid?limit=1&after=1779700000"
```

```json theme={null}
{
  "address": "0xbddf61af533ff524d27154e589d2d7a81510c684",
  "fees": [
    {
      "id": "0x4f8447fda6ed5b200d876ffc677fedd853d524c9a2751d055d7578c1575124dc_847",
      "maker": "0xbddf61af533ff524d27154e589d2d7a81510c684",
      "taker": "0xe111180000d2663c0091e4f400237545b87b996b",
      "fee": 352.774,
      "fee_paid": 352.774,
      "fee_paid_raw": "352774000",
      "price": 0.45,
      "size": 47511.65,
      "direction": "BUY",
      "market": "Spread: Thunder (-2.5)",
      "slug": "nba-sas-okc-2026-05-26-spread-home-2pt5",
      "condition_id": "0x7bcc428d368834c6dfbb4925f699079f65925fef69ad259274b88c5671aaa29e",
      "timestamp": "1779839786",
      "source": "wallet_fees_paid"
    }
  ],
  "rows_returned": 1,
  "has_more": true,
  "page_total_fees_paid": 352.774,
  "fee_semantics": "Trader-paid fees on executed order fills where this wallet was the order owner. Includes supported Polymarket exchange versions.",
  "elapsed_ms": 14
}
```

## Response fields

| Field                           | Type    | Description                                                                                                        |
| ------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------ |
| `address`                       | string  | Wallet address, lowercased                                                                                         |
| `fees`                          | array   | Fee-bearing fill rows                                                                                              |
| `fees[].fee`                    | number  | Fee in USD                                                                                                         |
| `fees[].fee_paid`               | number  | Same value as `fee`, included for category-breakdown clarity                                                       |
| `fees[].fee_paid_raw`           | string  | Raw 6-decimal fee amount                                                                                           |
| `fees[].source`                 | string  | Dataset label                                                                                                      |
| `rows_returned`                 | integer | Number of rows returned                                                                                            |
| `has_more`                      | boolean | Whether another page exists                                                                                        |
| `offset`                        | integer | Offset used for this page                                                                                          |
| `limit`                         | integer | Limit used for this page                                                                                           |
| `page_total_fees_paid`          | number  | Sum of `fee_paid` for this page only. Use wallet summary `include_accounting_summary=true` for the all-time total. |
| `page_total_fees_paid_raw_note` | string  | Reminder that the total is page-scoped                                                                             |
| `fee_semantics`                 | string  | Attribution note                                                                                                   |
| `after`                         | string  | Applied start timestamp                                                                                            |
| `before`                        | string  | Applied end timestamp                                                                                              |
| `elapsed_ms`                    | integer | Server-side query time in milliseconds                                                                             |

The fill objects also include standard trade fields such as `maker_asset_id`, `taker_asset_id`, `maker_amount`, `taker_amount`, `token_id`, `asset`, `amount`, `amount_usd`, `transaction_hash`, `order_hash`, `builder`, `side`, `role`, `outcome`, `outcome_index`, and `image` when available.

## Errors

| HTTP  | When                                |
| ----- | ----------------------------------- |
| `400` | Invalid wallet address              |
| `400` | Invalid `order` value               |
| `401` | Missing or invalid PolyNode API key |


## OpenAPI

````yaml GET /v3/wallets/{address}/fees-paid
openapi: 3.1.0
info:
  title: PolyNode API
  description: >-
    Real-time Polymarket data API with decoded mempool settlements, OHLCV
    candles, and full Polygon JSON-RPC proxy.
  contact:
    name: PolyNode
    url: https://polynode.dev
  license:
    name: ''
  version: 2.0.0
servers:
  - url: https://api.polynode.dev
    description: Production
security:
  - api_key: []
paths:
  /v3/wallets/{address}/fees-paid:
    get:
      tags:
        - V3 Wallets
      summary: Wallet fees paid
      description: Get fee-bearing fills where the wallet is the order owner.
      operationId: v3_wallet_fees_paid
      parameters:
        - name: address
          in: path
          required: true
          schema:
            type: string
          description: Wallet address
        - name: after
          in: query
          schema:
            type: integer
            default: 0
          description: Unix timestamp lower bound
        - name: before
          in: query
          schema:
            type: integer
            default: 9999999999
          description: Unix timestamp upper bound
        - name: order
          in: query
          schema:
            type: string
            enum:
              - asc
              - desc
            default: desc
          description: Sort order
        - name: limit
          in: query
          schema:
            type: integer
            default: 100
          description: Max results, clamped to 300
        - name: offset
          in: query
          description: Pagination offset
          schema:
            type: integer
            default: 0
      responses:
        '200':
          description: Fee-bearing fill rows
        '400':
          description: Invalid wallet address or query parameter
        '401':
          description: Unauthorized
      security:
        - api_key: []
components:
  securitySchemes:
    api_key:
      type: apiKey
      in: header
      name: x-api-key

````