> ## Documentation Index
> Fetch the complete documentation index at: https://docs.primev.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# What Happens During An Execution Preconfirmation?

> Learn about what happens behind the scenes during an execution preconfirmation.

Let's say you're a searcher or solver looking to execute a complex mev strategy on Ethereum involving multiple DeFi protocols.

## Problem

Currently, when you send a transaction bundle:

* You define your maximum slippage tolerance for each trade (eg. 1%)
* You broadcast your bundle to one or more block builders.
* You wait about 12 seconds (1 block) or more for it to be included.

During this time, you have no guarantee that:

* Your entire bundle will be included in the next block.
* The transactions won't revert due to changing conditions.
* Other mev actors won't push your transaction toward your slippage limit

As a result of these factors:

* You might miss your target prices.
* You might pay gas for failed transactions.
* Your bundle may not get included, which is especially problematic for single-shot opportunities in DeFi. Some arbitrage opportunities only exist for a very brief window, and missing this window means losing the entire opportunity.

## Using an Execution Preconfirmation

<img height="200" src="https://mintcdn.com/primev-24/4UCnCDGHi-xyX97x/v1.2.x/images/preconf-process.svg?fit=max&auto=format&n=4UCnCDGHi-xyX97x&q=85&s=37cd5287542554f8ad157f6827c82a3b" data-path="v1.2.x/images/preconf-process.svg" />

Instead of blindly sending your transaction, you can use an execution preconf. Here's how:

<Steps>
  <Step title="Setting up your mev-commit bidder node">
    * Follow the [Quickstart guide](/v1.2.x/get-started/quickstart) to set up your mev-commit bidder node and fund your account.
  </Step>

  <Step title="Prepare your transaction">
    * Identify your mev opportunity. Craft your bundle and send the signed transaction to block builders as per usual.
  </Step>

  <Step title="Submit a preconf bid">
    * Create and submit a bid for the transaction from your mev-commit bidder node (following the [bid structure here](/v1.2.x/concepts/bids/bid-structure)), supplying the hash of the transaction you just sent.
    * When you submit a bid, it goes to multiple providers by default.
    * If a provider accepts your bid, it will generate a cryptographic commitment to execute your transaction. These are typically sent in milliseconds.
    * Your bidder node automatically verifies each commitment it receives.
    * Aim to receive commitments from all registered providers. If you don’t, consider increasing your bid amount to make it more attractive to all providers.
  </Step>

  <Step title="Execution">
    * Your transaction is now guaranteed to be executed as per the preconf terms for that provider (or else that provider will be slashed).
    * The transaction will execute in the specified block.
  </Step>
</Steps>

**Benefits**

* Real-time confirmation of future execution, translating to reduced risk for transacting
* Ability to secure a specific execution slot at a better price
* Even in the event of being frontrun, your transaction parameters will remain within your defined slippage, or else not execute
* Instant transaction UX for searchers
* Predictable gas costs

By using a preconf, you've eliminated the uncertainty of the 12-second wait, secured your execution parameters, and protected yourself against potential mev exploitation, all in real-time.

Unlike simple inclusion preconfirmations (which might still result in reverted transactions), execution preconfs ensure your bundle executes as intended. This leaderless, multi-provider approach offers superior guarantees that improve your chances to capture time-sensitive mev opportunities.
