Perly turns a scattered transaction history into a portfolio you can reason about. Record what you bought and sold, and it computes cost basis, realized and unrealized PnL, and ROI — from your ledger, not from an estimate.
No wallet connection. No private keys. Email and password.
Total BTC
1.25 BTC
across 3 portfolios
Current value
$89,312.50
Cost basis
$61,609.37
Average buy price
$49,287.49913
per BTC
Illustrative ledger, computed by Perly's own accounting engine.
What Perly is
Exchange dashboards show what you hold there. Perly shows what you own everywhere, and what it cost you to get there.
Portfolio intelligence
Am I up? By how much, and how much of that have I actually taken? What did this position cost me in fees? Perly is built around those questions.
Realized PnL
+$5,888.27
from completed sells
Unrealized PnL
+$27,703.13
at the current price
Total PnL
+$33,591.40
realized + unrealized
ROI
+46.06%
on capital committed
Transactions
BUY and SELL, with the fee, the exchange, the tags you sort by and a private note only you can read. Edit or delete any entry and every derived figure is recalculated — including entries you backdate.
| Type | Executed (UTC) | Quantity | Price | Fee | Tags |
|---|---|---|---|---|---|
| BUY | 2026-06-19 08:11 UTC | 0.35 | $59,600.00 | $14.20 | cold storage |
| SELL | 2026-04-02 11:20 UTC | 0.25 | $68,900.00 | $21.40 | rebalance |
| BUY | 2026-01-08 15:04 UTC | 0.4 | $52,800.00 | $12.00 | dca |
| BUY | 2025-11-14 09:32 UTC | 0.75 | $41,200.00 | $18.50 | dca |
Import
Upload an export from your exchange and Perly detects the columns, normalises the rows and shows you a preview. Likely duplicates are flagged and unticked before anything is written. Nothing is saved until you confirm — and manual entry works just as well if you would rather type it in.
Security
Hiding a button is not access control. Every portfolio and transaction row in Perly is protected by PostgreSQL row-level security scoped to the authenticated user, so a query that asks for someone else's data returns nothing at all.
Where it goes
Assets are rows, not special cases; the price source sits behind an interface; the accounting engine takes an asset id like any other. Bitcoin is simply the first asset enabled. Additional assets, richer history and further import adapters are planned — none of them are in the product today, and this page will not pretend otherwise.