Crypto tax tracker IT 2026 · cost basis dal 16.03.2026 · aliquota 33%
| Provider | Wallet | Ticker | Saldo | Iniziale | Prezzo EUR | Valore EUR | Valore @ ATH | % alloc | Tipo |
|---|
| Wallet | Saldo | Iniziale | Valore EUR | Valore @ ATH |
|---|
| Ticker | Prezzo EUR | ATH EUR | % portfolio | Sorgente | Pair | Aggiornato |
|---|
| Ticker | Prezzo EUR @ 16.03.2026 | Sorgente |
|---|
Modifica solo via JSON / chat — non editabile inline (regola del progetto).
| Data | Ticker | Wallet | Provider | Qty | Prezzo | Tot netto | Costo | P/L | Note |
|---|
| Data | Token | Exchange | Wallet | Quantità | Prezzo vend. (€) | Totale (€) | Carico 16/03 (€) | Fonte | Capital gain (€) | Tassa 33% (€) | Note |
|---|
| Token | Prezzo carico (€) | Fonte | Pair Binance | Override manuale |
|---|
| Anno formazione | Minus formata | Compensata | Residuo riportabile | Scadenza |
|---|
/api/v3/klines, candela 1d). Prezzo: (Open + High + Low + Close) / 4. TOKEN/EUR se disponibile, altrimenti TOKEN/USDT convertito con EURUSDT dello stesso giorno.Capital gain = Totale incassato − (Quantità × Prezzo di carico). Il "totale incassato" è il campo "totale netto" inserito manualmente (include già le commissioni dell'exchange). Se il capital gain è positivo si tratta di una plusvalenza; se negativo di una minusvalenza.Base imponibile netta = Plusvalenze lorde − Minusvalenze realizzate. Se le minusvalenze superano le plusvalenze, la base imponibile è zero; l'eventuale residuo può essere riportato negli anni successivi (4 anni, art. 68 TUIR) — verificare con il commercialista. Nella tabella dettaglio, le righe in perdita riportano la dicitura "compensa" nella colonna tasse.Tassa = Base imponibile netta × 33%. Il versamento avviene tramite dichiarazione dei redditi (Modello Redditi PF, quadro RT) oppure tramite imposta sostitutiva con affrancamento se applicabile.Cost basis al 16/03/2026. Data di iscrizione all'anagrafe italiana e di decorrenza della residenza fiscale (art. 67 c-ter TUIR). Per ogni ticker il valore di carico convenzionale è il prezzo di mercato di quel giorno: Binance OHLC÷4 in EUR diretto o tramite USDT × EURUSDT, con fallback CoinGecko per ticker non listati su Binance (XDC, XPL, VSN…). Il bottone Calcola carico 16/03 nel tab Fiscale ricalcola l'intero set; le entry con source:"manual" e prezzo > 0 vengono preservate.
Aliquota 33%. Si applica dal 16/03/2026 a tutte le plusvalenze su cripto-attività (Legge di Bilancio 2025, art. 1 co. 24). Tutte le vendite registrate qui sono post-residenza, quindi soggette uniformemente a 33%.
Compensazione plus/minus same-year. Le minusvalenze realizzate nell'anno riducono la base imponibile delle plusvalenze stesso anno: Base imponibile = max(0, plus − minus). Tassa = base × 33%.
Riporto minus 4 anni. Se le minus eccedono le plus, l'eccedenza si riporta agli anni successivi fino a 4 (art. 68 TUIR). Il tab Fiscale mostra il riporto residuo e l'anno di scadenza per ciascuna tranche.
⚠ Tool di supporto personale, NON costituisce consulenza fiscale. Verificare sempre col commercialista prima del Modello Redditi PF (quadro RT) e quadro RW per il monitoraggio fiscale degli exchange esteri.
↻ Aggiorna prezzi correnti. Fetcha live i prezzi di mercato da Binance + CoinGecko (per i ticker non su Binance) e li scrive in state.refPrices. Puoi cliccarlo quante volte vuoi: è puro cache live, nessun limite pratico. Auto-refresh all'apertura della app se i prezzi sono vecchi più di 30 minuti.
↑↓ Sync. Pull → Push verso il repo privato tr4ck3r-data via GitHub API. Da fare dopo qualunque modifica che vuoi conservare: nuova vendita, click su Calcola carico, edit manuali. Senza Sync le modifiche restano solo nel localStorage di questo browser. NON serve dopo "Aggiorna prezzi" — quel cache si rigenera live.
Anonymity mode. Bottone in alto a destra. Quando ON sfoca tutti gli importi €, le quantità e i P/L (classe .sensitive). Date, ticker, percentuali, label provider/exchange restano sempre leggibili. Stato persistito in localStorage.
↓ JSON / ↑ JSON. Export/import manuale dell'intero state — utile per backup di emergenza o per migrare a un altro browser senza Sync.
Provider. Swissquote (banca FINMA, multi-asset XRP + 6 ticker) e Bitpanda (Austria VASP, 10 ticker incluse small cap come AERO/RSR/XDC/XPL/VSN). Entrambi pre-residenza italiana — i saldi attuali sono il risultato del trasferimento al 16/03.
Wallet logici. Per Swissquote XRP ci sono 6 wallet storici (5 fissi + 0r4ng3 "resto"). Gli altri ticker hanno 1 wallet ciascuno (sq_*, bp_*). I 5 fissi (brun0rti1, m4tt14, s1st3r, p4gl14, b1n0) sono mostrati in tabella separata "legacy" e esclusi dai KPI principali per non gonfiare i totali.
Fonti prezzi. Cost basis = Binance kline 1d OHLC÷4 al 16/03/2026 (EUR diretto o via USDT × EURUSDT). Prezzi correnti = Binance ticker live. Fallback CoinGecko per ticker assenti da Binance (`/coins/{id}/history` per cost basis con throttling 12s, `/simple/price` per current in singola batched call).
Storage. Runtime in localStorage chiave tr4ck3r_state_v1. Sync via GitHub API (Fine-grained PAT scope tr4ck3r-data, Contents r/w) salvato in tr4ck3r_gh_pat dietro Cloudflare Access OTP. V1 last-write-wins basato su state.exportedAt.
Valore totale. Σ (balance × prezzo_corrente) sui wallet main (esclusi 5 legacy XRP). È il valore di mercato del portfolio adesso.
P/L latente netto. (Valore totale − Costo basis) al netto del 33%. Cioè: cosa ti resterebbe in tasca dopo le tasse se vendessi tutto adesso. Le minus latenti restano intere (non pagano tasse). Il meta sotto mostra il valore lordo.
Top 5 ticker. I 5 ticker con maggiore allocazione EUR sui wallet main, con la rispettiva % e la concentrazione cumulata. Snapshot della concentrazione del portfolio.
Valore per provider. Suddivisione del Valore totale tra Swissquote e Bitpanda (esclusi i 5 legacy XRP), con importi e percentuali. Snapshot della concentrazione tra exchange.
Diario fiscale, decisioni col commercialista, scadenze, qualunque cosa. Salvato automaticamente in state.knowledgeNotes; ricordati di fare Sync per propagarlo.