A window into the last Bitcoin implementation.
Most software wants to grow forever. Bitcoin Echo wants to finish.
This GUI is how you see it — a browser-based interface to a running Bitcoin Echo node. It communicates exclusively via JSON-RPC. No wallet. No bloat. Just Bitcoin, visible.
The Bitcoin Echo node is ossified — frozen code that implements the Bitcoin protocol once, correctly, and stops. The GUI is different: it can evolve. Think of it as a window into an artifact, not part of the artifact itself.
The node: Pure C. Zero dependencies. Consensus frozen forever.
The GUI: SvelteKit. Can improve. A view, not a vault.
| Layer | Technology |
|---|---|
| Framework | SvelteKit (SPA mode) |
| Language | TypeScript |
| Styling | Tailwind CSS |
| State | Svelte stores |
| Build | Vite |
Why Svelte? It compiles away. ~2KB runtime vs 40KB for React. The framework disappears — much like how Bitcoin Echo disappears into permanence once complete.
Prerequisites: Node.js 20+ (use nvm use if you have nvm)
# Clone
git clone https://github.com/bitcoinecho/bitcoinecho-gui.git
cd bitcoinecho-gui
# Install
npm install
# Run development server
npm run dev
To use the live observer UI, you need a Bitcoin Echo node running in observer mode:
Terminal 1 — Start the node:
cd bitcoin-echo
./echo --observe
Terminal 2 — Start the GUI:
cd bitcoinecho-gui
npm run dev
Then navigate to http://localhost:5173/observer to see live Bitcoin network activity.
What you'll see:
Note: The GUI expects a Bitcoin Echo node running on localhost:8332. Without a node, you'll see connection errors.
npm run build
Output goes to build/. Serve it with any static file server.
src/
├── lib/
│ ├── components/ # Button, Card, Badge, Hash, etc.
│ ├── rpc/ # JSON-RPC client (Phase 1)
│ └── stores/ # Svelte stores (Phase 1)
├── routes/ # SvelteKit file-based routing
│ ├── +layout.svelte
│ ├── +page.svelte # Dashboard
│ ├── blocks/ # Block explorer (Phase 4)
│ ├── tx/ # Transaction view (Phase 5)
│ ├── broadcast/ # TX broadcast (Phase 5)
│ └── console/ # RPC console (Phase 6)
└── app.html
See GUI_ROADMAP.md for the full implementation plan.
| Phase | Status |
|---|---|
| 0. Foundation | ✅ Complete |
| 1. Observer Mode | ✅ Complete |
| 2. Mock Mode | 🔲 Not started |
| 3. Dashboard | 🔲 Not started |
| 4. Block Explorer | 🔲 Not started |
| 5. Transaction View | 🔲 Not started |
| 6. RPC Console | 🔲 Not started |
| 7. Polish | 🔲 Not started |
MIT — Do whatever you want. This is Bitcoin.
Build once. Build right. Stop. Now Visible.