FIFO cost-basis PnL on Robinhood Chain (PRO+)
Full FIFO cost-basis PnL for one RHC wallet over 90 days: realized and unrealized split, a daily realized curve, every closed position with ROI and token-weighted hold time, and every open position marked to the current price.
This runs the same FIFO implementation as the Solana /wallet/{address}/pnl — the algorithm is imported, not reimplemented — with ETH substituted for SOL. Field names keep the Solana convention with the denomination swapped (realized_eth, pnl_eth), so porting a Solana integration is a mechanical rename.
It also shares its loader with /rhc/wallet/{address}, so the two endpoints cannot report different PnL for the same wallet.
Cost basis is only observable inside the window (notes.cost_basis_observable_from). Tokens sold that were bought before it contribute no realized PnL rather than a fabricated one — figures read low, never invented.
Attribution floor (notes.attribution_complete_from, 2026-07-18): the window is clamped forward to this date because trader_eoa — the column every wallet endpoint filters on — was written for under half of earlier trades. The gap is ASYMMETRIC per wallet: a token's buys can carry it while its sell does not, which leaves FIFO holding a position that was actually closed. Analysing only the attributed era is narrower but honest. notes.window_clamped flags it. Cached 120s per address. Tier: PRO+.
Request
- Base URL: https://madeonsol.com/api/v1
- URL: https://madeonsol.com/api/v1/rhc/wallet/{address}/pnl
- Auth: HTTP bearer
Path parameters
Response
OK.
Example response
{
"window_days": 90,
"pnl_curve": [
{
"date": "2026-07-24"
}
]
}