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

# Kamino Portfolio API

> Fetch a wallet's entire Kamino footprint across lending, multiply, leverage, liquidity, earn, private credit, and staking.

The Portfolio API returns a wallet's positions across **every Kamino product in one call**: lending, multiply, leverage, liquidity, earn, private credit, and staking. It's the single request a dashboard makes to paint the whole picture, plus a companion endpoint for pending farm rewards.

<Note>
  **Source data, composed by you.** Positions arrive already valued (each carries `value`/`price`), but portfolio-wide totals, net worth, and PnL are intentionally left to client composition, so you build exactly the rollups your app needs. See [Calculate portfolio totals](/docs/build/developers/portfolio/response#calculate-portfolio-totals).
</Note>

<Info>
  **No API key required.** All Portfolio endpoints are public on `https://api.kamino.finance`.
</Info>

## Endpoints

| Method | Endpoint                      | Returns                                         |
| ------ | ----------------------------- | ----------------------------------------------- |
| `GET`  | `/portfolio/{pubkey}`         | All positions across the seven product sections |
| `GET`  | `/portfolio/{pubkey}/rewards` | Pending farm rewards across all products        |

See the full field reference in [Portfolio response](/docs/build/developers/portfolio/response).

## What you can build

* **Portfolio dashboards:** render every position a wallet holds across Kamino from one request.
* **Liquidation and health monitors:** read `ltv` against `liquidationLtv` on lending, multiply, and leverage positions to alert before liquidation.
* **Net-worth and PnL tools:** sum `netValue` across sections and convert to USD with the [Oracle prices](/docs/build/developers/oracle/data/prices) endpoint.
* **Reward trackers:** surface pending farm rewards across lending, borrowing, and liquidity in one view.

## Quickstart

Fetch a wallet's full portfolio and count positions per product.

```typescript theme={null}
const WALLET = 'YOUR_WALLET_ADDRESS'; // replace with your wallet pubkey
const API = 'https://api.kamino.finance';

const portfolio = await (await fetch(`${API}/portfolio/${WALLET}`)).json();

console.log('Timestamp:', portfolio.timestamp);

const products = ['lending', 'multiply', 'leverage', 'liquidity', 'earn', 'privateCredit', 'staking'] as const;
products.forEach((p) => console.log(`  ${p}: ${(portfolio[p] || []).length} position(s)`));
```

<Note>
  Numeric fields are returned as **strings** (for example `"0.38"`, `"100.05"`). Parse them with `parseFloat` before doing math.
</Note>

## Next steps

<CardGroup cols={2}>
  <Card title="Portfolio response" icon="table-list" href="/docs/build/developers/portfolio/response">
    Full field reference for every product section, plus runnable examples.
  </Card>

  <Card title="API reference" icon="code" href="/docs/build/api-reference/portfolio/portfolio-source-data">
    The raw OpenAPI spec for both Portfolio endpoints.
  </Card>

  <Card title="Oracle prices" icon="satellite-dish" href="/docs/build/developers/oracle/data/prices">
    Convert position amounts to USD when composing totals.
  </Card>

  <Card title="Rewards" icon="seedling" href="/docs/build/developers/portfolio/response#pending-rewards">
    Read and aggregate pending farm rewards across products.
  </Card>
</CardGroup>
