At a high level, Turbocompressor acts as a middleware layer that auctions off transaction data before posting it to the chain.
The flow works like this:
- User adds the Turbocompressor network to their wallet
They go to our site and add the network to their wallet. This is the endpoint that all transactions from their wallet will now be submitted through.
- User submits a transaction
Once the network has been added they go to a dapp like Uniswap, MakerDAO, Aave etc. and execute a transaction. This transaction is submitted through the turbocompressor endpoint.
- The transaction signature and data are split
The turbocompressor node temporarily splits the signature from the rest of the transaction data. The transaction signature is the part of the transaction that proves that it came from a particular sender. Without it, the transaction is not valid to be submitted to the network.
- The transaction data is broadcasted and put up for a 5 second order-flow auction (OFA)
The transaction data (without the signature) is broadcast to anyone who has subscribed to the auction web socket endpoint. 5 seconds is an arbitrary amount of time. It is sufficiently long that network latency should not be a huge issue in bid aggregation, but also short enough to be less than the block time interval of 12 seconds. We will tune the duration of this auction over time to maximise efficiency.
- MEV searchers simulate the transaction, create the bundle, and submit a bid
MEV searchers (participants in the Ethereum network looking for ways to maximise transaction inclusion and order for profit) who are listening to the auction web socket will take this transaction and simulate it. Then, if they can make a profit, they will package it with some other series of transactions into a bundle. For example, they might construct an arbitrage on a Uniswap trade. They then set a gas price for their bundle.
- After 5 seconds, the auction ends and the highest bidder is selected
After the auction period has ended the turbocompressor node will simulate all of the bundles from the searchers and find the highest bidder. That is, the bidder that has set the highest gas price.
- The best bundle is put up for a secondary 3 second auction to the block builders
The net gas fees of the winning bundle is sent out to block builders who have subscribed to the secondary auction web-socket endpoint. Block builders then submit their desired refund ratio for including the block. That is, the amount of gas fees that the block builder will take and the amount of gas fees that will be refunded to our smart contract address. The refund amount and the original sender of the transaction are recorded.
- After 3 seconds the secondary auction ends and the highest bidder is selected
When the auction ends, the block builder that submitted the highest refund amount is chosen as the winner. The bundle is then submitted to them. If nobody placed any bids within this period, the bundle is submitted to all block builders with a default 30% refund ratio.
- Block builder adds the bid payout transaction to the end of the block
At the end of the block, the block builder will take all of the bundles that were sent from the Turbocompressor and calculate the total amount of ETH paid in transaction fees. Then they attach an additional transaction at the end of the block to pay the gas refund to our smart contract address.
- Cashback rewards are distributed to users periodically every 12 hours
- Every 12 hours cashback refunds that have total’d greater than 0.1 eth are repaid to users automatically. These refunds represent the gas refunds and bids from MEV searchers. A small fee is deducted on top of each reward to cover the gas cost of paying it out. By aggregating refunds together and doing it every 12 hours, we can amortise the gas cost of paying out users. Which saves fees for everyone and increases the amount of rewards that users can claim. This unique feature not only offsets some transaction costs for the user but also potentially turns a profit, all by leveraging the refund amounts from the block builders and gas bids from the MEV searchers.
- Alternatively, following the successful completion of a transaction, users have the opportunity to claim cashback rewards on-demand. This allows them to bypass the 12 hour distribution constraint. To claim the rewards, users must make a request to the Turbocompressor smart contract. Upon this request, the Turbocompressor node generates a signature that confirms the reward amount in ETH. This attestation of the user's claim is then submitted to the smart contract. After verifying the authenticity of the signature, the smart contract sends the confirmed amount back to the user as a cashback reward in ETH.
Frequently asked questions
- What is an MEV searcher and what role do they play in this process?
- What is an order-flow auction (OFA) and why does it only last 5 seconds?
- What happens if no MEV searcher places a bid during the OFA?
- What is a transaction bundle and why is my transaction included in one?
- Does using Turbocompressor affect the speed of my transactions?
- What makes Turbocompressor different from MEV blocker or MEV share?