Bitcoin first · built to hold more

Every satoshi you own, accounted for.

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

A ledger for Bitcoin, not a price ticker.

Exchange dashboards show what you hold there. Perly shows what you own everywhere, and what it cost you to get there.

Structured Bitcoin tracking
Every position is derived from transactions you recorded, so the number always has an audit trail behind it.
Multiple portfolios
Keep separate ledgers per exchange, strategy or custodian, and see them combined in one overview.
Transaction-level analytics
Fees, tags and notes attach to individual fills, so a position can be explained rather than just displayed.
Automatic calculations
Average cost basis, proportional basis release on sells, realized and unrealized PnL, ROI — recomputed on every edit.

Portfolio intelligence

The figures that actually answer a question.

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

Record a fill the way it actually happened.

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.

TypeExecuted (UTC)QuantityPriceFeeTags
BUY2026-06-19 08:11 UTC0.35$59,600.00$14.20
cold storage
SELL2026-04-02 11:20 UTC0.25$68,900.00$21.40
rebalance
BUY2026-01-08 15:04 UTC0.4$52,800.00$12.00
dca
BUY2025-11-14 09:32 UTC0.75$41,200.00$18.50
dca

Import

Start from a CSV, or start from scratch.

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.

Columns detected for you
Type, quantity, price, date and fee are matched from common header names; ISO, slash-dated and unix timestamps all parse.
Duplicates flagged, never silent
An exchange reference is used when the file has one; otherwise a deterministic fingerprint over the normalized fields.

Security

Isolation enforced by the database, not the interface.

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.

Private by construction
Portfolios, transactions, tags and notes are readable only by the account that created them.
Supabase authentication
Email and password with confirmation and password reset. Sessions are verified server-side on every request.
Row-level security
Policies are enabled and forced on every user-owned table, and a composite foreign key makes a transaction and its portfolio structurally unable to have different owners.
No keys, no custody
Perly never asks for a wallet, a seed phrase or an exchange API key. It cannot move your coins because it never touches them.

Where it goes

Bitcoin first — and nothing hardcoded to Bitcoin.

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.

Know what you hold, and what it cost you.