---
title: "LT deposits/withdrawals and gauge stakes/unstakes."
method: GET
path: "/v1/analytics/markets/deposits-withdrawals"
tags: ["markets"]
---

# LT deposits/withdrawals and gauge stakes/unstakes.

`GET /v1/analytics/markets/deposits-withdrawals`

One row per LT deposit/withdrawal or gauge stake/unstake; `venue` × `flowType` gives the four actions. `assetToken`/`assetDecimals` describe THAT ROW and flip with `venue` — the market asset on `lt`, the LT at 18dp on `gauge`. `sharesRaw` flips the same way. USD × 1e18, priced at the event's own block; `"0"` on a non-zero amount means unpriced, not free. On a `gauge` row `sharesUsdRaw` is the value of the assets leg, not a per-share price. `isMigration=1` marks every leg of an LT migration; render `resolvedOwner`, not `owner` — on a migration's intermediate leg the migrator owns the row and no user is named. Newest first; `isDesc` and `sortBy=date|amount` change it. New rows only prepend, so dedupe on `id` while paging. `minAmountUsd` drops priced rows under the given threshold ($0.1, $1, $100, $1000, $10000, $100000, $1000000); `totalCount` follows it. A row with a real amount and no USD value is kept whatever the threshold — unpriced is not filtered, and ranks at zero. Omitting `marketIdx` spans every market. `offset` is capped at 1000000 and a request past it is a 400 — narrow with `marketIdx`, `address` or `minAmountUsd`. A market whose asset the API does not know is a 500 for the whole list; name a `marketIdx` to read the others.

## Query parameters

- `chainId` string
- `limit` string — Integer 1-200; outside is a 400, never clamped.
- `offset` string — Integer 0-1000000; outside is a 400, never clamped.
- `marketIdx` string — Integer 0-64; outside is a 400, never clamped.
- `includeLegacy` 'true' | 'false'
- `minAmountUsd` '0.1' | '1' | '100' | '1000' | '10000' | '100000' | '1000000'
- `address` string
- `venue` 'lt' | 'gauge'
- `flowType` 'deposit' | 'withdraw'
- `isDesc` 'true' | 'false'
- `sortBy` 'date' | 'amount'

## Response `200`

LT deposits/withdrawals and gauge stakes/unstakes.

- object
  - `success` true, required
  - `data` object[], required
    - `id` string, required
    - `marketId` string, required
    - `blockNumber` number, required
    - `blockTimestamp` number, required
    - `transactionHash` string, required
    - `logIndex` number, required
    - `venueAddress` string, required
    - `venue` 'lt' | 'gauge', required
    - `flowType` 'deposit' | 'withdraw', required
    - `sender` string, required
    - `owner` string, required
    - `resolvedOwner` string, required
    - `receiver` string, required
    - `isMigration` number, required
    - `assetsRaw` string, required
    - `sharesRaw` string, required
    - `assetsUsdRaw` string, required
    - `sharesUsdRaw` string, required
    - `assetToken` string, required
    - `assetDecimals` number, required
  - `totalCount` string, required
  - `timestamp` string, required

## Other responses

- `400` — Invalid request
- `500` — Internal error
- `502` — Upstream data/schema error

---

[API](https://skmtc.dev/yieldbasis/apis/yieldbasis-api.md) · [All operations](https://skmtc.dev/yieldbasis/apis/yieldbasis-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/yieldbasis/yieldbasis-api/revisions/b5b24c7435c8/schema)
