NakedPnL vs CoinMarketCap Portfolio — Verified Performance vs Price Tracker
CoinMarketCap Portfolio is a free price-tracking dashboard for crypto holdings. NakedPnL is a public registry of verified time-weighted returns with hash-chained NAV history. The two are not substitutes.
- CoinMarketCap Portfolio is a free, manual-entry portfolio tracker run by CoinMarketCap. Its value is current price coverage and breadth, not third-party verifiability.
- NakedPnL is a public registry of verified track records, computed from daily NAV snapshots, chained with SHA-256, and anchored to Bitcoin via OpenTimestamps.
- CoinMarketCap Portfolio answers 'what is my portfolio worth right now'. NakedPnL answers 'can a stranger re-derive my time-weighted return from primary venue records'.
Verdict in one paragraph
CoinMarketCap Portfolio is a price-aware notebook. A user enters or imports holdings — manually, by CSV, or via a limited set of exchange API integrations — and the dashboard multiplies those balances by the current CoinMarketCap reference price to produce a portfolio value. There is no execution, no custody, no NAV history with audit-quality completeness, and no methodology document defining what the headline figure even means. NakedPnL refuses to be a price tracker and instead delivers what CoinMarketCap Portfolio cannot: a third-party-verifiable performance record. Daily NAV is pulled from the trader's connected venues (Binance, Bybit, OKX, IBKR, Kalshi, Polymarket) at 23:55 UTC, run through a TWR engine using Decimal.js precision, hashed with SHA-256, chained header-by-header to the previous day, and committed to Bitcoin via OpenTimestamps once a day. The two products live in different categories.
What they do differently
CoinMarketCap Portfolio's strength is breadth. The product covers the long tail of crypto assets — anything CoinMarketCap tracks a price for can be added to a portfolio entry. The user typically inputs balances by hand or imports from a CSV or one of a small number of supported exchange-API integrations. The dashboard then multiplies each balance by the CoinMarketCap reference price and totals the result. The user sees a current portfolio value, a 24-hour change figure, and per-asset weightings.
NakedPnL inverts the design. There is no manual entry, no CSV import, no price-multiplication. Each connected venue is queried directly for account-level state at a fixed daily cadence. The figure that lands in the chain is not 'sum of holdings × CoinMarketCap reference price' — it is the venue's own NAV figure for the account, captured as a SHA-256 hash of the canonicalised raw response. A reviewer who suspects the figure has been tampered with can pull a fresh snapshot from the same venue API and compare hashes; a reviewer who suspects the historical chain has been edited can re-walk the chain header by header and recompute every digest. The methodology guide on how to verify a track record yourself walks through the procedure end to end.
Feature comparison
| Criterion | NakedPnL | CoinMarketCap Portfolio |
|---|---|---|
| Category | Public registry of verified performance | Free price-driven portfolio tracker |
| Primary output | Time-weighted return + chained NAV history | Current portfolio value at CoinMarketCap reference prices |
| Custody | None — read-only API keys | None — manual entry or read-only sync |
| Trade execution | No execution | No execution |
| Performance metric used | Time-weighted return computed from daily NAV (Decimal.js precision) | Total portfolio value at current price; rough P&L vs cost basis |
| Cost-basis tracking | Not tracked at the lot level (out of scope) | Per-position purchase price input by the user |
| Data source | Direct read-only API pulls from the trader's venues | User-entered balances or limited exchange API sync |
| Verification model | SHA-256 content hash, append-only chain, Bitcoin-anchored Merkle root via OpenTimestamps | Internal database; user trusts CoinMarketCap to display correct figures |
| Independent re-verification | Yes — browser-side SHA-256 from raw exchange responses | Not designed for third-party re-derivation |
| Public profile of the account | Yes — opt-in, GDPR-consent gated | No — the dashboard is private to the account owner |
| Snapshot cadence | Daily NAV (23:55 UTC), retained forever | Continuous price tick updates |
| Asset coverage | Venue-account-centric (Binance, Bybit, OKX, IBKR, Kalshi, Polymarket) | Long-tail crypto coverage (any CoinMarketCap-listed token) |
| Cost | Free public registry; trader-side paid tiers for analytics depth and verification depth | Free with optional CMC accounts and rate limits |
| Privacy default | Profiles are private until the trader gives explicit GDPR consent | All data is private to the account owner by default |
Where each one is the right tool
- Tracking a long-tail bag of tokens by current price — CoinMarketCap Portfolio. NakedPnL records venue-account NAV, not per-token reference prices.
- Showing an outside allocator a verifiable track record — NakedPnL. CoinMarketCap Portfolio has no public profile.
- Manually entering an off-exchange holding — CoinMarketCap Portfolio. NakedPnL only accepts what its connected venue APIs return.
- Letting a fund analyst re-compute time-weighted return from raw exchange responses — NakedPnL. CoinMarketCap Portfolio is not designed for third-party re-derivation.
- Producing a single, comparable, time-weighted return across multiple connected venues — NakedPnL.
- Watching prices roll in real time on a free dashboard — CoinMarketCap Portfolio. NakedPnL surfaces are periodically updated and account-level, not tick-level.
Why the comparison surfaces a structural gap
The case people make for CoinMarketCap Portfolio as a verification surface is, when stated explicitly, a category error. A current valuation derived from manual holdings × current CMC price is a snapshot, not a track record. There is no historical NAV chain a reviewer can walk; there is no per-snapshot hash; there is no anchor to an external clock. If a user posts a CoinMarketCap Portfolio screenshot on social media as evidence of returns, the screenshot proves nothing more than that the user typed some numbers into a free utility on a particular afternoon. The methodology guide on why most public rankings are gameable goes through the structural failures of any private-dashboard product asked to function as third-party-verifiable proof.
NakedPnL accepts a narrower scope as the price for a stronger guarantee. It will never cover the long tail of obscure tokens the way CoinMarketCap does. What it will do, for the venues it does support, is produce a number any third party can re-derive on their own machine without trusting the registry. A trader who wants both can use both: CoinMarketCap Portfolio to glance at a long-tail bag of tokens, NakedPnL for the proof surface that reaches outside readers.
How verification differs in practice
If a trader publishes a CoinMarketCap Portfolio dashboard in a tweet, the viewer has no way to confirm the underlying holdings exist, the cost-basis figures are honest, or the position sizes match anything the trader actually controls. The data lives entirely in the user's CMC account; the only check is the screenshot itself, which can be edited or staged. None of this is an accusation against CoinMarketCap — these are structural limits of any product whose primary job is current-price multiplication, not append-only history.
A NakedPnL profile carries different guarantees. Every NavSnapshot row is hashed; every header hash chains to the previous day; the daily Merkle root is committed to Bitcoin via OpenTimestamps. A viewer who cares to check can pull the chain bundle, recompute the SHA-256 of every row, verify the chain head against the Bitcoin attestation, and re-run the TWR engine on the verified NAV series. The /verify/chain/[handle] page does this in the browser using the Web Crypto API. Reference Python and JavaScript snippets live at /docs/verification.
Pricing and access
CoinMarketCap Portfolio is free, with optional account creation that unlocks watchlists and minor personalisation. NakedPnL is free to view as a public registry; trader-side paid tiers exist for deeper analytics and higher verification depth (Bronze / Silver / Gold). The founding seat program is hard-capped at 100 lifetime seats and is enforced by a unique constraint at the database level.