Introducing Rocketboost, powered by Atlas and the world’s first fully onchain DRFQ
2024-08-23
BUIDL
ATLAS
The Atlas Protocol is the world’s first generalized execution abstraction protocol for the EVM, providing app and frontend developers the ability run intent or MEV orderflow auctions to capture value for their users and stakeholders. Atlas developers can build and configure their “Atlas Module” (an Atlas DappControl
contract) for their use case and value flow requirements, including: OEV auctions, backrun OFAs, intents/swap RFQs, rebalancing auctions and LVR resistant AMMs/hooks.
Having successfully concluded our audit of the core Atlas Protocol with the help of Spearbit, we have deployed our Mainnet Beta of Atlas Core 1.0 to Polygon PoS, and soon to all other major EVM chains. We are excited to be working with several exciting launch partners to be announced soon as we rollout Atlas everywhere the EVM shines, but in the meantime, we thought we’d drop something pretty cool for the community to chew on, try out and fork: Rocketboost, our Atlas skunkworks playground for new Atlas modules, featuring Atlas DRFQ - an Atlas module developed by us at Fastlane Labs which implements a fully onchain swap RFQ auction utilizing no external infrastructure other than the Polygon mempool.
Available now on Polygon PoS via the Rocketboost.me frontend, Atlas DRFQ enables fully trustless intent-style swap RFQ experience for users, similar to 1inch Fusion or UniswapX, but which solely relies on the public mempool to facilitate the auction instead of trusted infrastructure, and allows for a permissionless solving, with an onchain reputation system for solvers to manage priority and spam. Rocketboost will be our fully MIT-open source UI for showing off all of the cutting edge capabilities of Atlas, like how a frontend can request and fulfill a user’s intent fully onchain, relying only on the Polygon mempool to relay user and solver operations.
How it works
Rocketboost is live to use here. Note that this still comes with a beta label for both the contracts and the frontend as we are still battle testing it. You can fork the Atlas DRFQ code and freely run your own version of it by visiting the GitHub repo, all of the code for the app and the contracts are MIT open source and there is no backend.
As cool as we think the frontend is, the onchain RFQ system itself is a little more exciting. Frontrunning of user’s transactions is arguably the “original sin” of MEV and usually the most important attack to guard against, particularly when combined with backrunning to enable a sandwich attack. Searchers know what the user wants and can intervene in a PGA to extract the most value before the user’s transaction in a given block. But with Atlas and the DRFQ module, searchers frontrun user transactions as a way to enter a competitive auction to maximize user welfare: searchers must compete to fill the order at the best possible price, and the smart contract bundles the Atlas transaction with the winning searcher transaction, utilizing Atlas’s core capabilities for censorship resistance guarantees.
After requesting a “baseline” quote via an onchain viewcall to some DEX router (we use Quickswap’s v2 given a desired output amount of tokens from the user in the UI (in our case, from Uniswap pools, but could be made more extensive in future), the Rocketboost frontend creates a transaction on the user’s behalf which encapsulates their Atlas intent to swap X tokens for a minimum of Y tokens. Users submit intents via the Rocketboost frontend to the DRFQ contract (”FastLaneControl.sol”) which implements the Atlas IDappControl
interface. Solvers can submit competitive bids to fill a user’s order with private liquidity or provide a solution to an on-chain route that the frontend wasn’t aware of. These potential solutions are evaluated and sorted using Atlas’s bid sorting mechanism. Once the user submits there transaction to the public mempool, searcher have the ability to frontrun the transaction and submit potential solutions to the “DRFQ” contract. Solver compete for the most optimal intent fulfilment via an onchain auction system. The auction, including bids from multiple solvers, is evaluated atomically all in a single EVM transaction via the Atlas solverOp try/catch loop that sits at the core of the Atlas Protocol. The frontend-controlled FastLane DRFQ module either executes the “baseline swap” with the specified onchain liquidity sources, or via the route/fill that the winning Atlas searcher-solver has submitted, whichever is higher.
When you look more closely at the offchain flow, you’ll see that there isn’t any third party relay involved - we simply use the Polygon p2p mempool to match user orders with searcher solutions:
It’s important to note that there are some affordances of Polygon (and which apply to other ecosystems) that we are taking advantage of here in this particular configuration of Atlas, namely, the fact that Polygon has a governance appointed set of validators who can be expected not to censor Atlas auctions for the same reasons they are trusted not to censor transactions in general and the vanilla mev-bor Polygon client as well as validators running the FastLane built FastLane on Polygon client (PFL) order transactions based on a priority fee. This is more complicated in fully permissionless validator sets like Ethereum, and warrants a different tradeoff space to consider to mitigate censorship and spam. The DRFQ configuration of Atlas, however, strictly introduces no new trust assumptions for using a blockchain with a public mempool and smart contracts only to conduct a value-maximizing orderflow auction, without additional trust assumptions beyond the validators/economic security of the chain you are already trusting for settlement and finality.
The onchain flow of the DRFQ system and Atlas looks like this:
Users’ EOAs grant token permits to Atlas through our “permit69” system in Atlas (similar to permit2) through a regular transaction, and then are able to create a transaction via the FastLaneControl contract (the Atlas “Module”) which initiates the Atlas auction, where frontrunner bots will try to execute the transaction by completing it with a their attempted winning SolverOperation which will return the most tokens to the user with the constraint of their desired input and output tokens. If all solver operations fail, the baseline swap is executed for the user at the best available onchain price (in this case, we look at Uniswap v2 pools so that we can more easily demonstrate solvers providing price improvement). If a solver succeeds in beating the baseline quote and all other solvers, they get to fill the user’s order.
Permissionless innovation
We’re excited about Rocketboost as a way for us to push the Atlas Protocol forward, and will be bringing other modules with other capabilities to it in the future to show what permissionless DeFi innovation can look like. While Atlas is a fully modular system which can implement a range of auctions across the trust assumption spectrum given a variety of tradeoff curves, Rocketboost will be where we showcase the “have your cake and eat it too” innovations possible with pushing Atlas as far as it can go in the permissionlessness and decentralization direction.
- It’s permissionless for builders. Anyone can use the DRFQ module immutable smart contracts directly in their Polygon frontend, or fork the contracts and customize their own Atlas auction. The same goes with the frontend code itself.
- It’s permissionless for solvers. Searcher-solvers can listen to the Polygon mempool for Rocketboost’s transaction-wrapped swap intents and route or fulfill the order. Subject to the transparent onchain solver reputation rules, anyone can solve for Rocketboost swaps intents.
- It’s permissionless for users. Self-custody and all that.
Decentralization and permissionlessness may not always be the top priority for dapps, but we feel that more and more they should be, and with Atlas we want to show what’s possible. We’re excited to continue our rollout of MEV-aware, value-maximizing apps with our launch partners, so stay tuned and give Rocketboost a spin.