EpochClock

connecting
Epoch — — —   slot —

I The instrument

A watch for the Solana network.

EpochClock is a precise, live chronometer for Solana mainnet. One dial shows how far the current epoch has run, every recent slot that produced a block or was skipped, the validator leading right now and the ones queued behind it, and the last hour of throughput. It keeps time against the server's clock, so the countdown to the next epoch is right to the second.

II Reading the dial

Five rings and a bead, one moment.

EPOCH123456
Diagram of the dial. The live one above is drawn from mainnet data; this one is not.
  1. Chapter ring and brass arc: epoch progress100 ticks, one per percent, numbered every ten. The brass arc and the pointer outside it mark how much of the current epoch has elapsed.
  2. Slot bezel: every recent slotOne tick per slot: the last 330 run anticlockwise from the 12 o'clock index, the next 150 clockwise, and the bezel turns as slots pass. ink = block produced, long vermilion = skipped, short and faint = not yet confirmed, pale = upcoming, brass = a leader handoff ahead.
  3. Leader wheel: who holds the penValidator names set around the ring like a date wheel. The current leader sits under the index in bold, three past leaders to the left and eight upcoming to the right; the wheel jumps one segment at each handoff and four pips count through the leader's slots.
  4. Throughput ring: the last hourSixty bars, one per minute. The newest is brass at 12 o'clock, older minutes run anticlockwise and fade. Height is transactions per second relative to the hour's own low and high, so it shows shape rather than absolute scale.
  5. Centre face: the readoutEpoch number, percent complete to three decimals, the countdown to the next epoch with its estimated local date and time, and the current slot.
  6. Seconds beadA brass bead circles the face once a minute in your local time. When an epoch turns, brass rings ripple outward for a few seconds.

Hover any tick or name with a mouse to read its slot number, status, leader and time. There is no sound. With reduced-motion turned on, the dial redraws twice a second instead of sixty times.

III The movement

Where the time comes from

  1. 1

    Solana mainnet RPC

    • getEpochInfo epoch, slot, block height · 8 s
    • getBlocks produced vs skipped slots · 20 s
    • getRecentPerformanceSamples TPS and slot time, 60 minutes · 60 s
    • getSlotLeaders next 900 slots, refreshed before they run out
    • getBlockProduction epoch skip rate · 10 min
    • getVoteAccounts each leader's stake share · 30 min
    • validator-info names · 6 h; getBlockTime epoch start · once
  2. 2

    One shared server

    A single poll loop serves every visitor and pushes ticks, blocks and the leader schedule over Server-Sent Events. About 12 RPC calls a minute at idle, however many screens are watching.

  3. 3

    Your browser

    Aligns to the server clock using the fastest of recent ticks, measures slot duration from performance samples instead of assuming 400 ms, and counts the slot forward between ticks. The dial is drawn on Canvas 2D.

