Retrieves a liquidity provider's return since inception (the first time they provided liquidity or received LP tokens) including fees earned, impermanent loss and related metadata. These values are calculated daily at midnight UTC.
Protocols Supported
This endpoint only supports Uniswap v2.
Blockchains Supported
This endpoint only supports data from
ethereum-mainnet
.
Not specifying date
If the date query parameter is not provided, the API will return the latest data, meaning from inception (first mint) date up to the current date.
positionOpen: false
When
positionOpen
isfalse
, that means the liquidity provider is no longer providing liquidity in the pool at the givendate
. HenceimpermanentLoss
andreturn
will be0
since there is no liquidity position.
Response Data
Field | Type | Description |
---|---|---|
payload.data[index].protocol | string | The name of the protocol, i.e. "uniswapv2". |
payload.data[index].timestamp | number | The UTC midnight timestamp at which the results were calculated. |
payload.data[index].firstLiquidityEvent | number | The first time the holderAddress provided liquidity to the pool. |
payload.data[index].poolAddress | string | The address of the token, i.e. the address of the pair or liquidity pool. |
payload.data[index].holderAddress | string | The address of the token holder, i.e. the address of the liquidity provider. |
payload.data[index].token0Address | string | The address of token0, i.e. the first token in the pool. |
payload.data[index].token1Address | string | The address of token1, i.e. the second token in the pool. |
payload.data[index].token0IfHeld | number | Token0 the liquidity provider holds at the end of the query interval if they simply held them in his wallet instead of providing liquidity. |
payload.data[index].token1IfHeld | number | Token1 position if the liquidity provider simply held these tokens and did not provide liquidity. |
payload.data[index].token0Lp | number | Token0 the liquidity provider holds at the end of the query interval. |
payload.data[index].token1Lp | number | Token1 the liquidity provider holds at the end of the query interval. |
payload.data[index].change0 | number | The difference between tokens0Lp and Tokens0IfHeld less fees. change0 = tokens0IfHeld - (tokens0Lp - fees0Total) |
payload.data[index].change1 | number | The difference between tokens1Lp and Tokens1IfHeld less fees. change1 = tokens1IfHeld - (tokens1Lp - fees1Total) |
payload.data[index].fees0Total | number | Token0 fees earned. fees0Total = fees0Unclaimed + fees0Claimed. |
payload.data[index].fees1Total | number | Token1 fees earned. fees1Total = fees1Unclaimed + fees1Claimed. |
payload.data[index].fees0Unclaimed | number | Token0 earned in trading fees that is unclaimed. |
payload.data[index].fees1Unclaimed | number | Token1 earned in trading fees that is unclaimed. |
payload.data[index].fees0Claimed | number | Token0 earned in trading fees that is claimed (as a result of burns or transfers). |
payload.data[index].fees1Claimed | number | Token1 earned in trading fees that is claimed (as a result of burns or transfers). |
payload.data[index].positionOpen | boolean | Indicates if the liquidity provider (holderAddress) still has liquidity in the pool i.e. they have not burned all their liquidity at this point in time. |
payload.data[index].lastLiquidityPosition | string | If positionOpen: false , this property provides the timestamp at which holderAddress removed the last of their liquidity from the pool. |
payload.data[index].price0 | number | Price of token0 in USD. |
payload.data[index].price1 | number | Price of token1 in USD. |
payload.data[index].fees | number | Total fees earned in USD. |
payload.data[index].feesClaimed | number | Total fees claimed in USD. |
payload.data[index].feesUnclaimed | number | Total fees unclaimed in USD. |
payload.data[index].impermanentLoss | number | Loss in USD as a result of providing liquidity (relative to holding). |
payload.data[index].return | number | Total USD return. |