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

# Update a wallet transaction

Add or change a transaction's note, such as what a send was for.

`PATCH https://dash.402pay.co/api/v1/wallet/transactions/{id}`

A note is for your team, such as the order a payment was for or why a send went out. It's the only thing that changes: the rest records what happened on the network.

### Path

- `id` (string, required): The transaction's ID, such as `wtx_nXRP8NNOMtb4LySU`.

### Body

- `note` (string): Up to 280 characters. An empty string or `null` clears it.

### Errors

- 400 `invalid_request` A field is missing, unknown or out of range. `field` names it.
- 404 `not_found` No wallet transaction with that ID belongs to your business.

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

Request, cURL:

```bash
curl -X PATCH "https://dash.402pay.co/api/v1/wallet/transactions/wtx_nXRP8NNOMtb4LySU" \
  -H "Authorization: Bearer $PAY402_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "note": "Order 1042, Pro plan."
  }'
```

Request, Node.js:

```js
const response = await fetch("https://dash.402pay.co/api/v1/wallet/transactions/wtx_nXRP8NNOMtb4LySU", {
  method: "PATCH",
  headers: {
    Authorization: `Bearer ${process.env.PAY402_SECRET_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    note: "Order 1042, Pro plan."
  }),
});
const { data } = await response.json();
```

Request, Python:

```python
import os

import requests

response = requests.patch(
    "https://dash.402pay.co/api/v1/wallet/transactions/wtx_nXRP8NNOMtb4LySU",
    headers={
        "Authorization": f"Bearer {os.environ['PAY402_SECRET_KEY']}",
    },
    json={
        "note": "Order 1042, Pro plan."
    },
)
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": "Order 1042, Pro plan.",
    "created_at": "2026-09-26T21:23:13.447Z"
  }
}
```
