ALL WORK · CASE 05

ARTHURMAURICE

Multi-vendor auctions with real-time bidding, for lots where two bids can land in the same millisecond — and exactly one of them wins.

SECTOR
MARKETPLACES · AUCTIONS
SCOPE
FULL BUILD — SEQUENCER TO STOREFRONT
THREAD
WEBSOCKETS · BID SEQUENCER
STATUS
IN PRODUCTION
ARTHURMAURICE product interface

AUCTION STATE MACHINE — EVERY LOT WALKS THIS PATH

LISTED
BIDDING
CLOSING
HAMMERED
SETTLED

CONCURRENT BIDS → SINGLE ORDER → ONE HAMMER — NO SPLIT-BRAIN WINNER

01 — WARP

What had to be true first

An auction is a race, and a race needs a referee before it needs a UI. Before any interface existed we set the sequencer: one writer per lot, every bid entering an append-only log in a single order, checked against the standing high atomically — accepted or rejected, never maybe. The closing clock lives on the server, not in anyone's browser.

02 — WEFT

What we wove through it

Onto that warp we shipped the marketplace in weekly passes: vendor onboarding and lot listing, WebSocket fanout that delivers every accepted bid to every watcher in the order the sequencer wrote it, proxy bidding that raises automatically to a bidder's ceiling, anti-snipe extensions that stretch the closing window, and vendor dashboards reading the same bid log the buyers see.

03 — BEAT

How it was pressed tight

Every merge was beaten in: review on the bidding paths, deterministic tests on every lot transition, and rehearsals of the contended cases — two bids at the same amount in the same tick, a bid landing as the clock expires, a socket reconnecting mid-auction and replaying the log from its last sequence number. The winner is decided by ordering, never by luck.

04 — WEAR

Life in production

ARTHURMAURICE runs in production today. Auctions open, extend and hammer without anyone watching the clock, vendors settle from the same log the bidders watched, and late bids take the anti-snipe extension we designed instead of a dispute thread. A socket that drops in the closing seconds reconnects, replays and catches up. Cloth, being worn.

NEXT CASE — 06

WALLET SDK
REACT · NEXT.JS · WEB3