25 tokenized equity markets

Every print,
settled onchain.

Ponstocks is a trading terminal for tokenized shares. A real order book with price-time priority, a ticket that quotes the same rules the engine executes, and settlement that lands in a vault only you can withdraw from.

Matching
Price-time priority
Fees
6 / 10 bps maker-taker
Settlement
EIP-712, onchain

Real market prices · paper trading · not audited

AAPL/USD

Apple Inc.

Order book

Prints

Open AAPL/USD in the terminal

How a trade works

Three steps, and you can audit every one of them

  1. 01

    Deposit into the vault

    Approve the exact amount — never an unlimited allowance — then deposit. The vault tracks what is available and what is locked against working orders, separately. There is no admin path to a customer balance, and withdrawals cannot be paused.

    TradingVault.deposit()
  2. 02

    Sign the order

    Orders are EIP-712 typed data signed in your wallet: market, side, price, quantity, nonce, expiry. Signing authorises that order and nothing else. The engine matches with strict price-time priority and integer arithmetic.

    Order(address maker, bytes32 marketId, …)
  3. 03

    Settle onchain

    Fills are batched, checked against the oracle for staleness and deviation, and settled into the vault. Settlement status is tracked apart from order status — a filled order whose transaction is still pending is reported as exactly that.

    OrderSettlement.batchSettle()

Architecture

What is under the terminal

Six workspaces: the web terminal, an API, a matching engine, a router, shared domain types and the contracts. No mock stands in for a component that a venue would need.

Matching
Deterministic CLOB · price-time priority · integer arithmetic · atomic FOK · self-trade prevention
Order types
Market · Limit · Stop-market · Stop-limit — with GTC, IOC, FOK, post-only and slippage caps
Fees
6 bps maker · 10 bps taker, capped at 100 bps inside the contract
Routing
Best execution across the internal book and external quote sources, gas- and fee-aware
Custody
Available and locked held apart · no admin drain function · withdrawals never pausable
Settlement
EIP-712 orders, batched · PENDING → SUBMITTED → CONFIRMED, reconciled after restart
Guards
Oracle staleness and deviation · per-market pause · replay and overfill protection
Tests
181 unit tests across the workspaces · 27 contract tests

Disclosure

What is real, and what is not

A venue that is vague about this is telling you something. Here is the line, in the same detail we keep it in the code.

Working today

  • Real last price, session high and low, volume and the full OHLCV chart, from a market-data provider through this app’s own API
  • A real matching engine — not a UI fixture — behind an API with private WebSocket channels
  • Wallet connect, challenge-signature sessions, and deposits and withdrawals that move real tokens
  • EIP-712 signed orders settled onchain into a vault, with the oracle guard rejecting stale prices
  • Order preview, confirmation, modify, cancel and cancel-all executed against real book depth

Not yet

  • Depth and prints are modelled around the real mark and labelled as such — no free equities feed carries level-2 or time-and-sales
  • The price oracles deployed alongside the vault are mocks, labelled as such in the source
  • External venues can quote but never settle — nothing outside the internal book touches the chain
  • Deployed to a local chain only. The contracts have unit tests, not an audit

The book is open. Go and read it.

Open the terminal