There are three main actors in the orderflow supply chain:
- Users trading one token for another. They are the ones initiating transactions.
- Owners. This includes application, wallets, RPCs, and any platforms through which users submit orders. Owners have the power to redirect orders and monetize their orderflow.
- Fulfillers, sometimes called solvers, fillers, relayers or searchers, fulfillers are sophisticated entities that take the opposite side of user trades. They act on orderflow and charge a fee for their services.
Flood goal is to orchestrate the relationship between these actors, and create a more efficient market for orderflow.
In practice, this means:
- Users access high quality execution and can pick zones most favourable to them.
- Owners decide which orders are valid, can monetize their orderflow, and choose who can see and fulfill their user orders.
- Fulfillers can plug into established orderflow sources, rather than having to generate it themselves through their interface or partner integrations.
Flood is composed of an immutable and permissionless core, with a set of optional modules that can be used to extend its functionality.
- Flood Plain: The core of Flood, an immutable smart contract orchestrating the relationship between users, owners and fulfillers by handling settlement. Flood Plain uses Permit2 (opens in a new tab) to support a wide range of signatures and enable gasless trading for users.
- Zones: A smart contract Owners control to validate orders and who can fill them. You can think of Flood as a collection of Zones, each with their own rules and owners, all using the same core contract.
While this is the basis of the protocol, the Flood team provides several optional tools to improve the overall experience:
- Offchain orderbook: To help owners store their users orders and broadcast them to fulfillers.
- Flood Optimal Fulfiller: Operated by the Flood team filling orders at the best possible price.
- SDKs: A set of SDKs to help owners integrate with Flood.