Kaia MEV 拍賣 SDK 搜尋者指南
Kaia v2.1.0 推出 MEV Auction 系統,讓搜尋者能參與公平、透明的 MEV 機會拍賣。 本指南提供使用 Kaia MEV Auction SDK 的搜尋器工作流程的全面演練。
為了配合目前的使用模式進行作業優化,MEV 拍賣基礎架構 - 包括 Auctioneer 和 MEV Explorer - 已在 ** Mainnet 和 Kairos** 上暫停。 Auctioneer 端點 (auctioneer.kaia.io、auctioneer-kairos.kaia.io) 和 MEV Explorer 端點 (mev.kaia.io、mev-kairos.kaia.io) 目前無法使用。
此暫停並不會*終止 Kaia 的 MEV 架構或搜尋器生態系統。 CN 層級的 MEV 功能仍然啟用。 當生態系統條件與搜尋者需求需要恢復積極的 MEV 拍賣作業時,該基礎設施將重新上線。 復工日期尚未確定。
搜尋器工作流程包含四個主要步驟:

- 存款:搜尋者將 KAIA 代幣存入
AuctionDepositVault以資助競標活動 - 出價:搜尋者向拍賣官提交密封的競標書,以競逐回力賽時段。
- 提交中標:拍賣官會選出贏家,並將贏得的出價轉寄給 Consensus 節點 (CN)。
- ** 執行中標交易**:CN 透過「AuctionEntryPoint」合約執行中標交易
詳細技術背景請參閱 KIP-249。
先決條件
開始之前,請確保您已
- 用 KAIA 代幣存款的資金皮夾
- 已安裝 Go (1.25 版以上) 以取得 SDK 範例
- 存取 Kaia 網路端點 (本指南使用 Kairos testnet)
- (可選)已安裝 Foundry (用於
cast指令)
拍賣者端點:
- Kairos (testnet):
https://auctioneer-kairos.kaia.io - 主網絡:
https://auctioneer.kaia.io
探索者端點:
- Kairos (testnet):
https://mev-kairos.kaia.io - 主網絡:
https://mev.kaia.io
網路端點:
- Kairos (testnet):
https://public-en-kairos.node.kaia.io - 主網絡:
https://public-en.node.kaia.io
合約地址(Kairos):
- AuctionFeeVault:
0xE4e7d880786c53b6EA6cfA848Eb3a05eE97b2aCC - AuctionDepositVault:
0x2A168bCdeB9006eC6E71f44B7686c9a9863C1FBc - AuctionEntryPoint:
0x2fF66A8b9f133ca4774bEAd723b8a92fA1e28480
如需主網路合約地址 (主網路啟動後可用),請檢查 合約地址。
搜尋者可透過以下方式識別有利可圖的交易
- 訂閱拍賣商的待定交易 API:此 API 可直接從 Consensus 節點串流交易,讓您即時偵測 MEV 機會。 請參閱下面的 訂閱待處理交易 章節。
- ** 獨立監控網路 mempool**:透過訂閱待定 tx 來實作您自己的 MEV 機會偵測邏輯。
步驟 1:存入資金

AuctionDepositVault 儲存您的競投餘額。 您的保證金必須涵蓋您的出價金額和執行出價的預估瓦斯費。
瞭解存款要求
您的押金餘額必須包括
- 出價金額:您願意為贏得拍賣而支付的 KAIA
- ** 估計瓦斯費**:執行競標期間所消耗的瓦斯(在執行後扣除,並發送給整批提案者)
如果您的餘額不足以支付競投金額加上預估的瓦斯費用,您的競投將會被拍賣官在確認時拒絕。
存款方法
合約提供兩種存款方式:
方法 1: deposit()
使用寄件者的餘額存款。 存款會存入寄件者的帳戶。
# Deploy deposit of 200 KAIAcast send --private-key <YOUR_PRIVATE_KEY> 0x2A168bCdeB9006eC6E71f44B7686c9a9863C1FBc "deposit()" --rpc-url "https://public-en-kairos.node.kaia.io" --confirmations 0 --value 200000000000000000000
方法 2:depositFor(位址搜尋器)*
代表另一個帳戶存款。 有助於從單一來源為多個搜尋器地址提供資金。
cast send --private-key <YOUR_PRIVATE_KEY> 0x2A168bCdeB9006eC6E71f44B7686c9a9863C1FBc "depositFor(address)" <SEARCHER_ADDRESS> --rpc-url "https://public-en-kairos.node.kaia.io" --confirmations 0 --value 200000000000000000000
檢查您的餘額
查詢您目前的存款餘額:
cast call 0x2A168bCdeB9006eC6E71f44B7686c9a9863C1FBc "depositBalances(address)(uint256)" <YOUR_ADDRESS> --rpc-url "https://public-en-kairos.node.kaia.io"
詳細的存款範例,請參閱 DEPOSIT.md guide。
步驟 2:提交出價

