v0.4.0-beta · exchange infrastructure to build on

Introduction

What Open Exchange is, what it isn't, and how the pieces fit. Five minutes here saves an hour everywhere else.

What Open Exchange is

Open Exchange is the core of a trading venue, as open-source software. It takes orders, checks them against risk rules, matches buyers with sellers, keeps every balance exact, and streams live market data, and it keeps doing all of that even while one of its servers is being killed. It is licensed Apache 2.0: free to run, read, and modify.

It is deliberately infrastructure, not a turnkey exchange. It does not do KYC, hold custody of coins, or connect to banks. Those parts depend on your jurisdiction and your business, so they stay yours. The scope page draws that line precisely.

The five repositories

The stack is five repos that work as one system:

RepoWhat it does
matchThe matching engine. Three servers run the same deterministic engine and agree on every order using Raft consensus, so a dying server never loses your trade.
omsThe order management service. It's what your apps talk to: REST and gRPC APIs, authentication, risk checks, balances, and the PostgreSQL read models.
assetsThe Assets Engine. A deterministic money ledger running as its own Raft cluster: every hold, settle, and release is a replicated state-machine transition, recorded in a replayable money journal.
admin-gatewayThe operations brain. A Go service that starts, stops, monitors, backs up, and safely upgrades everything else, refusing operations that would hurt an unhealthy cluster.
trading-uiA web trading and admin interface, ready to use or to fork as a starting point.

One version, five repos

The whole stack is versioned together: v0.4.0-beta means match, oms, admin-gateway, trading-ui, and assets all at v0.4.0-beta. Mixing versions across repos is unsupported. Releases are annotated tags plus GitHub release notes in each repo, and every repo carries a CHANGELOG.md.

What beta means

Beta software
The public API is frozen and the failure drills pass, but Open Exchange has not had an external security audit yet. Run it, integrate against it, load-test it. Don't let it hold real money until you've done your own review (and we've done ours).

In practice, beta means:

  • The API contract is frozen. Breaking changes to REST, gRPC, or the WebSocket surface now require a major version bump and a deprecation window.
  • Failure is tested, not assumed. On every commit, CI boots the full stack, kills the cluster leader mid-load, and proves every order and balance comes out exact.
  • The numbers are published honestly, with the environment and the caveats: see benchmarks.

Where to go next

  • Quick start: a fresh clone to a running stack on one Linux box.
  • Architecture: how an order travels through the system, and what happens when a server dies.
  • API reference: the frozen v1 surface your apps will call.
  • Scope: what we provide and what you own. Read this before planning a production deployment.
Open Exchange

The open-source core to launch your own exchange. Fast, fault-tolerant, built in public.

v0.4.0-beta

Apache 2.0 · Beta software: the public API is frozen, but it has not had an external security audit yet and should not hold production money until it does. Open Exchange is the infrastructure you build an exchange on; KYC/AML, custody, fiat, identity, and compliance are the integrator’s responsibility.