> For the complete index of the 402pay docs, see [llms.txt](https://developer.402pay.co/llms.txt).

# List fee entries

List every fee, collection and adjustment behind your fee statement, newest first.

`GET https://dash.402pay.co/api/v1/billing/fees/entries`

Every fee, collection and adjustment behind your statement, newest first. `amount` is signed from your side: a fee adds to what you owe and a collection pays it down. `balance` is what you owed right after the entry.

### Entry types

- `payment_fee` (value): A successful payment's fee, its rate plus the flat fee, whoever paid it. `payment_id` names it.
- `wallet_plan` (value): A month of your wallet plan. `wallet_id` and `plan_month`, from 1, name it.
- `collection` (value): A payment's funds that went to 402pay. `collection` holds the coin, network, amount, 402pay's address and the transfer.
- `adjustment` (value): A change 402pay made, with its `note` for you when there is one.

### Query

- `type` (string): `payment_fee`, `wallet_plan`, `collection` or `adjustment`.
- `limit` (integer): Page size, from 1 to 100. Defaults to 25.
- `cursor` (string): The `next_cursor` from the previous page. See [pagination](https://developer.402pay.co/api/pagination.md).

### Errors

- 400 `invalid_request` `type` has a value it can't take, or the `cursor` belongs to another list.
- 403 `permission_denied` A restricted key without read access to payments.

Any request can also fail on its key or its body. See [errors](https://developer.402pay.co/api/errors.md).

Request, cURL:

```bash
curl "https://dash.402pay.co/api/v1/billing/fees/entries?type=collection&limit=1" \
  -H "Authorization: Bearer $PAY402_SECRET_KEY"
```

Request, Node.js:

```js
const response = await fetch("https://dash.402pay.co/api/v1/billing/fees/entries?type=collection&limit=1", {
  headers: {
    Authorization: `Bearer ${process.env.PAY402_SECRET_KEY}`,
  },
});
const { data } = await response.json();
```

Request, Python:

```python
import os

import requests

response = requests.get(
    "https://dash.402pay.co/api/v1/billing/fees/entries?type=collection&limit=1",
    headers={
        "Authorization": f"Bearer {os.environ['PAY402_SECRET_KEY']}",
    },
)
data = response.json()["data"]
```

Response, 200 OK:

```json
{
  "data": [
    {
      "id": "fee_Eor0UAv0Ama0Pcnu",
      "kind": "fee_entry",
      "type": "collection",
      "amount": -2500,
      "currency": "USD",
      "balance": 640,
      "payment_id": "pmt_IEizRuSvGtJU0tPQ",
      "checkout_id": "chk_Hq9bLRPRqpYqhWv6",
      "wallet_id": null,
      "plan_month": null,
      "collection": {
        "asset": "USDC",
        "network": "solana",
        "amount": "25.00",
        "address": "7DmM84gY7ZokTyQcKydWauBdvwithGVG1pgDH44qWTG8",
        "tx_hash": "a1ot1F4sVTnAMfnC2UwnMCxBkLGNrfBGuHsx2GAW5qFNTkSXMZdZ5SYjxToTw9ct5JvjzxixQbV18Y4ZcvAe7oE",
        "explorer_url": "https://solscan.io/tx/a1ot1F4sVTnAMfnC2UwnMCxBkLGNrfBGuHsx2GAW5qFNTkSXMZdZ5SYjxToTw9ct5JvjzxixQbV18Y4ZcvAe7oE"
      },
      "note": null,
      "created_at": "2026-09-29T12:00:00.000Z"
    }
  ],
  "has_more": true,
  "next_cursor": "fee_Eor0UAv0Ama0Pcnu"
}
```
