Solana data

A wallet's liquidity events

Adds, removes, fee claims, opens and closes, newest first (the wallet as the position's owner). A close row of a DLMM close_position2 or a Raydium CLMM position has no pool: the instruction does not carry it.

Liquidity on Solana from Chord's own tape: adds, removes, fee claims, position opens and closes, decoded from the same blocks as the swaps. No key needed.

  • Venues. Meteora DLMM, Meteora DAMM v2, Raydium CLMM and PumpSwap. Orca Whirlpools, Raydium CPMM / v4 and Meteora dynamic pools are not read yet.
  • Since. since is when LP decoding started (2026-10-06 15:53 UTC); windows never start before it. A position opened earlier is partial: true and carries no PnL.
  • Fees are claimed fees. An LP's fees appear when it claims them, so a window's fees understate what the pool earned, and one claim can hold days of fees.
  • Positions. One row per position account (DLMM / DAMM v2 position, Raydium CLMM position NFT, PumpSwap LP token account), rebuilt from all its events. lower / upper are DLMM bin ids or Raydium CLMM ticks; null = full range. Realized PnL = withdrawn + fees claimed − deposited, only for a position seen from its open to its close with every amount priced. An open position's current value is not in the events: none is given.
  • Amounts are whole tokens in the pool's own order (mintA / mintB); USD is valued when the event happened. Each add / remove / claim is checked against the pool vaults' balance changes in the same transaction (verified).
  • Addresses are base58 and case-sensitive, as on the other Solana routes.
get/chains/solana/lp/wallet/{address}/events

Request

  • Base URL: https://api.getchord.xyz/v1
  • URL: https://api.getchord.xyz/v1/chains/solana/lp/wallet/{address}/events
  • Auth: none declared

Path parameters

addressstring required

Solana address, base58, case-sensitive. Never lower-case it.

Wallet address, base58.

Query parameters

limitinteger
beforeinteger

Exclusive cursor, Unix seconds: rows strictly older than it. Pass the last row's ts for the next page. Several swaps can share a second, so a page boundary can skip the rest of that second: overlap with ts + 1 and drop rows whose tx you already have.

Response

chain'solana'
ownerstring

Solana address, base58, case-sensitive. Never lower-case it.

nextBeforeinteger nullable

Unix time, seconds, UTC.

Changes

No recorded changes to this operation across all 2 revisions of this API.