Integration
Oval is easily added to any protocol that uses an oracle
Last updated
Oval is easily added to any protocol that uses an oracle
Last updated
Oval works by placing a smart contract between a price oracle and your protocol. See Contract Architecture for details. This acts like a "wrapper" over a source oracle and provides the logic needed to run OEV auctions on price updates, while maintaining compatibility with the original interface. This contract works by controlling precisely when the latest price is made available to the protocol, ensuring that the winner of the auction gets the first opportunity to use it (enabling Oracle related MEV extraction).
The integration flow involves 2 steps:
Deploy your instance of the Oval contract.
Update your smart contracts to reference the newly deployed Oval contract instead of the source oracle price feeds.
The following Quickstart Deploymentpage makes use of pre-deployed smart contract factories to easily deploy new Oval instances with standard settings. The Advanced Deploymentpage shows how a custom Oval instance can be deployed using Foundry.
This getting started guide aims to show how to deploy an Oval contract. For working examples that show how Oval works on a testnet see Flashbots Integration. For a mainnet fork example see Aave Integration. If you want to use Oval within your application we recommend first reaching out to us on Discord.
For support on launching your own Oval instance please reach out to us on Discord here in the #Oval channel. We'll guide you in custom configurations and in onboarding your Oval contract to use the the UMA permissioned unlocker (RPC).
For detailed example integrations, see Technical Examples. Searchers looking to integrate Oval, should go to the For Searchers page.