Skip to content
██╗  ██╗ █████╗  █████╗ ██╗  ██╗███╗   ███╗███████╗    ███████╗██╗  ██╗
██║  ██║██╔══██╗██╔════╝██║ ██╔╝████╗ ████║██╔════╝    ██╔════╝╚██╗██╔╝
███████║███████║██║     █████╔╝ ██╔████╔██║█████╗      █████╗   ╚███╔╝
██╔══██║██╔══██║██║     ██╔═██╗ ██║╚██╔╝██║██╔══╝      ██╔══╝   ██╔██╗
██║  ██║██║  ██║╚██████╗██║  ██╗██║ ╚═╝ ██║███████╗    ███████╗██╔╝ ██╗
╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝╚═╝  ╚═╝╚═╝     ╚═╝╚══════╝    ╚══════╝╚═╝  ╚═╝

HackMe Exchange

Open-source paper Spot terminal for the HackMe ecosystem

PAPER ONLY — simulated balances in localStorage. Not a licensed exchange. Not financial advice. No real custody or public matching API.


Paper site Matching API License Mids Hub


🏠 Main HackMe · Live paper · STATUS · Docs · Economics · Security


What this is

HackMe’s pool and chain live in the main HackMe repository. This sidecar is the spot desk UI: charts, book, convert, paper wallet — so the network can show an own-market terminal without merging SPA code into the hub.

Pillar What you get
Spot Chart · book · market / limit / stop / OCO · VIP fees · pay-fees-in-HMC
Convert Instant swap at mid (paper)
Account Balances · VIP · paper portfolio
Pool Read-only oracle telemetry from hackme.tech

Own HMC market desk — not a third-party CEX listing claim.
Live site: exchange.hackme.tech (static paper SPA).


Modes

Mode Meaning
paper (default) localStorage wallet · shared reference mids — not real custody
lab Optional loopback sibling API — contributor / private lab only
live Blocked in this SPA until an explicit product go-live

Never put admin tokens in VITE_* — Vite inlines them into the browser bundle.


Pricing (paper)

Pair / leg Reference Notes
HMC/USDT 0.05 Mild paper drift · not scaled by pool GH
SUP/USDT 0.01 Same
HMC/SUP 5.0 Cross = HMC ÷ SUP
HMC/BTC · SUP/BTC usdt / btcUsd Shared paper pin

Canonical sheet: docs/ECONOMICS.md.


Quick start

cp .env.example .env   # optional
npm install
npm test
npm run build
npm run dev            # → http://127.0.0.1:5199

Optional local lab API (contributors)

Requires a checkout of the private sibling API next to this repo:

# Terminal A
cd ../hackme-exchange-api && go run ./cmd/exchange-api
# → http://127.0.0.1:18443/health

# Terminal B — .env: VITE_LAB_API=1  VITE_EXCHANGE_API_ORIGIN=http://127.0.0.1:18443
npm run dev

Wiring: docs/LAB_API.md


QA

Gate Command
Unit + security npm test
UI smoke npm run test:ui-smoke
Visual (G10) npm run test:e2e (needs Vite on :5199)
Live paper smoke npm run smoke:live
Paper static build npm run d0:static → gitignored dist-d0/

Maintainer extras (test:e2e:full, audit:full, lab smokes): scripts/README.md.


Docs

Doc Purpose
STATUS.md Product status · HOLD on matching/custody
docs/README.md Docs index
docs/SCOPE.md Boundaries vs HackMe hub
docs/ECONOMICS.md Fees · VIP · reference mids
docs/SECURITY.md SPA threat checklist
docs/LAB_API.md Loopback API (contributors)
CONTRIBUTING.md Setup · PRs · secrets

Related

Project Link
HackMe Network github.com/jokeez/hackme
Paper site exchange.hackme.tech
Hub / pool hackme.tech

Matching / custody API remains a private sibling until its own public gates pass.


License

GNU Affero General Public License v3.0 — same family as HackMe.

Paper tooling only. Not a licensed exchange · not production custody.

Copyright © 2026 HackMe contributors · AGPL-3.0

About

HackMe Spot — open-source paper terminal for HMC/SUP. PAPER only: no custody, no public matching API.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

5 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages