---
title: "Auction"
description: >-
  Learn how Express Relay's off-chain auction determines winning bids and maximizes revenue sharing with integrated protocols.
---

The auction in Express Relay is held off-chain at the auction server.
Bids arrive at the auction server and compete against other bids, vying for the same [permission key](permissioning).
A relayer selected by governance serves as the auctioneer and determines the auction in line with the criterion of maximizing the revenue shared back to the protocol that generated this opportunity. That means the auctioneer is expected to forward on-chain the subset of bids that maximizes the revenue back to the protocol.

Thus, the Express Relay auction is analogous to a sealed-bid auction, i.e., participants in the auction will not have the contents of their bid disclosed publicly unless they win the auction and are forwarded on-chain.

The forwarded subset of transactions is submitted on-chain and first processed by the [`ExpressRelay`](https://github.com/pyth-network/per/blob/fccac65b00cff1cfe5c278b333a582fe66bda0f8/contracts/evm/src/express-relay/ExpressRelay.sol) contract before individual searchers' submissions are routed to their corresponding `targetContract`s.

Generally, the auction server expects bids to execute successfully on-chain. Falback bids are also forwarded in case of execution failures for the predicted winners.

The `ExpressRelay` contract extracts the payment of the specified bid amount only if the searcher's bid is successfully executed on-chain.
Hence, the Express Relay auction can be seen as a generalization of a [first-price sealed-bid auction](https://en.wikipedia.org/wiki/First-price_sealed-bid_auction), in that multiple bids can win and pay their first price.

The revenue from the auction is shared amongst relevant stakeholders in the Express Relay system. These stakeholders include:

- the protocol that generates the relevant opportunity
- the relayer, which handles running the off-chain components of the system

The Express Relay contract enforces the exact revenue splits and is subject to change based on governance decisions.
