You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/data-feeds/svr-feeds/index.mdx
+16-10Lines changed: 16 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -180,17 +180,23 @@ This code sample is essentially the same as reading from a standard Chainlink Pr
180
180
181
181
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.
182
182
183
-
**Why Chainlink SVR?**
183
+
### Why Chainlink SVR?
184
184
185
185
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.
186
186
187
-
**Example Application: Aave Liquidations**
187
+
### Example Application: Aave Liquidations
188
188
189
189
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.
190
190
191
191
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.
192
192
193
-
### 1. High-Level Steps for Searchers
193
+
### Price Update, Auction, and Liquidation Execution Flow
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.
196
202
@@ -201,7 +207,7 @@ For more background on how Aave liquidations work, see [Aave Documentation](http
201
207
202
208
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.
203
209
204
-
### 2. Listen for Events on MEV Share
210
+
####2. Listen for Events on MEV Share
205
211
206
212
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.
207
213
@@ -224,7 +230,7 @@ Below are code examples for setting up a listener that monitors the MEV-Share ev
224
230
</Fragment>
225
231
</Tabs>
226
232
227
-
### 3. Decode `callData` for `forward` and `transmitSecondary`
233
+
####3. Decode `callData` for `forward` and `transmitSecondary`
228
234
229
235
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:
230
236
@@ -279,7 +285,7 @@ The following code samples demonstrate the complete decoding process, including
279
285
</Fragment>
280
286
</Tabs>
281
287
282
-
### 4. Detect SVR-enabled Feeds for the Aave Protocol
288
+
####4. Detect SVR-enabled Feeds for the Aave Protocol
283
289
284
290
When processing forward calls, verify that the `to` address (the destination of the forward call) matches one of these feed addresses:
285
291
@@ -308,7 +314,7 @@ When processing forward calls, verify that the `to` address (the destination of
308
314
</tbody>
309
315
</table>
310
316
311
-
### 5. Calculate Updated Price
317
+
####5. Calculate Updated Price
312
318
313
319
After successfully decoding the transaction data, you need to extract the median price from the `observations` array inside the decoded `report`:
314
320
@@ -320,7 +326,7 @@ This formula retrieves the median value from the sorted array of price observati
320
326
321
327
To use this price effectively, convert it to the appropriate decimal representation for the asset pair.
322
328
323
-
### 6. Bidding With Flashbots MEV-Share
329
+
####6. Bidding With Flashbots MEV-Share
324
330
325
331
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:
326
332
@@ -358,14 +364,14 @@ Below are code examples demonstrating how to construct and submit bundles to the
358
364
359
365
For gas management, simulations, and other advanced usage, see the official [Flashbots documentation](https://docs.flashbots.net/).
360
366
361
-
### 7. Considerations
367
+
####7. Considerations
362
368
363
369
-**Competition**: Multiple searchers might detect the same liquidation. The best bid typically wins.
364
370
-**Profit-Sharing**: A portion of liquidation MEV is recaptured and redirected to the integrating DeFi protocol and the Chainlink Network.
365
371
-**Gas Efficiency**: Bundles that are too costly might erode the profitability of the proposed transaction. Optimize carefully.
366
372
-**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.
0 commit comments