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

# List wallet transactions

List money in and out of your wallet, including every payment's deposit.

`GET https://dash.402pay.co/api/v1/wallet/transactions`

Returns transactions newest first. Each payment's deposit is an `in` transaction with its `payment_id`, and each send from the dashboard is an `out` one.

### Query

- `q` (string): Searches the transaction hash, addresses and note.
- `direction` (string): `in` or `out`.
- `asset` (string): A coin, such as `USDC`.
- `network` (string): A network, such as `polygon`.
- `created_after` (timestamp): Only objects created at or after this ISO 8601 time.
- `created_before` (timestamp): Only objects created before this ISO 8601 time.
- `sort` (string): `created_at` or `value_usd`, with `-` for descending. Defaults to `-created_at`.
- `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` A filter has a value it can't take, or the `cursor` belongs to another list.

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/wallet/transactions?direction=in&limit=10" \
  -H "Authorization: Bearer $PAY402_SECRET_KEY"
```

Request, Node.js:

```js
const response = await fetch("https://dash.402pay.co/api/v1/wallet/transactions?direction=in&limit=10", {
  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/wallet/transactions?direction=in&limit=10",
    headers={
        "Authorization": f"Bearer {os.environ['PAY402_SECRET_KEY']}",
    },
)
data = response.json()["data"]
```

Response, 200 OK:

```json
{
  "data": [
    {
      "id": "wtx_nXRP8NNOMtb4LySU",
      "kind": "wallet_transaction",
      "direction": "in",
      "status": "confirmed",
      "asset": "USDC",
      "network": "polygon",
      "amount": "49.00",
      "value_usd": 4900,
      "network_fee_usd": null,
      "address": "0x9a3c416D4A81669C01f4515bBDEB93C45d3813fe",
      "from_address": "0x136e44a2738dea5217e8d6745463d2a9a84d1421",
      "to_address": "0x9a3c416D4A81669C01f4515bBDEB93C45d3813fe",
      "tx_hash": "0xc16a611d90302ba917593ed9743f5e734a556e8d2f35bb0d60a2ca02ac99bb20",
      "explorer_url": "https://polygonscan.com/tx/0xc16a611d90302ba917593ed9743f5e734a556e8d2f35bb0d60a2ca02ac99bb20",
      "payment_id": "pmt_QI02vLdJGd48hBbg",
      "note": "",
      "created_at": "2026-09-26T21:23:13.447Z"
    }
  ],
  "has_more": true,
  "next_cursor": "wtx_nXRP8NNOMtb4LySU"
}
```
