Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 5 additions & 58 deletions src/content/data-feeds/llms-full.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5444,61 +5444,6 @@ make ma-set-latest-round NETWORK=devnet && make ac-set-answer NETWORK=devnet &&
# Smart Value Recapture (SVR) Feeds
Source: https://docs.chain.link/data-feeds/svr-feeds

export async function getFeeds() {
const ethereumMainnet = CHAINS.find((chain) => chain.page === "ethereum")?.networks.find(
(network) => network.networkType === "mainnet"
)

const rddUrl = ethereumMainnet?.rddUrl

if (!rddUrl) {
return []
}

try {
const response = await fetch(rddUrl)
const data = await response.json()

// Find all feeds that have SVR variants and are not hidden
const svrFeeds = data.filter(
(feed) => feed.secondaryProxyAddress && !feed.docs?.hidden
)

// Group feeds by their base name (e.g., "BTC/USD", "ETH/USD")
const feedGroups = {}

svrFeeds.forEach(feed => {
const baseName = feed.name.replace(" / ", "/")

if (!feedGroups[baseName]) {
feedGroups[baseName] = {
name: baseName,
aaveAddress: null,
svrAddress: null,
svrBackupAddress: null,
}
}

if (isAaveSVR(feed)) {
feedGroups[baseName].aaveAddress = feed.contractAddress
} else if (isNewSharedSVR(feed)) {
feedGroups[baseName].svrAddress = feed.contractAddress
} else if (isSharedSVR(feed)) {
feedGroups[baseName].svrBackupAddress = feed.contractAddress
}
})

// Convert to array and sort
const combinedFeeds = Object.values(feedGroups)
.sort((a, b) => a.name.localeCompare(b.name))

return combinedFeeds

} catch (error) {
return []
}
}

<Aside type="note" title="SVR integrated with Titan OFA">
<p>
SVR now supports multiple orderflow auctions in parallel on Ethereum mainnet, including Flashbots and Titan.
Expand Down Expand Up @@ -5592,11 +5537,13 @@ Legacy shared SVR feeds that are still actively used by existing applications. S

## Default SVR Activation

In coordination with blockchain ecosystem partners, Chainlink SVR may be activated by default for BTC, ETH, XRP, SOL, DOGE, LTC, and ADA Data Feeds on Base. Where SVR is active by default, new and existing lending market deployments will recapture oracle-related MEV (OEV) through the SVR flow from day one without additional integration work.
Chainlink SVR is activated by default for certain Chainlink Data Feeds on certain blockchain networks, currently Base and Ink. When SVR is enabled by default, new and existing lending market deployments recapture OEV without any additional integration work.

Integrators should expect zero service disruption during activation, and no action is needed on their part.

Teams deploying applications that use these feeds on networks where SVR is active by default should contact [chainlink_data_feeds@smartcontract.com](mailto:chainlink_data_feeds@smartcontract.com), as recaptured OEV is shared with integrating DeFi protocols as described in [Economics and Revenue Split](#economics-and-revenue-split).
On these networks, SVR feeds have an **SVR** label on the [Feed Addresses](/data-feeds/price-feeds/addresses?network=base\&showSvr=true) page and on [data.chain.link](https://data.chain.link/). Previously deployed SVR feeds remain available and function as expected, and can be identified with the **SVR-Backup** label.

Protocols that prefer not to use SVR can opt out at any time by reading from the "Standard" proxy that complements every SVR proxy for the relevant feed.
For any questions, contact [chainlink_data_feeds@smartcontract.com](mailto:chainlink_data_feeds@smartcontract.com). Protocols can also opt out at any time by reading from the "Standard" proxy that complements every SVR proxy for the relevant feed.

## How Protocols Can Utilize SVR Feeds

Expand Down
69 changes: 6 additions & 63 deletions src/content/data-feeds/svr-feeds/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,66 +13,7 @@ whatsnext:
}
---

import { Aside, ClickToZoom, CopyText } from "@components"
import { CHAINS } from "@features/data/chains"
import { isSharedSVR, isAaveSVR, isNewSharedSVR } from "~/features/feeds/utils/svrDetection.ts"

export async function getFeeds() {
const ethereumMainnet = CHAINS.find((chain) => chain.page === "ethereum")?.networks.find(
(network) => network.networkType === "mainnet"
)

const rddUrl = ethereumMainnet?.rddUrl

if (!rddUrl) {
return []
}

try {
const response = await fetch(rddUrl)
const data = await response.json()

// Find all feeds that have SVR variants and are not hidden
const svrFeeds = data.filter(
(feed) => feed.secondaryProxyAddress && !feed.docs?.hidden
)

// Group feeds by their base name (e.g., "BTC/USD", "ETH/USD")
const feedGroups = {}

svrFeeds.forEach(feed => {
const baseName = feed.name.replace(" / ", "/")

if (!feedGroups[baseName]) {
feedGroups[baseName] = {
name: baseName,
aaveAddress: null,
svrAddress: null,
svrBackupAddress: null,
}
}

if (isAaveSVR(feed)) {
feedGroups[baseName].aaveAddress = feed.contractAddress
} else if (isNewSharedSVR(feed)) {
feedGroups[baseName].svrAddress = feed.contractAddress
} else if (isSharedSVR(feed)) {
feedGroups[baseName].svrBackupAddress = feed.contractAddress
}
})

// Convert to array and sort
const combinedFeeds = Object.values(feedGroups)
.sort((a, b) => a.name.localeCompare(b.name))

return combinedFeeds

} catch (error) {
return []
}
}

export const feeds = await getFeeds()
import { Aside, ClickToZoom } from "@components"

<Aside type="note" title="SVR integrated with Titan OFA">
<p>
Expand Down Expand Up @@ -183,11 +124,13 @@ Legacy shared SVR feeds that are still actively used by existing applications. S

## Default SVR Activation

In coordination with blockchain ecosystem partners, Chainlink SVR may be activated by default for BTC, ETH, XRP, SOL, DOGE, LTC, and ADA Data Feeds on Base. Where SVR is active by default, new and existing lending market deployments will recapture oracle-related MEV (OEV) through the SVR flow from day one without additional integration work.
Chainlink SVR is activated by default for certain Chainlink Data Feeds on certain blockchain networks, currently Base and Ink. When SVR is enabled by default, new and existing lending market deployments recapture OEV without any additional integration work.

Integrators should expect zero service disruption during activation, and no action is needed on their part.

Teams deploying applications that use these feeds on networks where SVR is active by default should contact [chainlink_data_feeds@smartcontract.com](mailto:chainlink_data_feeds@smartcontract.com), as recaptured OEV is shared with integrating DeFi protocols as described in [Economics and Revenue Split](#economics-and-revenue-split).
On these networks, SVR feeds have an **SVR** label on the [Feed Addresses](/data-feeds/price-feeds/addresses?network=base&showSvr=true) page and on [data.chain.link](https://data.chain.link/). Previously deployed SVR feeds remain available and function as expected, and can be identified with the **SVR-Backup** label.

Protocols that prefer not to use SVR can opt out at any time by reading from the "Standard" proxy that complements every SVR proxy for the relevant feed.
For any questions, contact [chainlink_data_feeds@smartcontract.com](mailto:chainlink_data_feeds@smartcontract.com). Protocols can also opt out at any time by reading from the "Standard" proxy that complements every SVR proxy for the relevant feed.

## How Protocols Can Utilize SVR Feeds

Expand Down
Loading