① Watched addresses
Every address whose history belongs in this return — your wallets, your exchange deposit addresses, anywhere you held PRL. Validated in-browser as bech32m Taproot (prl1… / tprl1…). Nothing leaves this page.
② Import history
Pull transactions with GET-only Blockbook reads — the page never sends anything but read requests. One entry per txid even if several watched addresses touched it.
Opening balances
Held PRL before your earliest imported transaction? Add it here so FIFO never runs dry — date, amount, and the PRL/USD price that day.
Air-gapped paste
No network? Paste Blockbook /api/v2/tx/… JSON (one object or an array) — it is normalized exactly like a fetched tx. Input values must be present.
Imported transactions
| Date | Txid | Kind | Net (PRL) | Fee (PRL) | Status |
|---|
③ Classify every movement
The report refuses to run until each transaction has a classification. Buys, mining rewards, gifts and transfers each carry different tax meaning — only you can say which is which.
④ PRL/USD prices
Every acquisition and disposal needs the PRL/USD price on its date. Add them by hand or paste a date,price_usd CSV. The engine uses the latest price on or before each transaction — and refuses to run while any needed price is missing.
⑤ Capital-gains report
FIFO matching, grain-exact. Disposals split into short-term (≤ 365 days) and long-term lots. If anything is unclassified or a price is missing, the report refuses — loudly, with the exact gaps listed.
Disposals
| Acquired | Disposed | Description | Proceeds | Basis | Gain/Loss | Term |
|---|
Income (mining & other PRL income, at fair market value)
| Date | Type | Amount (PRL) | FMV (USD) | Txid |
|---|
Network fees (added to cost basis)
| Date | Description | Fee (PRL) | Basis consumed |
|---|
⑥ Export & data control
Everything lives in this browser's localStorage — nothing is uploaded anywhere. Take your reports and your working state with you, or wipe it.
Portable state
Danger zone
Honest limits
- Not tax advice. This is a bookkeeping aid. Crypto tax rules differ by jurisdiction and change — have a professional review the output before filing.
- FIFO only. No HIFO, LIFO, or specific identification. Every disposal consumes your oldest lots first.
- Prices are yours. There is no live price oracle; every USD figure derives from prices you entered. Wrong prices in, wrong gains out.
- Fees reduce the net. Network fees are disposed at zero proceeds — their basis reduces net gain / increases losses, and is also shown separately as “Fee basis consumed”.
- Gifts are simplified. Gifts received take fair-market-value basis at receipt; gifts given recognize no gain and claim no loss — the lots simply leave the books. Real carryover-basis rules may differ where you file.
- Transfers need their history. A transfer-in is booked at receipt-date FMV unless you set the original acquisition date — set it to preserve the true holding period. A transfer-out carries its basis to the other wallet with no taxable event here.
- Sends are netted; true mixes split. A send with change is modeled on its net outflow only — the change keeps its original lots. A tx co-signed by outside money is split into receive + send legs for you to classify.
- Unconfirmed transactions are excluded from the ledger and flagged in the import list.
- Read-only. The page never holds keys, never signs, never broadcasts. It cannot move your PRL.