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

# User Borrow/Lend Interest

> Streams borrower charges and lender interest income.

```json Message theme={null}
{
  "channel": "userBorrowLendInterest",
  "data": {
    "user": "0x1111111111111111111111111111111111111111",
    "isSnapshot": false,
    "blockNumber": 123,
    "interest": [
      {
        "time": 1792108800000,
        "token": "USDC",
        "borrow": "0.01",
        "supply": "0",
        "ledger": {
          "id": "opaque-projection-row-id",
          "time": 1792108800000,
          "hash": "0xabc",
          "delta": {
            "type": "interest",
            "coin": "USDC",
            "usdc": "-0.01",
            "szi": "1000",
            "rate": "0.00001"
          }
        }
      }
    ]
  }
}
```

Hyperliquid
Polymarket

## Subscribe

```json theme={null}
{
  "method": "subscribe",
  "subscription": {
    "type": "userBorrowLendInterest",
    "user": "0x1111111111111111111111111111111111111111"
  }
}
```

## Response

```json Message theme={null}
{
  "channel": "userBorrowLendInterest",
  "data": {
    "user": "0x1111111111111111111111111111111111111111",
    "isSnapshot": false,
    "blockNumber": 123,
    "interest": [
      {
        "time": 1792108800000,
        "token": "USDC",
        "borrow": "0.01",
        "supply": "0",
        "ledger": {
          "id": "opaque-projection-row-id",
          "time": 1792108800000,
          "hash": "0xabc",
          "delta": {
            "type": "interest",
            "coin": "USDC",
            "usdc": "-0.01",
            "szi": "1000",
            "rate": "0.00001"
          }
        }
      }
    ]
  }
}
```

## Response Fields

**channel** `string`

Always `userBorrowLendInterest`.

**data.user** `string`

Account owner's wallet address, normalized to lowercase.

**data.isSnapshot** `boolean`

`true` for the initial snapshot, including an empty one; `false` for live updates.

**data.blockNumber** `number`

Latest committed Notional block covered by this message.

**data.interest\[]** `object`

Interest charges and income. The initial snapshot contains
the latest 100 matching rows, oldest first. Live batches contain at most 100 new or changed rows.
USDC supplier rewards use [User Non-Funding Ledger Updates](/api-reference/websocket/user-non-funding-ledger-updates).
pUSD supplier yield is not currently itemized.

**child attributes**

**time** `number`

Ledger time in Unix milliseconds. pUSD borrower interest uses the accrual interval end.

**token** `string`

Asset symbol. pUSD borrower charges remain denominated in pUSD.

**borrow** `string`

Positive decimal magnitude of a borrower charge, in `token` units; `"0"` for lender income.

**supply** `string`

Positive decimal lender income in `token` units; `"0"` for borrower charges.

**ledger** `object`

[Ledger row](/api-reference/info-endpoints/ledger#response-fields),
preserving the signed amount, eligible balance or debt, rate basis, and any APR or accrual
interval. Upsert by `ledger.id`; separate interest legs can share a token and timestamp.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.