---
title: "GET /yield/gm-user-earnings"
method: GET
path: "/yield/gm-user-earnings"
tags: ["Yield"]
---

# GET /yield/gm-user-earnings

`GET /yield/gm-user-earnings`

## Request

- Base URL: `https://arbitrum.gmxapi.io/v1`
- URL: `https://arbitrum.gmxapi.io/v1/yield/gm-user-earnings`
- Auth: none required
- TypeScript: <https://skmtc.dev/gmx/apis/gmx-io-gmx-public-api/docs/yield/gm-user-earnings/get.ts> (a function with typed inputs; its response is checked against the schema)

Lifetime and last-7-day LP fee earnings of one wallet, one row per GM market token it has ever held; pools that were delisted since are included.
USD values are 30-decimal fixed-point integers encoded as strings. Fees are attributed to GM held in the wallet on this chain; GM in a GMX Account or bridged to another chain is not attributed.

## Query parameters

- `account` string, required

## Response `200`

Success

- GmUserEarningsResponse: Recursively converts bigint types to string types in a type definition. Handles primitives, objects, arrays, and nested structures. Preserves Date type as-is.
  - `pools` object[], required
    - `marketToken` string, required
    - `recent7dFeeUsd` string, required
    - `lifetimeFeeUsd` string, required
  - `window` object, required
    - `endTimestamp` number, double, required
    - `startTimestamp` number, double, required
    - `days` number, double, required
  - `account` string, required

## Other responses

- `400`: Invalid account address
- `503`: Earnings data is not available or still warming up

## Changes

- **2026-09-24** `93aad18dc79d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/gmx/apis/gmx-io-gmx-public-api/changes/yield/gm-user-earnings/get.md)

---

[API](https://skmtc.dev/gmx/apis/gmx-io-gmx-public-api.md) - [All operations](https://skmtc.dev/gmx/apis/gmx-io-gmx-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gmx/apis/gmx-io-gmx-public-api/revisions/f140bd95ce1d?raw)
