Get PnL

The PnL (Profit and Loss) data is provided for a single token or DeFi position (asset locked in the protocol).


Calculation logic

  1. The current version is limited to open DeFi positions, while the next update will support historical closed positions as well.
  2. We separate the user’s own funds from rewards. This allows us to account for both Profit & Loss movements and rewards, while incoming transfers, top-ups, and withdrawals are not considered as sources of income or loss.

    For example, if you staked 1 ETH with Lido and later received 1 stETH, only rewards generated by Lido are counted, not the income transfer or your initial balance.

  3. We support blue chip tokens and DeFi positions across major EVM chains.

More details in the article

This endpoint allows you to retrieve the historical PnL for a given wallet address and position ID - tokens on the balance or DeFi positions (you can get them using the Portfolio endpoint).

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

Wallet address in a chain

string
enum
required

chain of the token

Query Params
string
enum
required

The category of the PnL. Available options:

  • erc20 → ERC-20 tokens
  • native → Native tokens
  • aave-v3-supply → AAVE V3 Lending
  • aave-v3-borrow → AAVE V3 Borrowing
  • uni-v2-supply → Uniswap V2
  • uni-v3-supply → Uniswap V3
  • sushi-v2-supply → SushiSwap V2
  • sushi-v3-supply → SushiSwap V3
  • lido → Lido
  • venus-supply → Venus Supply
  • venus-staking → Venus Staking
  • balancer-v2 → Balancer V2
  • aura → Aura
  • morpho-vault → Morpho Vault
  • morpho-market-supply → Morpho Market Supply
  • morpho-market-borrow → Morpho Market Borrow
  • morpho-market-collateral → Morpho Market Collateral
  • renzo → Renzo
  • ether-fi → Ether.fi
  • sky → Sky
  • euler-vesting → Euler Vesting
  • euler-supply → Euler Supply
  • euler-borrow → Euler Borrow
  • pendle → Pendle
  • ethena-staking → Ethena Staking
  • ethena-locked → Ethena Locked
  • ethena-cooldown → Ethena Cooldown
  • gearbox → Gearbox
  • fluid → Fluid
  • kiln → Kiln
  • compound-v3-supply → Compound V3 CToken Supply
  • compound-v3-borrow → Compound V3 Lending Borrow
  • compound-v3-reward → Compound V3 COMP Rewards
  • compound-v3-collateral → Compound V3 Lending Collateral
  • spark-sparklend-supply → Spark Sparklend Supply
  • balancer3-lp → Balancer V3 LP
  • pendle-amm → Pendle AMM
  • pendle-sy → Pendle SY
  • pendle-yt → Pendle YT
  • pendle-staking → Pendle Staking
  • pendle-spendle → Pendle sPendle
  • pendle-merkle-rewards → Pendle Merkle Rewards
string
required

The position ID, which depends on the category:

  • Uniswap V3 / SushiSwap V3 → "{Pool Address}-{Numeric NFT position ID}"
    (e.g., 0xf6c4e4f339912541d3f8ed99dba64a1372af5e5b-123456).
  • Uniswap V2 / SushiSwap V2 → Pool address (hash) (e.g., 0xf6c4e4f339912541d3f8ed99dba64a1372af5e5b).
  • Aave V3 / ERC-20 → aToken/aDebtToken address (e.g., 0xefd6c64533602ac55ab64442307f6fe2c9307305).
  • Morpho Vault → pool address (e.g., 0x0f359fd18bda75e9c49bc027e7da59a4b01bf32a)
  • Morpho Market Supply/Borrow/Collateral → Market id bytes
    (e.g., 0x64d65c9a2d91c36d56fbc42d69e979335320169b3df63bf92789e2c8883fcc64).
  • Lido → stETH/wstETH address (e.g., 0xae7ab96520de3a18e5e111b5eaab095312d7fe84).
  • Venus Supply → vToken address (e.g., 0xc82780db1257c788f262fbbda960b3706dfdcaf2).
  • Venus Staking → staking pool address (e.g., 0xa0882c2d5df29233a092d2887a258c2b90e9b994).
  • Balancer V2 → pool address (e.g., 0x1e19cf2d73a72ef1332c882f20534b6519be0276)
  • Aura → pool address (e.g., 0xdd1fe5ad401d4777ce89959b7fa587e569bf125d)
  • Renzo → ezETH, pzETH, ezREZ or ezEIGEN address (e.g., 0xdf6097a9e585E3d72556D19fA147562FfEf5D3C7)
  • Ether.fi → eETH, weETH or vault address (e.g., 0x35fa164735182de50811e8e2e824cfb9b6118ac2)
  • Sky → pool address (e.g., 0xa3931d71877c0e7a3148cb7eb4463524fec27fbd)
  • Euler → pool address (e.g., 0xf3e621395fc714b90da337aa9108771597b4e696)
  • Euler Vesting → pool address (e.g., 0xf3e621395fc714b90da337aa9108771597b4e696)
  • Euler Supply → "{eToken Address}-{subaccount index}" (e.g., 0xf3e621395fc714b90da337aa9108771597b4e696-3)
  • Euler Borrow → "{eDebtToken Address}-{subaccount index}"
    (e.g., 0x6200860bcdcb23d3b67a46769affeb91db2b175a-2)
  • Pendle → (AMM, SY, YT, PT, STAKING) pool address (e.g., 0x6d98a2b6cdbf44939362a3e99793339ba2016af4)
  • Gearbox → pool address, diselToken, dToken (e.g., 0xff94993fa7ea27efc943645f95adb36c1b81244b)
  • Curve → pool address of curve_lp_token/gauge_address/veCRV/scrvUSD/vesting
    (e.g., 0xecd5e75afb02efa118af914515d6521aabd189f1)
  • Curve Collateral → pool address of curve llamalend lending
    (e.g., 0xeda215b7666936ded834f76f3fbc6f323295110a)
  • Curve Borrow → pool address of curve llamalend lending (e.g., 0xeda215b7666936ded834f76f3fbc6f323295110a)
  • Fluid → fToken address of fluid yield (e.g., 0x6a29a46e21c730dca1d8b23d637c101cec605c5b)
  • Kiln → pool address of kiln (e.g., 0x2401c39d7ba9e283668a53fcc7b8f5fd9e716fdf)
  • Compound V3 Supply → cToken address (e.g., 0xc3d688b66703497daa19211eedff47f25384cdc3)
  • Compound V3 Lending Borrow → cToken address (e.g., 0xc3d688b66703497daa19211eedff47f25384cdc3)
  • Compound V3 COMP Rewards → cToken address (e.g., 0xc3d688b66703497daa19211eedff47f25384cdc3)
  • Compound V3 Lending Collateral → cToken-collateral_token_address address
    (e.g., 0xc3d688b66703497daa19211eedff47f25384cdc3-0x2260fac5e5542a773aa44fbcfedf7c193bc2c599).
integer
≥ 0

The end timestamp in milliseconds

  • Default: now - 30 days
integer
≥ 0

The start timestamp in milliseconds

  • Default: now
string
enum
Defaults to day

Granularity

  • Default: 1 day
Allowed:
integer
2 to 100
Defaults to 100

The maximum number of points to return

  • Default: 100
  • Max: 100
Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json