# Trade history

`GET https://api.getchord.xyz/v1/portfolio/{wallet}/trades`

Source: https://getchord.xyz/docs/api-reference/operations/wallettrades/

The wallet's buys and sells on the chain, newest first — the markers on a portfolio chart.

Portfolio routes answer an empty 200 shape rather than a 5xx when the tape read fails — treat an empty `tokens` list as "nothing yet" and retry later.

## Parameters

| Name | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `wallet` | path | yes | string |  |
| `chain` | query | no | `5042` · `4663` · `143` (default `143`) | Chain id: `5042` Arc · `4663` Robinhood Chain · `143` Monad. Omitted = 143. |

## Response 200

Example (captured from the live API):

```json
{
  "trades": [
    {
      "t": 1789890946,
      "side": "buy",
      "usd": 198,
      "tokenAmt": 5293562.144446149,
      "token": "0x08adbf431569a1aacac2606d2adcd18f4ebf2a71",
      "symbol": "GLITCH",
      "tx": "0x25c5fd4de14a7592e39f0b803538cdbe1601a927f630da46fe9107c3afc89f83"
    },
    {
      "t": 1789890762,
      "side": "buy",
      "usd": 297,
      "tokenAmt": 8471531.758406071,
      "token": "0x08adbf431569a1aacac2606d2adcd18f4ebf2a71",
      "symbol": "GLITCH",
      "tx": "0xf261bcb6c8d8bf3fe9debbd9f012396c8e025eafbcb047d40c5ee66013df9ef9"
    }
  ],
  "updatedAt": 1789891871018
}
```

- **400**: Invalid parameters — `error` names the check that failed (`INVALID_PARAMS`, `BAD_ADDRESS`, `BAD_LIMIT`, `BAD_HOURS`, …).
