---
title: "Get API public v1 pulse trader by address lifecycles"
method: GET
path: "/api/public/v1/pulse/trader/{address}/lifecycles"
---

# Get API public v1 pulse trader by address lifecycles

`GET /api/public/v1/pulse/trader/{address}/lifecycles`

## Request

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

## Path parameters

- `address` string, required

## Query parameters

- `coin` string
- `status` 'open' | 'closed' | 'all'
- `includeSpot` boolean
- `includeCensored` boolean
- `limit` integer
- `offset` integer

## Response `200`

OK

- WalletLifecyclesBody
  - `$schema` string, uri: A URL to the JSON Schema for this object.
  - `address` string, required
  - `coverage` LifecycleCoverage, required
    - `reason` string, nullable, required: Why the result is empty: untracked, outside the window, or filtered out. null when rows were returned.
    - `tracked` boolean, required: true when the lifecycle table has reconstructed at least one lifecycle for this wallet.
    - `windowEnd` string, required: RFC3339, the time of the query.
    - `windowStart` string, required: RFC3339. Later of (now - 90d) and the earliest lifecycle in the table.
  - `lifecycles` LifecycleRow[], nullable, required
    - `builderFee` number, double, required
    - `closedAt` string
    - `closedAtRaw` integer
    - `coin` string, required
    - `durationMs` integer
    - `entryVwap` number, double, required
    - `exitVwap` number, double
    - `fees` number, double, required
    - `fillCount` integer, required
    - `id` integer, required
    - `isClosed` boolean, required
    - `lifecycleNum` integer, required
    - `liquidationClosedPnl` number, double
    - `liquidationMethod` string
    - `liquidatorAddress` string
    - `openedAt` string, required
    - `openedAtRaw` integer, required
    - `openedBeforeWindow` boolean, required
    - `peakSize` number, double, required
    - `penaltyFeePaid` number, double
    - `realizedPnl` number, double, required
    - `side` string, required
    - `status` string, required
    - `wasLiquidated` boolean, required
  - `limit` integer, required
  - `offset` integer, required
  - `total` integer, required

## Other responses

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

## Changes

- **2026-09-23** `f2eba29805e5`: 8 info
  - added the non-success response with the status `403`
  - removed the non-success response with the status `401`
  - added the optional property `reason` to the response with the `400` status
  - added the optional property `reason` to the response with the `422` status
  - …4 more

[Operation history](https://skmtc.dev/coinversa/apis/coinversa-api/changes/api/public/v1/pulse/trader/:address/lifecycles/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)
