Overview
The Auction Manager is a centralized component that coordinates the selection of Solvers for user swap intents. The process works as follows:- Solver Registration: Solvers register with the Auction Manager and advertise their availability for specific chains and assets.
- Quote Request: When a user initiates a swap intent via the dApp, the Auction Manager requests quotes from eligible Solvers.
- Winner Selection: The Auction Manager evaluates quotes based on criteria such as price, speed, and reputation, then selects the best Solver as the winner.
- User Commit: The user commits funds on the source chain, naming the winning Solver in the commit transaction.
- Solver Lock & Completion: The winning Solver locks funds on the destination chain and completes the swap. The Auction Manager enforces reliability through reputation tracking and slashing mechanisms.
Auction Flow (On-Chain)
1
User Commit
The user commits funds on the source chain by calling the
commit() function, specifying the winning Solver’s address and a timelock that defines the swap duration. The commit() function emits a TokenCommitted event. The timelock should allow sufficient time for the swap to complete; it must later be reduced in addLock() to establish proper refund ordering and prevent Solver misbehavior.2
Solver Lock
The winning Solver observes the
TokenCommitted event and locks equivalent funds on the destination chain by calling the lock() function with the same intent ID. The Solver provides a reward amount to incentivize timely redemption.3
User Finalize (addLock)
The user observes the Solver’s lock on the destination chain and finalizes the commitment on the source chain by calling
addLock() or addLockSig(), specifying a reduced timelock and confirming the Solver as the srcReceiver.4
Redemption & Completion
The Solver reveals the secret to claim funds on both chains, completing the swap. If the Solver fails to act reliably, the Auction Manager applies penalties (reputation loss, slashing).
Auction Manager Responsibilities
- Solver Registration & Tracking: Maintains a registry of active Solvers and tracks their reputation scores and performance history.
- Quote Evaluation: Receives swap intents and requests competitive quotes from eligible Solvers on the required chains.
- Winner Selection: Selects the best Solver based on price, latency, and reputation metrics.
- Reliability Enforcement: Monitors Solver performance (on-time locks, timely redemptions, fund releases) and applies slashing based on behavior.
- Intent Settlement: Confirms swap completion or failure and updates Solver reputation accordingly.
Solver Reliability & Incentives
The Auction Manager enforces Solver reliability through:- Reputation Score: Each Solver maintains a reputation score that influences future quote acceptance and auction selection.
- Reward/Slashing Mechanism: Solvers who fail to lock, redeem, or release user funds are penalized through slashing; other Solvers can earn rewards by completing the swap on the failed Solver’s behalf.
- Auction Selection Bias: The Auction Manager favors Solvers with higher reputation scores and progressively reduces winning probability for unreliable Solvers.