FIFO cost-basis PnL with daily curve
Full per-wallet PnL: realized + unrealized SOL, profit factor, max drawdown, avg + median hold minutes, daily UTC PnL curve, closed positions sorted by pnl desc (with ROI %, hold minutes, win/loss/breakeven), and open positions hydrated with current prices from market-cap tracker.
Caching: stored in wallet_analyses with dynamic TTL — 5 min for wallets active in last 24h, 1h for 1-7d old, 24h for dormant. Every hit is validated against the wallet's trade head (audit F16): a wallet that traded after the cached analysis is recomputed (cache_invalidated: new_activity), so a resumed dormant wallet never gets a day-old answer. cache_age_seconds + computed_at carry the source age on a hit. Cache hits don't count against your daily quota.
Honesty note: two limits, both disclosed in the response. (1) Time — cost basis is only observable inside our 90-day data window, and capture itself starts 2026-04-12; a wallet that sold tokens bought before that has the overflow silently discarded rather than fabricated (notes.cost_basis_observable_from surfaces the cutoff). (2) Token universe — persisted trades are gated to the launchpad pipeline (pump.fun, LaunchLab/bonk, bags), so a wallet trading outside it is not partially covered but uncovered. The coverage object reports in_scope; when it is false, zero and empty results mean 'not captured', not 'no activity'. PRO+.
Request
- Base URL: https://madeonsol.com/api/v1
- URL: https://madeonsol.com/api/v1/wallet/{address}/pnl
- Auth: HTTP bearer
Path parameters
Response
OK
Changes
No recorded changes to this operation across all 2 revisions of this API.