DexLadder Open the app

How DexLadder Is Built

One file, no backend, no accounts: the architecture, the public data sources, the typed core and the gates every release has to pass.

Engineering · shipped in v156 · last revised 2026-09-11

On this page

DexLadder is a full trading desk, an academy and a blockchain explorer — and it ships as one HTML file with no backend and no accounts. This article is for the curious and the technical: how that is possible, what the parts are, where the data comes from, and the checks every release has to pass before it reaches you.

One file, installable, offline-capable

The whole app is a single index.html of roughly 2.8 MB: markup, styles, scripts, icons and the brand mark, all inline. Around it sit a handful of static files — a web manifest so it installs like an app, icons, a service worker, and the privacy, support and terms pages.

The service worker makes it work offline without trapping you on an old version:

Because it is static, it is hosted on ordinary static hosting. There is no application server to scale, patch or breach.

No backend, on purpose

There is no DexLadder database and no DexLadder login. Everything that belongs to you — the paper book, journal, lesson progress, the proof ledger, your signing key — lives in your browser's storage. Sovereignty, the Proof Ledger & On-Device Design covers what that means for you. For the engineering it means three things:

  1. Every feature must work from public data plus local state. If a feature would need a server to remember something about you, it is redesigned or it does not ship.
  2. The cryptography runs in the page. SHA-256 for the proof ledger, secp256k1 for certificates and signed backups, Pedersen commitments in the zero-knowledge lab — implemented in JavaScript, on your device.
  3. Paper money only. There is no code path that moves real value, so there is nothing to secure on that front.

Where the data comes from

Prices and market data are public, and DexLadder reads them directly from the sources that publish them, with fallbacks so no single outage blanks a screen.

WhatPublic sources
Prices, market caps, sparklinesCoinGecko, Coinpaprika, Coinlore
Candles and chart historyBinance market data, Kraken, Coinbase
Sentimentalternative.me Fear & Greed
Gas and chain statepublic Ethereum RPC endpoints, mempool.space, Blockstream
Explorer look-upspublic block explorers and RPC endpoints
Background readingWikipedia and major crypto publications

When a source returns a series that is obviously padded — a flat line that ends in a cliff — the app replaces it with real candles instead of drawing something false. That rule, never show a fabricated line, is tested like any other.

The layers

The file is assembled by a build script from three kinds of input:

The typed core

Newer work lives in a strict TypeScript core, bundled into the file and exposed as one frozen namespace so nothing downstream can rebind it at runtime. It follows a few hard rules:

The engine behind v156 is a good example: the preview and the fill call the same pure function at the same instant, so what the ticket shows is exactly what the fill does. See The Advanced Execution Engine.

The blog itself

These articles are markdown files bundled as text. A small, strict parser turns them into data — headings, paragraphs, lists, tables, callouts — and the view builds the page from that data. A post can contain no markup, script or style, and a link can only point inside the app or to an https address. Posts are append-only: a published address never changes, so a link to one keeps working in every later version.

The gates

A build is not a release until it passes every gate. Among them:

When someone reports a bug, the fix lands together with a permanent check that would have caught it.

Why build it this way

A trading app that holds nobody's money and nobody's data has an unusual freedom: it can be private without a privacy policy doing the work. Keeping it to one file, public data and pure, tested code is how we keep that freedom as it grows.

New to DexLadder? Start with What is DexLadder? — or open the Terminal and place a paper trade.

This post is also the in-app article: open it inside DexLadder, where its illustrations are drawn live by the app.

More on this

Open the desk — free, no account — no account, nothing to install