一旦發現有利可圖的交易, 請向拍賣官提交出價。 出價是密封的(在拍賣結束前隱藏),並根據出價金額進行競爭。
投標架構
出價由下列欄位組成 (如 types.go 所定義):
type AuctionBid struct { TargetTxRaw []byte // Raw transaction bytes of target tx TargetTxHash common.Hash // Transaction to backrun BlockNumber *big.Int // Target block number Sender common.Address // Your searcher address To common.Address // Contract to call Nonce uint64 // Current nonce from AuctionEntryPoint Bid *big.Int // Your bid in KAIA CallGasLimit uint64 // Gas limit for your backrun logic Data []byte // Encoded function call SearcherSig []byte // EIP-712 signature from searcher}
在您提交出價之後,拍賣官會驗證並加入自己的簽章 (AuctioneerSignature),然後才會將中標出價轉寄給 Consensus 節點。 您只需要提供 SearcherSig (您的 EIP-712 簽章)。
提交投標
SDK 在 example/submitbid.go 提供了一個完整的工作範例。 範例說明:
- 與拍賣官建立 HTTPS 連線
- 從 EN 端點偵測新區塊
- 產生目標交易和相對應的出價
- 向拍賣官提交出價
** 必須採取的行動**:執行程式碼前,請先在程式碼中更換您的私人密碼匙。 檢查原始碼中的「TODO:」註解。
執行範例:
# From repository rootgo run example/submitbid.go
出價驗證
拍賣商、投標者和智慧型契約各自對出價執行特定的驗證檢查。 主要驗證規則包括
- ** 區塊號碼**:必須是 currentBlockNumber + 1 或 currentBlockNumber + 2
- ** 出價金額**:必須大於 0 且小於或等於您的可用存款餘額
- 呼叫資料大小:不得超過
BidTxMaxDataSize(64KB) - 呼叫瓦斯限制:不得超過
BidTxMaxCallGasLimit(10,000,000) - Nonce:必須符合您目前在
AuctionEntryPoint中的 nonce。 查詢它:cast call 0x2fF66A8b9f133ca4774bEAd723b8a92fA1e28480 "nonces(address)(uint256)" <YOUR_ADDRESS> --rpc-url "https://public-en-kairos.node.kaia.io" - ** 簽署**:必須是有效的 EIP-712 簽署(執行方式請參閱 submitbid.go
- 保證金保障:必須有足夠的保證金支付
出價金額 + 預估瓦斯費。 - ** 唯一性**:同一區塊中不能有另一個中標(除非針對同一筆交易)
- 拍賣官簽名:必須有效(由拍賣官在您提交後添加)
如需完整的驗證矩陣,顯示哪些實體執行哪些檢查,請參閱 投標驗證指南。
步驟 3:訂閱待決交易

Auctioneer 提供 WebSocket 訂閱服務,可直接從 Consensus 節點串流待處理的交易。 這可讓搜尋人員即時偵測到 MEV 機會。
SDK 在 example/subscribe_pendingtx.go 中提供了一個完整的範例。
範例說明:
- 建立與拍賣官的 WebSocket 連線
- 訂閱待處理交易串流
- 處理收到的交易以找出 MEV 機會
執行範例:
# From repository rootgo run example/subscribe_pendingtx.go
當偵測到待處理交易時,訂閱會持續列印交易切細值。 您可以擴充本範例以實作您自己的 MEV 檢測邏輯。
步驟 4:了解執行
當您的出 價獲勝時,Consensus Node 會透過 AuctionEntryPoint 契約執行:

執行流程
執行過程包含三個階段:
- 驗證階段:合約驗證區塊號碼、簽名、nonce 和投標金額
- 出價付款階段:從您的訂金中扣除出價金額,並傳送至生態系統基金
- 執行階段:您的 backrun 由 EntryPoint 合約執行(無論執行結果如何,都會進行出價付款)
** 主要安全功能:**
- 驗證員代表您執行出價(防止還原出價以逃避付款)
- Nonce 增量可防止重播攻擊
- 雙重簽名 (搜尋員 + 拍賣員) 未經授權的出價取代或操控
- 無論後續執行結果如何,出價付款都會發生
詳細執行流程請參閱 ENTRYPOINT.md guide。
步驟 5:提取資金

提款需要經過鎖定期的兩個步驟: