ZeroLedger

Market view · public price table

—

Loading the public price table…

How it works

The ledger

Every holding, reconciled in your browser

Net worth—
Wallets0
Priced tokens0
Unpriced / NFTs0
TokenAmountPriceValue24 hShare
Your holdings appear here once you unlock your vault and add a wallet.

History

Premium

Your recorded net worth over time, next to what today's holdings were worth at past prices (hourly, last 30 days, from our public price history).

Unlock premium to chart your history.

Recorded valueToday's holdings at past prices

Encrypted backup

Export: premium

Export your vault as a file locked with a passphrase of your choice — move it to another browser or keep it offline. Importing a file is always free.

Settings

Stored encrypted

What it is

A portfolio tracker that keeps your wallet list to itself

Most portfolio sites ask for your addresses and keep them on a server, tied to your IP and browser. ZeroLedger never receives them. Your list of wallets is encrypted in this browser with your passphrase, balances are read straight from a Solana RPC you choose, and prices come from one public table that every visitor downloads in full.

  • For people with several wallets who want one view without registering them anywhere.
  • Answers "what am I worth right now?" across SOL, SPL and Token-2022 holdings, in USD.
  • Nothing to sign up for. No account, no email, no wallet connection needed to track.
  • Readable at a glance — a 3D vault for the shape of your portfolio, a ledger table for the exact numbers.

What you're looking at

Reading the vault

Prism height = USD value

Each prism is one token in one wallet. Height follows the square root of its dollar value, so a $50 position is still visible next to a $5,000 one. The exact numbers are in the ledger table.

Plinth = one wallet

Every wallet you add gets its own round plinth with a coloured rim. Its biggest holdings stand at the centre and smaller ones spiral outward. The label under it shows your label and that wallet's total.

Glowing cap = wallet colour

In your portfolio, cap colour tells you which wallet holds the token. In the market view (before you add wallets) it shows the 24-hour move instead: mint for up, rose for down.

Grey stubs = no price

Tokens we can't price (no Jupiter price, or the direct lookup is switched off) stand as short grey stubs. They are counted, never guessed.

The floor is a ledger page

Ruled lines and a red margin, like the paper ledgers the app is named after. A ring of light runs across it each time balances are reconciled.

Move around

Drag to orbit, tap or hover a prism for its numbers. The wheel scrolls the page; to zoom, hold Ctrl (or pinch) or scroll right after touching the vault.

How it works

Three parties, and only one of them knows your wallets

  1. 1

    Jupiter → our server

    Every 60 s our server asks Jupiter's keyless price API for ~300 top Solana tokens and builds one public table. Hourly snapshots of that table make up the 30-day price history.

  2. 2

    Our server → everyone

    Every visitor downloads the same table, byte for byte. Because nobody asks for "their" tokens, the download says nothing about what you hold.

  3. 3

    Your browser ↔ Solana RPC

    Your browser decrypts your wallet list and asks a Solana RPC for getBalance and getTokenAccountsByOwner (Token and Token-2022). By default that is the Solana public RPC, falling back to Solana Vibe Station's public RPC if the first refuses; or your own URL. The provider that answers sees those addresses and your IP; we don't.

  4. 4

    Your browser → Jupiter (optional)

    For tokens outside our table, your browser can ask Jupiter directly for the token name and price. Jupiter then sees those token mints — not your addresses. Switch it off in Settings.

  5. 5

    Your browser renders

    Values are multiplied out locally, drawn in the 3D vault and the ledger, and a value snapshot is saved into your encrypted vault for the history chart.

Jupiterprice API ZeroLedger serverone public table Your browserdecrypts · computes Solana RPCyou choose pricessame tableaddresses never sees your addresses

Limits, plainly: balances are only as fresh as your last refresh; staked SOL in stake accounts and DeFi positions (LP tokens in pools, lending deposits) are not counted unless they sit in your wallet as tokens; NFTs and zero-decimal tokens are counted but not valued; the public RPC rate-limits heavy use — add your own RPC URL if you track many wallets.

Built with

Small, auditable parts

  • WebCrypto PBKDF2-SHA256 (600,000 iterations) → non-extractable AES-256-GCM key, fresh IV on every save.
  • three.js instanced prisms, PBR glass-metal material, studio reflections, soft shadows, bloom on the caps, a shader-drawn ledger floor.
  • Adaptive quality — lower pixel ratio, then no bloom, then no shadows on slow devices; reduced-motion respected; rendering stops when you scroll away.
  • Zero-dependency Node server — one Jupiter poll loop with timeouts and a watchdog, pre-gzipped static files, strict CSP with hashed inline scripts.
  • Self-hosted fonts and no third-party scripts — the only outside requests are the RPC and (optionally) Jupiter that you control.
  • Burn verification reads v0/v1 transactions (static + lookup-table keys) and checks the burn instruction byte by byte.

