Inspiration

How do you run a stock exchange across nine planets when a message to Neptune takes four hours, packets get lost, and the Sun blocks links for weeks? That question hooked us.

What it does

Every settlement has its own local exchange, so trading at home is instant and free. Futures and options all clear in one place, a clearing house on Mars. Trades between planets reserve the buyer's cash first and only finish when both sides agree. Money is never released just because a message didn't show up. Prices used for margin can only move 2% an hour, and positions get closed before their buffer runs out, so a loss is always covered by money already posted.

How we built it

We wrote a Python simulator of the whole setup: planets on their real orbits, light delays, the Sun blocking links, lost packets, retries and outages. Then we ran our design through rising and falling markets, a forced default, a 72-hour blackout of Neptune, a 200-year scan of every link, and repeat runs 1, 10 and 100 years later.

Challenges we ran into

The hardest part was that our own rules fought each other. The rule that keeps every loss covered also force-closes a far-away trader whose margin call can't get through a blackout. And when the Sun cut a planet down to one relay, a short relay failure could stop positions until we added faster resends and extra margin for those periods.

Accomplishments that we're proud of

No uncovered losses in any run, no money created or lost, and only 68 of the 600 daily packets used at peak. Even our worst case, the Neptune blackout, ended with the winner paid in full and service back about 5 hours after contact returned.

What we learned

A message arriving doesn't mean a deal is done, and silence should never move money. Most of our real risks came from how our own rules interacted, not from the network.

What's next for MPX JAAK Edition

Make our network simulator follow every transport rule exactly, test the futures auction with lots of competing orders, and try traders who hold futures and options at the same time.

Built With

Share this project:

Updates

Submission history