Skip to content

The Browser Applications

Learning objectives

After this chapter you will know:

  • what each of the six browser applications is for
  • how to log in to the Trading GUI with an API key, and where to find one
  • how to place the same kind of order from the browser that you typed in the trader console

Time: about 15 minutes. You need: the container installation from Install and Start. The browser applications are not part of the Python package.

Six windows on one exchange

All six applications talk to the same running exchange, so anything you do in one — or in a pm-alf-console — shows up in the others within a second.

Address Application Read-only? Use it to…
http://localhost:8090 TapeDeck (pm-terminal) yes watch prices, trades, auctions and halts across all symbols — a classroom wallboard
http://localhost:8094 Order Book Viewer (pm-book) yes see every price level of one symbol's book, its statistics and its trade tape
http://localhost:8093 Trading GUI (pm-trading-ui) no trade, quote or operate the exchange through screens instead of commands
http://localhost:8091 Log Operator Console (pm-log-ui) yes read what every process is doing, and why something was rejected
http://localhost:8092 Configuration GUI (config-gui) — build an exchange configuration with forms instead of YAML
http://localhost:8095 Operator Dashboard (pm-dash) yes see at a glance whether every part of the exchange is healthy, and how busy it is

The read-only displays need no login. The Trading GUI does, because it can change things.

What you will see depends on the previous chapter

If you followed Your First Trade, the exchange now runs s3-basic-nomm: three symbols and empty books, so TapeDeck shows AAPL, MSFT and TSLA without prices until someone trades. After ./edumatcher.sh config s10-basic (see the tip at the end of that chapter) you get the ten-symbol market with quotes again.

Find your API key

The Trading GUI logs in with an API key. Each key in the configuration belongs to one participant, and the participant's role (TRADER, MARKET_MAKER or ADMIN) decides which screens you get. The bundled configurations generate their keys, so look them up in the running exchange:

./edumatcher.sh shell pm-config-show -a

The -a option shows everything, including the keys in full. Look for the API KEYS panel:

╭─  API KEYS  ───────────────────────────────────────────────────────────╮
│ GATEWAY ID      API GW        ROLE             API KEY                 │
│ TRADER01        desk          TRADER           key-trader01-z8hu5h     │
│ TRADER02        desk          TRADER           key-trader02-199pf4     │
│ OPS01           desk          ADMIN            key-ops01-tvj553        │
│ MM01            desk          MARKET_MAKER     key-mm01-tp6aoi         │
│ —               dashboards    READ-ONLY        key-readonly-z6f1hx     │
╰────────────────────────────────────────────────────────────────────────╯

Your keys will be different, and each configuration has its own: after you switch configuration (as in the previous chapter, or in Your Own Configuration) look the keys up again, because the old ones stop working. The READ-ONLY key is the one the read-only displays (such as TapeDeck and the Order Book Viewer) use behind the scenes; it cannot log in to the Trading GUI.

Trade from the browser

  1. Close any pm-alf-console that is connected as TRADER01: a participant ID can be connected only once at a time, and the Trading GUI counts. Then open http://localhost:8093, paste TRADER01's key and click Connect. If the key is wrong or from an older configuration, you stay on the login screen; look it up again as above. You land in the Trading Workspace: a price chart, a depth ladder (the order book, best prices in the middle), an order ticket and a blotter of your working orders.
  2. Open the Order Book Viewer at http://localhost:8094 in a second window, on the same symbol.
  3. In the ticket, choose Limit, enter a quantity and a price below the best ask, and press Buy. A toast confirms accepted, the order appears in the blotter, and the Order Book Viewer shows it as a new bid.
  4. Sell into it from a trader console connected as TRADER02 (pm-alf-console --id TRADER02 in ./edumatcher.sh shell), or log in as TRADER02 in a private browser window, entering the same quantity at the same price, and watch the trade appear on the tape in both windows and on TapeDeck.

Reloading logs you out

The Trading GUI keeps your key in memory only, never on disk. Reloading the page returns you to the login screen. That is deliberate, not a fault.

Log in with OPS01's key instead and you get the operator's screens: the system dashboard, session control, halts, circuit breakers and the kill switch. Log in as MM01 for the market maker's quote management.

When a display looks empty

  • TapeDeck shows symbols but no trades. Nobody has traded yet. Quotes are not trades.
  • The Order Book Viewer shows an empty ladder. The book has no orders. On s3-basic-nomm with the default profile that is the expected state until you trade.
  • A banner says the application is disconnected or reconnecting. The exchange is stopped or restarting. Check ./edumatcher.sh status.

Where to go next

Each application has its own chapter in the Participant Guide — TapeDeck, the Trading GUI and the Order Book Viewer — and the Operator's Guide covers the Log Operator Console, the Operator Dashboard and the Configuration GUI. Part II of this guide continues with Run a Trading Session.