Limits worth knowing

  • Anything in the future (the epoch's end, when the next leaders take over) is an estimate from recent slot times. If the network slows, those times move.
  • The newest couple of slots stay “not yet confirmed” until a confirmed block can land in them; only confirmed ranges are marked skipped.
  • The loaded leader schedule covers the next 900 slots, a few minutes; the wheel shows the next eight leaders from it.
  • Epoch skip rate refreshes every 10 minutes; the recent skip rate covers the last 1,024 slots.
  • Throughput counts all transactions, validator votes included.

IV Built with

No libraries, careful craft

Canvas 2D, hand-drawn
The plate, guilloché and chapter ring are pre-rendered once; each frame composites them and redraws only what moves.
Batched paths
All 480 bezel ticks are grouped into five Path2D strokes per frame, one per state.
Curved type
Leader names are set letter by letter along the arc and stay upright on both halves of the dial.
Adaptive quality
If drawing keeps taking longer than 12 ms a frame, the canvas resolution steps down. Paused in hidden tabs and while you read below.
Display APIs
Fullscreen, Screen Wake Lock and a slow drift against burn-in for Ambient mode; ResizeObserver keeps the dial sharp at any size.
Zero-dependency server
Plain Node: one poll loop, Server-Sent Events fan-out, gzip and ETags, atomic JSON writes.
Hand-built burns
Version-0 transactions with burnChecked and a memo, encoded without an SDK; sign-in verified with ed25519 from node:crypto.
Typography
Fraunces for the dial and numerals, IBM Plex Mono for the data. Night and Day themes (press T).

V Features

The clock is free. The Atelier is for collectors.

Free · now

The full clock

  • The live dial: epoch progress, slot bezel, leader wheel, throughput ring
  • Local and UTC time, synced to the server clock, with the measured offset
  • Current slot leader and the next leaders with countdowns and stake share
  • Epoch card: slot in epoch, when it began, estimated end and length
  • Throughput: TPS over the last minute and hour, slot time, block height, all-time transaction count
  • Skip rate for the epoch and for the last 1,024 slots
  • Night and Day themes (T)
  • Ambient mode (A): fullscreen, screen kept awake, cursor hidden, gentle drift; or open /ambient on a kiosk
Unlock with the coin

The Atelier

  • Four dial skins: Meteorite (etched iron, ice-blue indices), Grand Feu (white enamel, cobalt), Bordeaux (clous de Paris guilloché in rose gold), Lumière (black dial, luminous green)
  • Your ambient layout: choose what each corner shows (epoch, local time, slot leader, epoch end, throughput, skip rate, slot or your next pinned leader), saved to your wallet for any screen you sign in on
  • Pinned validators: up to 12, marked with a lozenge and bold name on the leader wheel, with a countdown to their next leader slot for the whole epoch

25,000 tokensburned from your wallet = 30 days. Burning again adds another 30 days on top.

Coming soonThe Atelier opens when the coin is live. Planned price: 25,000 tokens for 30 days, stacking.

VI The coin

What the coin does here

The coin has one job in EpochClock: opening the Atelier by being burned. You burn it from your own wallet, in your own transaction. Nobody receives the tokens, including us; they are destroyed on-chain, and the server opens the Atelier only after reading that burn back from the chain.

  1. Sign inYour wallet signs a plain-text message. It is free and cannot move funds.
  2. ReviewThe server builds an unsigned transaction: burnChecked for exactly 25,000 tokens plus a memo. You see the amount before your wallet opens.
  3. BurnYour wallet signs and sends it. You pay the network fee; the tokens are gone.
  4. VerifiedThe server checks the mint, amount, signer, age and that the signature was never used before, then opens the Atelier for 30 days.

Public burn ledger

Every Atelier burn is listed with its Solscan link, next to the coin's current supply. For pump.fun coins, which launch with 1,000,000,000 tokens, it also shows the total burned on-chain as 1B minus the current supply. That figure also covers any burns the team does from creator fees; it is not a promise that any will happen.

See the burn ledger ↑

Contract

The coin

The coin is coming soon. The clock and every free feature work without it.

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

VII Privacy & safety

What this site never does

No custody

The server holds no keys and never receives tokens. It cannot move anything in your wallet.

No seed phrase, ever

Nothing here asks for a seed phrase or private key. Anyone who does is not us.

Free sign-in

Signing in is a message signature that names this site, its purpose and a single-use code valid for 5 minutes. It cannot approve a transaction. The HttpOnly, SameSite=Strict session cookie lasts 24 hours, and signing out ends it on the server.

Burns shown first

The exact token amount and the words “These tokens are destroyed forever” appear before your wallet asks you to sign.

RPC stays server-side

The browser only talks to this site. The RPC endpoint and its key never reach the page, and there are no analytics or trackers. Fonts load from Google Fonts.

What is stored

Only for wallets that sign in or burn: sessions (kept as hashes, 24 hours), Atelier passes and their expiry, burn signatures, amounts and times for the public ledger, used signatures to block replays, and your Atelier layout. Your browser keeps your theme choice. Rate-limit counters stay in memory.

VIII FAQ

Questions

How accurate is it?

The clock is aligned to the server's clock, and the Local time card shows the measured offset. The slot advances at the slot time measured from mainnet performance samples and is corrected by a fresh tick every 8 seconds. Times in the future are estimates and move if the network speeds up or slows down.

Why are some slots skipped?

A slot is skipped when its leader does not get a block confirmed in time, for example because it is offline, late or its block lost a fork. A few skips are normal; the bezel marks each one in vermilion and the Reliability card turns them into rates.

How long is an epoch?

A fixed number of slots, read from the chain (432,000 on mainnet). Its length in hours depends on the slot time, which the Epoch card estimates from what the network is actually doing.

Can I put it on a TV?

Yes. Press A or the Ambient button, or open /ambient on the display. The screen is kept awake where the browser supports it, the cursor hides, and the layout drifts slightly every minute to protect the panel.

Does it cost anything?

No. The clock, every card, themes and Ambient mode are free with no sign-in. Only the Atelier is unlocked, by burning the coin.

Which wallets work?

Wallets that support the Solana Wallet Standard with message signing and sign-and-send, such as Phantom, Solflare or Backpack. An injected Phantom provider works as a fallback. On a phone, open this page in your wallet app's built-in browser.

What happens when I burn?

Your wallet sends a transaction that destroys 25,000 tokens from your own token account. Once it confirms, the server reads it from the chain, checks it and opens the Atelier for 30 days. The burn appears in the public ledger. It cannot be undone and it is not a payment to anyone.