Skip to content

Commit 992194e

Browse files
committed
add svr searcher diagram
1 parent 7049652 commit 992194e

File tree

2 files changed

+16
-10
lines changed

2 files changed

+16
-10
lines changed
296 KB
Loading

src/content/data-feeds/svr-feeds/index.mdx

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -180,17 +180,23 @@ This code sample is essentially the same as reading from a standard Chainlink Pr
180180

181181
This guide explains how to identify and bid on **Chainlink SVR** liquidation opportunities through **Flashbots MEV-Share**. SVR Feeds support a private transmission channel for oracle price updates, enabling searchers to backrun new prices with liquidation transactions and compete for profit.
182182

183-
**Why Chainlink SVR?**
183+
### Why Chainlink SVR?
184184

185185
Traditional MEV searching depends on spotting oracle price updates in the public mempool. With SVR, new price reports are shared in a private mempool via Flashbots MEV-Share. Searchers place bids to include liquidation transactions directly **after** the price update in the same block. The highest bidder gets included, capturing the liquidation bonus while sharing part of the winning bid with the DeFi protocol (e.g., Aave) and the Chainlink Network.
186186

187-
**Example Application: Aave Liquidations**
187+
### Example Application: Aave Liquidations
188188

189189
Aave is a lending protocol where collateralized positions must remain above a [threshold](https://aave.com/docs/concepts/liquidations) called their health factor. When an oracle price update reveals a borrower is undercollateralized, the position becomes eligible for liquidation. The searcher liquidates the position in exchange for a liquidation bonus reward. With Chainlink SVR, a searcher's liquidation transaction can be bundled with the new SVR price update through Flashbots.
190190

191191
For more background on how Aave liquidations work, see [Aave Documentation](https://docs.aave.com/). To understand how Chainlink SVR adds a structured auction for these Aave liquidation opportunities, read the following sections.
192192

193-
### 1. High-Level Steps for Searchers
193+
### Price Update, Auction, and Liquidation Execution Flow
194+
195+
<ClickToZoom src="/images/data-feed/svr/svr-price-update-auction-liquidation-flow.webp" />
196+
197+
### How to Participate as a Searcher
198+
199+
#### 1. High-Level Steps for Searchers
194200

195201
1. **Monitor SVR Price Updates**: Chainlink SVR sends oracle reports through Flashbots Protect (MEV-Share). Your searcher node must watch private transactions, not just the public mempool.
196202

@@ -201,7 +207,7 @@ For more background on how Aave liquidations work, see [Aave Documentation](http
201207

202208
1. **Execute Liquidation**: If your bundle is selected, your liquidation happens **immediately after** the fresh price arrives onchain, capturing the liquidation bonus. Based on the results of the auction, a portion of the MEV is recaptured and split between Aave and the Chainlink Network, while the rest goes to you.
203209

204-
### 2. Listen for Events on MEV Share
210+
#### 2. Listen for Events on MEV Share
205211

206212
Chainlink SVR uses forwarder contracts to route feed updates. You typically see **one transaction per event**, which calls the function `forward(address to, bytes callData)` with the function selector `6fadcf72`. This method, in turn, calls the SVR aggregator's `transmitSecondary()` function with the new price data.
207213

@@ -224,7 +230,7 @@ Below are code examples for setting up a listener that monitors the MEV-Share ev
224230
</Fragment>
225231
</Tabs>
226232

227-
### 3. Decode `callData` for `forward` and `transmitSecondary`
233+
#### 3. Decode `callData` for `forward` and `transmitSecondary`
228234

229235
Once you've identified a potential SVR feed update transaction, you'll need to decode its payload to extract the new price data. Extracting this price information is essential for determining if profitable liquidation opportunities exist. The decoding process involves understanding two function calls:
230236

@@ -279,7 +285,7 @@ The following code samples demonstrate the complete decoding process, including
279285
</Fragment>
280286
</Tabs>
281287

282-
### 4. Detect SVR-enabled Feeds for the Aave Protocol
288+
#### 4. Detect SVR-enabled Feeds for the Aave Protocol
283289

284290
When processing forward calls, verify that the `to` address (the destination of the forward call) matches one of these feed addresses:
285291

@@ -308,7 +314,7 @@ When processing forward calls, verify that the `to` address (the destination of
308314
</tbody>
309315
</table>
310316

311-
### 5. Calculate Updated Price
317+
#### 5. Calculate Updated Price
312318

313319
After successfully decoding the transaction data, you need to extract the median price from the `observations` array inside the decoded `report`:
314320

@@ -320,7 +326,7 @@ This formula retrieves the median value from the sorted array of price observati
320326

321327
To use this price effectively, convert it to the appropriate decimal representation for the asset pair.
322328

323-
### 6. Bidding With Flashbots MEV-Share
329+
#### 6. Bidding With Flashbots MEV-Share
324330

325331
Once you've detected an SVR update and identified a profitable liquidation opportunity, you need to construct and submit a bundle to Flashbots. Consider these key aspects when preparing your submission:
326332

@@ -358,14 +364,14 @@ Below are code examples demonstrating how to construct and submit bundles to the
358364

359365
For gas management, simulations, and other advanced usage, see the official [Flashbots documentation](https://docs.flashbots.net/).
360366

361-
### 7. Considerations
367+
#### 7. Considerations
362368

363369
- **Competition**: Multiple searchers might detect the same liquidation. The best bid typically wins.
364370
- **Profit-Sharing**: A portion of liquidation MEV is recaptured and redirected to the integrating DeFi protocol and the Chainlink Network.
365371
- **Gas Efficiency**: Bundles that are too costly might erode the profitability of the proposed transaction. Optimize carefully.
366372
- **Non-SVR `forward` calls**: There are other events on the MEV-Share event stream that have the same `forward` function signature. Be sure to filter for the ones that call `transmitSecondary` on the listed SVR feeds.
367373

368-
### 8. Next Steps for Searchers
374+
#### 8. Next Steps for Searchers
369375

370376
1. **Set Up Your Searcher Node**
371377

0 commit comments

Comments
 (0)