Architecture
Three main sub-systems are required to facilitate and drive the auctionOrder book
The orderbook is the main entry point of the protocol for traders. Using the orderbook’s API, UIs and other integrations allow traders to:- Get quotes for orders
- Place orders
- Cancel orders
- Get the currently solved auction
- Etc.
Autopilot
The autopilot is a service that drives the core protocol functionalities with responsibilities including:- Creating and arbitrating auctions
- Defining the timeline and valid orders for each auction
- Orchestrating the revelation and settlement of the winning solver’s solution
- Monitoring the competition
- Serving as data consensus layer in the case of dispute or slashing by the DAO
- Communicating auctions to all registered solvers
Solvers
For the sake of this documentation, we differentiate solvers into two sub-parts:Driver
The Driver is the executive part of the solving process, and is responsible for:- Interacting with the blockchain in order to enrich, encode and eventually execute the settlement
- Preparing all the data needed for the engine to match orders in the auction and forwarding the augmented auction to the engine
- Receiving raw solutions from the solver engine, which it post-processes, simulates, merges, encodes into a blockchain transaction and finally scores