> For the complete documentation index, see [llms.txt](https://docs.aevo.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aevo.xyz/api-reference/urls/private-api/getportfolio.md).

# GET /portfolio

Returns the overall portfolio details of the account.

`GET https://api.aevo.xyz/portfolio`

> **Authentication required.** Include your `AEVO-KEY` and `AEVO-SECRET` headers. See [Authentication](/api-reference/urls/authentication.md).

## Example Request

```bash
curl --request GET \
     --url https://api.aevo.xyz/portfolio \
     --header 'accept: application/json' \
     --header 'AEVO-KEY: <your-api-key>' \
     --header 'AEVO-SECRET: <your-api-secret>'
```

## Responses

**`200`** — Portfolio details.

| Field           | Type           | Required | Description                                                     |
| --------------- | -------------- | -------- | --------------------------------------------------------------- |
| `balance`       | string         | Yes      | Balance. Example: `12.23`                                       |
| `pnl`           | string         | Yes      | Profit and loss. Signed float string. Example: `12.23`          |
| `realized_pnl`  | string         | Yes      | Realized profit and loss. Signed float string. Example: `12.23` |
| `profit_factor` | string         | Yes      | Profit Factor. Example: `1.4`                                   |
| `win_rate`      | string         | Yes      | Win rate. Example: `12.23`                                      |
| `sharpe_ratio`  | string         | Yes      | Sharpe ratio. Example: `12.23`                                  |
| `greeks`        | array\[object] | No       |                                                                 |
| `user_margin`   | object         | No       |                                                                 |

**`401`** — Unauthorized.

| Field   | Type   | Required | Description                            |
| ------- | ------ | -------- | -------------------------------------- |
| `error` | string | Yes      | Error message. Example: `UNAUTHORIZED` |

**`429`** — Rate limit exceeded.

| Field   | Type   | Required | Description                                   |
| ------- | ------ | -------- | --------------------------------------------- |
| `error` | string | Yes      | Error message. Example: `RATE_LIMIT_EXCEEDED` |

**`500`** — Internal server error.

| Field   | Type   | Required | Description                              |
| ------- | ------ | -------- | ---------------------------------------- |
| `error` | string | Yes      | Error message. Example: `INTERNAL_ERROR` |
