Solana · any wallet · from chain data

Your real PnL, on a card.

Paste a wallet and a token CA. We replay every buy and sell of that token from the wallet's own transactions, price what is still held with Jupiter, and draw a card you can post. If the history is incomplete, the card says so.

How it counts

Chain data, average cost, no guessing.

Only this token

We find the wallet's token accounts for the mint (including closed ones, by deriving the associated account) and read up to 2,000 signatures. The newest 150 are parsed in full.

Buys and sells

A buy is the token balance going up while SOL (or wrapped SOL) goes down. A sell is the opposite. Fees and account rent are included in what you paid and got, as they really left or reached the wallet.

Average cost

Realised PnL uses your average entry. Unrealised PnL is the live balance at Jupiter's current price minus what those tokens cost you.

What makes it partial

Very long histories past the cap, transactions the RPC would not return, tokens that arrived by transfer (counted at zero cost) and sells of tokens bought before the parsed window. The card prints "partial" when any of these happen.

USD is today's SOL price

PnL is measured in SOL, which is what moved. The USD figure multiplies it by the current SOL price, not the price on each trade day. USDC-quoted trades are converted at today's SOL price too.