---
title: "Wallet monthly PnL Sharpe"
method: GET
path: "/api/public/v1/pulse/trader/{address}/sharpe/monthly"
---

# Wallet monthly PnL Sharpe

`GET /api/public/v1/pulse/trader/{address}/sharpe/monthly`

## Request

- Base URL: `https://api.coinversa.ai`
- URL: `https://api.coinversa.ai/api/public/v1/pulse/trader/{address}/sharpe/monthly`
- Auth: API key in header `X-API-Key`
- TypeScript: <https://skmtc.dev/coinversa/apis/coinversa-api/docs/api/public/v1/pulse/trader/:address/sharpe/monthly/get.ts> (a function with typed inputs; its response is checked against the schema)

Annualized gross realized-PnL Sharpe proxy: sqrt(365) * mean daily PnL / sample standard deviation, with risk-free return zero. Not equity-normalized portfolio Sharpe; excludes fees, funding and unrealized PnL. Days without fills count as zero. Only completed UTC days are included; today is excluded. No equity eligibility filter applies to wallet routes. Returns exactly three buckets, newest first. useCalendarMonths defaults to false: the last 30 completed days, the previous 30, and the previous 30 (90 days total). True uses the current partial UTC month and two preceding full UTC months, capped at 93 days and excluding all earlier months. On the first of a month the current bucket is empty with a null score. Each bucket exposes its actual dates, day count and asOf.

## Path parameters

- `address` string, required: Hyperliquid wallet address.

## Query parameters

- `useCalendarMonths` boolean: False: three consecutive 30-day UTC buckets, newest first. True: completed days of the current UTC month plus the two preceding full calendar months, newest first; at most 93 days, with no earlier months included. Today is always excluded.

## Response `200`

OK

- TraderSharpeMonthlyBody
  - `$schema` string, uri: A URL to the JSON Schema for this object.
  - `asOf` string, date-time, required: Midnight UTC today; the current UTC day is excluded.
  - `buckets` TraderSharpeBody[], nullable, required: Exactly three buckets, newest first. On the first of a UTC month the current-month bucket has zero days, zero statistics, and a null Sharpe ratio.
    - `$schema` string, uri: A URL to the JSON Schema for this object.
    - `annualizedPnlSharpe` number, double, nullable, required: Null with fewer than two completed days or zero daily PnL variance.
    - `asOf` string, date-time, required: Midnight UTC at the exclusive end of the data window; not the calculation time.
    - `calculatedAt` string, date-time, required
    - `days` integer, required
    - `endDayExclusive` string, required: Exclusive UTC date.
    - `meanDailyPnl` number, double, required
    - `realizedPnl` number, double, required
    - `startDay` string, required: Inclusive UTC date.
    - `stdDailyPnl` number, double, required
    - `trades` integer, required
    - `wallet` string, required
  - `calculatedAt` string, date-time, required
  - `useCalendarMonths` boolean, required
  - `wallet` string, required

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `404`: Not Found
- `422`: Unprocessable Entity
- `429`: Too Many Requests
- `500`: Internal Server Error
- `504`: Gateway Timeout

## Changes

- **2026-10-14** `e668ee30bd24`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/coinversa/apis/coinversa-api/changes/api/public/v1/pulse/trader/:address/sharpe/monthly/get.md)

---

[API](https://skmtc.dev/coinversa/apis/coinversa-api.md) - [All operations](https://skmtc.dev/coinversa/apis/coinversa-api/llms.txt) - [OpenAPI document](https://skmtc.dev/coinversa/apis/coinversa-api/revisions/3454317a5830?raw)