Features

Free, and a little more if you burn

Free

  • Up to 3 wallets in your encrypted vault
  • SOL, SPL and Token-2022 balances, USD values, 24 h moves
  • 3D vault + ledger table, filter by wallet
  • Your choice of RPC, auto-lock, auto-refresh
  • Value snapshots recorded in your vault from day one
  • Import an encrypted backup file

Unlock with the coin

  • Unlimited wallets
  • History charts: recorded net worth + today's holdings at past prices (hourly, 30 days)
  • Encrypted export file for backups and moving browsers

50,000 tokens burned · 30 days · burns stack

How to unlock

Honest note: because ZeroLedger never sees your wallet list, the wallet limit and the export button are enforced in your browser. The price history behind the charts is served only to unlocked wallets.

The coin

Burn to unlock — nothing more

In ZeroLedger, the coin has one job: you can burn it to open premium for 30 days. The burn is an SPL burnChecked instruction in a transaction your wallet signs and sends; the tokens are destroyed on-chain. There is no treasury and nothing is paid to us. Our server then reads the confirmed transaction and checks the mint, amount, authority and fee payer before unlocking.

Burning destroys tokens permanently. It gives no return, revenue share or financial right. The free version stays free.

The coin is coming soon — until its address is published here, burning is switched off and everything free works as normal.

Signing in is a free message signature (no transaction, no fee). The wallet you unlock with does not have to be one of the wallets you track — and if it is, nothing links it to your vault.

Unlock premium

Checking…

Burn ledger

Burned through ZeroLedger—
Unlock burns—
Current supply—

"Burned on-chain" counts every burn of the coin by anyone — including any burns the team may do — because it is simply the initial 1,000,000,000 supply minus today's supply.

  1. No burns yet.

Privacy & safety

What we can see, and what we can't

We can see

  • That your IP downloaded the page and the public price table (like any website). We don't log it; it's held in memory only for rate limits on sign-in and burn requests.
  • If you unlock premium: the wallet you sign in with, your burn transaction (it's public on-chain anyway), and when your unlock expires.
  • If you unlock: that you downloaded the full price history — not which tokens you chart.

We can't see

  • Your tracked wallet addresses, labels, balances or net worth — they never leave your browser except as RPC queries to the provider you chose.
  • Your passphrase or vault key. The vault is AES-256-GCM ciphertext in your browser's localStorage.
  • Which tokens you hold: everyone gets the same price table.

Others who can see something

  • Your RPC provider sees the addresses you look up and your IP. On "Automatic" that is the Solana public RPC, or Solana Vibe Station's public RPC when the first one refuses — pick one, or your own URL, in Settings.
  • Jupiter, if the direct lookup is on, sees the token mints you ask about and your IP — not your addresses.
  • Anyone using this browser profile could try to guess your passphrase offline; a long passphrase is your protection. Browser extensions with page access can read what the page shows while unlocked.
  • Never asks for a seed phrase or private key.
  • Never holds or moves your funds. Tracking needs no wallet connection at all.
  • Signing in is a free message signature; the burn transaction is shown to you before you sign.
  • No analytics, no third-party scripts, no external fonts, no token logos from third-party hosts (loading one would tell that host what you hold).
  • Our server's own Solana RPC key never reaches your browser; the server stores only unlocks and the public burn ledger.

FAQ

Questions

Is the data live?

Prices refresh on our server every 60 seconds and your page picks them up automatically. Balances are read from the blockchain when you press Refresh, when you unlock, and on your auto-refresh schedule (default every 5 minutes while the vault is open).

Why is a token missing or shown without a price?

Our table covers ~300 widely traded tokens. Others are priced by asking Jupiter directly (if enabled). If Jupiter has no price — new, illiquid or spam tokens — it's shown as unpriced rather than guessed. Staked SOL and DeFi positions held inside protocols aren't wallet tokens, so they're not counted.

What if I forget my passphrase?

Then the vault can't be opened by anyone. Erase it and re-add your wallets — they're public addresses, so nothing is lost on-chain. Premium users can keep an encrypted export file as a backup.

Does it cost anything?

No. Tracking is free. Premium (unlimited wallets, history charts, export) is unlocked by burning the app's coin from your own wallet — never by paying us.

Which wallets work for unlocking?

Any Solana wallet that supports the Wallet Standard with message signing — Phantom, Solflare, Backpack and others. On a phone, open the page inside your wallet app's browser. Tracking itself needs no wallet.

What happens when I burn?

Your wallet signs a transaction that destroys the stated number of tokens and adds a short memo. Once it's confirmed, our server checks it on-chain and unlocks premium for 30 days for the signing wallet; another burn adds 30 more days.

Can I use it on mobile?

Yes — the vault, ledger and settings work on phones. The 3D view lowers its quality automatically on smaller devices.