Buy Airtight — Private Portfolio Tracker on SellApp
\n Alpine.data('dialogComponent', (initialState) => ({\n isOpen: false,\n isLoading: false,\n dialogOpenCallback: [],\n dialogCloseCallback: [],\n\n init() {\n this.isOpen = initialState === 'open';\n this.$initComponents();\n\n this.$watch('isOpen', (value) => {\n if (!value) {\n this.close(null);\n }\n });\n },\n\n dispatch(event, detail) {\n this.$root.dispatchEvent(\n new CustomEvent(event, {\n bubbles: true,\n detail,\n })\n );\n },\n\n open(event) {\n this.isOpen = true;\n\n this.dialogOpenCallback.forEach((fn) => {\n fn(event);\n });\n },\n\n onDialogOpen(callback) {\n this.dialogOpenCallback.push(callback);\n },\n\n close(event) {\n this.isOpen = false;\n\n this.dialogCloseCallback.forEach((fn) => {\n fn(event);\n });\n },\n\n onDialogClose(callback) {\n this.dialogCloseCallback.push(callback);\n },\n }));\n\n "},"url":{"variantSelected":{"as":"variant","use":"replace","alwaysShow":false,"except":null},"purchase_quantity":{"as":"quantity","use":"replace","alwaysShow":true,"except":null},"via":{"as":"via","use":"replace","alwaysShow":false,"except":null},"couponCode":{"as":"coupon","use":"replace","alwaysShow":false,"except":null},"customer_email":{"as":"email","use":"replace","alwaysShow":false,"except":null},"payment_method":{"as":"payment_method","use":"replace","alwaysShow":false,"except":null}}}" wire:id="WnYvAOI2s9xDc64cfYlF" wire:name="store.listings.show" class="min-h-screen w-full space-y-2 p-6">
Airtight — Private Portfolio Tracker
1) {<br>this.currentSlideIndex = this.currentSlideIndex - 1<br>} else {<br>this.currentSlideIndex = this.slides.length<br>},<br>next() {<br>if (this.currentSlideIndex
1"<br>type="button"<br>class="absolute top-1/2 left-5 z-20 flex -translate-y-1/2 items-center justify-center rounded-full bg-white/40 p-2 text-zinc-600 transition hover:bg-white/60 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-black active:outline-offset-0 dark:bg-zinc-950/40 dark:text-zinc-300 dark:hover:bg-zinc-950/60 dark:focus-visible:outline-white"<br>aria-label="Previous image"<br>x-on:click="previous()"
1"<br>type="button"<br>class="absolute top-1/2 right-5 z-20 flex -translate-y-1/2 items-center justify-center rounded-full bg-white/40 p-2 text-zinc-600 transition hover:bg-white/60 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-black active:outline-offset-0 dark:bg-zinc-950/40 dark:text-zinc-300 dark:hover:bg-zinc-950/60 dark:focus-visible:outline-white"<br>aria-label="Next image"<br>x-on:click="next()"
1"<br>class="absolute bottom-3 left-1/2 z-20 flex -translate-x-1/2 gap-4 rounded-full bg-white/75 px-1.5 py-1 md:bottom-5 md:gap-3 md:px-2 dark:bg-zinc-950/75"<br>role="group"<br>aria-label="Expanded product images"
1"<br>type="button"<br>class="absolute top-1/2 left-3 z-20 flex -translate-y-1/2 items-center justify-center rounded-full bg-white/10 p-3 text-white transition hover:bg-white/20 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white sm:left-6"<br>aria-label="Previous image"<br>x-on:click="previous()"<br>dusk="expanded-product-image-previous"
1"<br>type="button"<br>class="absolute top-1/2 right-3 z-20 flex -translate-y-1/2 items-center justify-center rounded-full bg-white/10 p-3 text-white transition hover:bg-white/20 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white sm:right-6"<br>aria-label="Next image"<br>x-on:click="next()"<br>dusk="expanded-product-image-next"
1"<br>class="absolute bottom-4 left-1/2 z-20 flex -translate-x-1/2 gap-3 rounded-full bg-white/10 px-3 py-2 sm:bottom-6"<br>role="group"<br>aria-label="Expanded product image selection"
One-time purchase · Instant download<br>Know what you own . Keep it to yourself. Airtight is a privacy-first crypto portfolio tracker that runs entirely in your browser. Your trades, your balances, your profit-and-loss — it all stays on your device. No cloud accounts. No analytics. No telemetry. Just you and your numbers.<br>Why Airtight? Most portfolio trackers want you to create an account, sync your exchange via API, and trust them with your financial data. Airtight doesn't. It's a single HTML file. You open it locally, import your trades, and get a professional-grade portfolio dashboard — without ever sending a byte of your data anywhere.<br>What it does<br>- Multi-exchange import — drop in CSVs from 70+ exchanges and wallets. Coinbase, Binance, Kraken, Hyperliquid, Revolut, Ledger — they all work.<br>- 850+ live prices, Option to add your own Coingecko API for optimal crypto prices coverage.<br>- FIFO cost basis — realized and unrealized P&L calculated properly, not guessed.<br>- Portfolio analytics — composition breakdown, category allocation, holdings table with every position.<br>- AES-GCM encryption — optionally password-protect your data at rest. Even if someone gets your laptop, they can't read your portfolio.<br>- Manual entry + PDF import — not everything comes as a clean CSV. Add holdings manually or extract trades from PDF statements.<br>How it works<br>1. Buy —...