From cdd0bbdc08ddb29bc48358b4f9eb6ce6edc22aaf Mon Sep 17 00:00:00 2001 From: Sebastian Lerner Date: Fri, 24 Apr 2026 14:32:58 -0400 Subject: [PATCH 1/8] =?UTF-8?q?docs(data-feeds):=20Ondo=20on-assets=20?= =?UTF-8?q?=E2=80=94=20SVR=20and=20permissioned=20primary?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a short Smart Value Recapture (SVR) section to the Ondo tokenized equity page. Explains that primary mint/redeem can be permissioned while on-chain hold and liquidations are open, and that SVR liquidator participation can include teams with primary access—so SVR is used for these feeds in production when the primary market is not public to all. Made-with: Cursor --- src/content/data-feeds/tokenized-equity-feeds/ondo.mdx | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/content/data-feeds/tokenized-equity-feeds/ondo.mdx b/src/content/data-feeds/tokenized-equity-feeds/ondo.mdx index 19fc2e7b62c..8c6e1f2aac2 100644 --- a/src/content/data-feeds/tokenized-equity-feeds/ondo.mdx +++ b/src/content/data-feeds/tokenized-equity-feeds/ondo.mdx @@ -14,9 +14,12 @@ metadata: "Multiplier", "Corporate Actions", "SyntheticSharesOracle", + "SVR", + "Smart Value Recapture", ] whatsnext: { + "Smart Value Recapture (SVR) Feeds": "/data-feeds/svr-feeds", "View Provider Catalog": "/data-feeds/tokenized-equity-feeds/providers", "Learn about tokenized equity feeds": "/data-feeds/tokenized-equity-feeds", "Find Price Feed Addresses": "/data-feeds/price-feeds/addresses", @@ -144,3 +147,9 @@ The token price remains continuous at $200 throughout the event, even though the ``` This fail-safe behavior prevents incorrect token prices from being published when the stock price and `sValue` are temporarily out of sync. + +## Smart Value Recapture (SVR) + +Primary **mint and redeem** for Ondo on-assets can be permissioned, but on-chain **anyone can hold the tokens and anyone can liquidate** positions that use the feed. + +**SVR** ([Smart Value Recapture](/data-feeds/svr-feeds)) is designed for that liquidation use case, and the liquidator set includes teams that can also access primary **mint and redeem** when they need to. Ondo on-assets match that **structure**, and **SVR is deployed** for the feeds in production **even** when the primary market is **not** public to all participants. From ce374e6107f1fc3d277a27ff55ea8e239982b530 Mon Sep 17 00:00:00 2001 From: Sebastian Lerner Date: Fri, 24 Apr 2026 14:55:43 -0400 Subject: [PATCH 2/8] =?UTF-8?q?docs(data-feeds):=20Ondo=20=E2=80=94=20unpa?= =?UTF-8?q?use=20checks=20+=20SVR?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds manual pre-unpause verification: new sValue × Data Streams 24/5 equity (same v11 leg as DON) vs frozen token price. Documents where to obtain the stream (v11, tokenized equity FAQ, config/ops, Ondo/CL). Retains short SVR section for permissioned primary / open on-chain use. Made-with: Cursor --- .../data-feeds/tokenized-equity-feeds/ondo.mdx | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/content/data-feeds/tokenized-equity-feeds/ondo.mdx b/src/content/data-feeds/tokenized-equity-feeds/ondo.mdx index 8c6e1f2aac2..cc3324440ba 100644 --- a/src/content/data-feeds/tokenized-equity-feeds/ondo.mdx +++ b/src/content/data-feeds/tokenized-equity-feeds/ondo.mdx @@ -100,6 +100,19 @@ This pause mechanism ensures price continuity during corporate actions. For exam The token price remains continuous at $200 throughout the event, even though the underlying equity market price dropped from $200 to $20. +### Manual verification before unpausing + +**Unpausing is manual**—do not clear the pause until this check has passed. + +**Where the equity price comes from:** The **underlying equity** leg is the same **Data Streams 24/5** US equity input the DON already uses in the [Total Return Value](#total-return-value-calculation) formula. That is the [Data Streams v11 report schema](/data-streams/reference/report-schema-v11) path described in the tokenized equity FAQ, [How is market data sourced for tokenized equity feed calculation?](/data-feeds/tokenized-equity-feeds#how-is-market-data-sourced-for-tokenized-equity-feed-calculation). For each on-asset, use the **stream and session** configured for that product in feed configuration and your operations monitoring (the value the pipeline would read as the stock leg for the current window), **not** an ad hoc quote from a different venue. If you do not have that mapping, get the correct stream or runbook for the name from **Ondo** or **Chainlink** for that feed. + +1. Take the **new** `sValue` that is staged for go-live (the post–corporate-action multiplier). +1. Read the **current** equity market price from that same **Data Streams 24/5** input, for the **appropriate session** (regular, pre-market, post-market, or overnight), the same way the feed prices that window. +1. **Multiply**: `new sValue` × that **current equity price**. That product is the **implied** token (total return) value you would publish if you unpaused *now*. +1. **Compare** that implied value to the **token price at freeze** (the last good, frozen feed value from when the pause took effect). **They should match**—or be treated as **aligned** only within whatever tolerance Ondo defines—because correct coordination means the post–corporate-action stock price and the new `sValue` should combine to the **same** on-chain token price as at the freeze, preserving **continuity**. + +If that equality does not hold, the stock price, `sValue`, or both are not yet in sync for the new regime; the feed should **stay** paused until they are, so integrators are not given a discontinuous or incorrect level. + -### Manual verification before unpausing +### Verification before unpausing -**Unpausing is manual—do not clear the pause until this check has passed.** +Before an Ondo Finance Global Markets (GM) feed is unpaused after a large corporate action, Ondo verifies that the post-corporate-action equity price and staged `sValue` are aligned so the next published value remains continuous. **Where the equity price comes from:** the underlying equity leg is the same Data Streams 24/5 US equity input the DON already uses in the [Total Return Value](#total-return-value-calculation) formula. See the official list of the [24/5 equity streams](/data-streams/rwa-streams?show24x5=true&page=1), and [learn more about how market data is sourced for tokenized equity feed calculation](/data-feeds/tokenized-equity-feeds#how-is-market-data-sourced-for-tokenized-equity-feed-calculation). -For each Ondo Finance Global Markets (GM) tokenized equity feed, use the stream and time segment configured for that product in feed configuration and your operations monitoring (the value the pipeline would read as the stock leg for the current window), _not_ an ad hoc quote from a different venue. +For each Ondo Finance Global Markets (GM) tokenized equity feed, this check uses the stream and time segment configured for that product (the value the feed pipeline would read as the stock leg for the current window), _not_ an ad hoc quote from a different venue. 1. Take the new `sValue` that is staged for go-live (the post–corporate-action multiplier). 1. Read the current equity market price from that same Data Streams 24/5 input, for the appropriate session (regular, pre-market, post-market, or overnight), the same way the feed prices that window. -1. Multiply: `new sValue` × that current equity price. That product is the implied token (total return) value you would publish if you unpaused _now_. +1. Multiply: `new sValue` × that current equity price. That product is the implied token (total return) value the feed would publish if it unpaused _now_. 1. Compare that implied value to the **token price at freeze** (the last good, frozen feed value from when the pause took effect). They should match, or be treated as aligned only within whatever tolerance Ondo defines, because correct coordination means the post–corporate-action stock price and the new `sValue` should combine to the same onchain token price as at the freeze, preserving continuity. -- **If that equality holds** (within Ondo's tolerance), proceed to unpause according to your runbook and any other release gates. -- **If it does not hold**, the equity input and the new `sValue` are not yet consistent with each other after the corporate action, so unpausing now would jump or misstate the level for integrators. **Keep the feed paused** until the stock leg, `sValue`, or both are reconciled and the check passes. +- **If that equality holds** (within Ondo's tolerance), the feed can be unpaused according to the applicable release process and any other release gates. +- **If it does not hold**, the equity input and the new `sValue` are not yet consistent with each other after the corporate action, so unpausing the feed would jump or misstate the level for integrators. The feed remains paused until the stock leg, `sValue`, or both are reconciled and the check passes. ## Example scenarios From 326db328620c5d125e906b5281a7081df8bcca1c Mon Sep 17 00:00:00 2001 From: devin distefano Date: Tue, 5 May 2026 13:57:16 -0500 Subject: [PATCH 8/8] move guidance out of ondo page, generic for any asset issuer --- src/content/data-feeds/llms-full.txt | 38 ++++++++++--------- .../tokenized-equity-feeds/index.mdx | 18 +++++++++ .../tokenized-equity-feeds/ondo.mdx | 20 +--------- 3 files changed, 40 insertions(+), 36 deletions(-) diff --git a/src/content/data-feeds/llms-full.txt b/src/content/data-feeds/llms-full.txt index 0594a40f6b1..07036bbebd6 100644 --- a/src/content/data-feeds/llms-full.txt +++ b/src/content/data-feeds/llms-full.txt @@ -6838,6 +6838,24 @@ These actions are usually announced outside regular trading hours. The feed will - Consider pausing markets during corporate action windows - Implement maximum price change limits with manual review for extreme moves +#### Pause confirmation for corporate actions + +*This section contains information for asset issuers that provide Chainlink with pause state for tokenized equity feeds.* + +Some asset issuers use pause-based workflows for large corporate actions such as stock splits or reverse splits. In these workflows, **the feed freezes at the last known good token value during the pause window**. Before signaling that the feed can be unpaused, the asset issuer should verify that the post-corporate-action equity price and the new issuer multiplier are aligned so the next published token value remains continuous. + +The underlying equity leg for this check should be the same Data Streams 24/5 US equity input that the feed uses for tokenized equity feed calculation. See the official list of the [24/5 equity streams](/data-streams/rwa-streams?show24x5=true\&page=1), and [learn more about how market data is sourced for tokenized equity feed calculation](/data-feeds/tokenized-equity-feeds#how-is-market-data-sourced-for-tokenized-equity-feed-calculation). + +For each tokenized equity feed, use the stream and time segment configured for that product (the value the feed pipeline would read as the stock leg for the current window), *not* an ad hoc quote from a different venue. + +1. Take the new multiplier that is staged for go-live after the corporate action. +2. Read the current equity market price from that same Data Streams 24/5 input, for the appropriate session (regular, pre-market, post-market, or overnight), the same way the feed prices that window. +3. Multiply: `new multiplier` × that current equity price. That product is the implied token value the feed would publish if it unpaused *now*. +4. Compare that implied value to the token price at freeze: the last good, frozen feed value from when the pause took effect. They should match, or be treated as aligned only within the asset issuer's defined tolerance, because correct coordination means the post-corporate-action stock price and the new multiplier should combine to the same onchain token price as at the freeze, preserving continuity. + +- **If that equality holds** within the asset issuer's tolerance, the issuer can signal that the feed is ready to unpause according to the applicable release process and any other release gates. +- **If it does not hold**, the equity input and the new multiplier are not yet consistent with each other after the corporate action, so unpausing the feed would jump or misstate the level for integrators. The feed should remain paused until the stock leg, multiplier, or both are reconciled and the check passes. + ### Market closures and halts not explicitly flagged Tokenized equity feeds do not explicitly flag: @@ -6966,7 +6984,7 @@ This pause mechanism ensures price continuity during corporate actions. For exam The token price remains continuous at $200 throughout the event, even though the underlying equity market price dropped from $200 to $20. -### Verification before unpausing - -Before an Ondo Finance Global Markets (GM) feed is unpaused after a large corporate action, Ondo verifies that the post-corporate-action equity price and staged `sValue` are aligned so the next published value remains continuous. - -**Where the equity price comes from:** the underlying equity leg is the same Data Streams 24/5 US equity input the DON already uses in the [Total Return Value](#total-return-value-calculation) formula. See the official list of the [24/5 equity streams](/data-streams/rwa-streams?show24x5=true\&page=1), and [learn more about how market data is sourced for tokenized equity feed calculation](/data-feeds/tokenized-equity-feeds#how-is-market-data-sourced-for-tokenized-equity-feed-calculation). - -For each Ondo Finance Global Markets (GM) tokenized equity feed, this check uses the stream and time segment configured for that product (the value the feed pipeline would read as the stock leg for the current window), *not* an ad hoc quote from a different venue. - -1. Take the new `sValue` that is staged for go-live (the post–corporate-action multiplier). -2. Read the current equity market price from that same Data Streams 24/5 input, for the appropriate session (regular, pre-market, post-market, or overnight), the same way the feed prices that window. -3. Multiply: `new sValue` × that current equity price. That product is the implied token (total return) value the feed would publish if it unpaused *now*. -4. Compare that implied value to the **token price at freeze** (the last good, frozen feed value from when the pause took effect). They should match, or be treated as aligned only within whatever tolerance Ondo defines, because correct coordination means the post–corporate-action stock price and the new `sValue` should combine to the same onchain token price as at the freeze, preserving continuity. - -- **If that equality holds** (within Ondo's tolerance), the feed can be unpaused according to the applicable release process and any other release gates. -- **If it does not hold**, the equity input and the new `sValue` are not yet consistent with each other after the corporate action, so unpausing the feed would jump or misstate the level for integrators. The feed remains paused until the stock leg, `sValue`, or both are reconciled and the check passes. - ## Example scenarios **Normal operation** @@ -7032,7 +7034,7 @@ This fail-safe behavior prevents incorrect token prices from being published whe Primary mint and redeem for Ondo Finance Global Markets (GM) tokenized equities can be permissioned, but once the tokens are onchain, anyone can hold them and anyone can liquidate positions that use the feed. -Ondo Finance Global Markets (GM) feeds have [SVR](/data-feeds/svr-feeds) enabled even when the primary market is not public to all participants. The liquidator set includes teams that can also access primary mint and redeem when they need to. Permissioned mint and redeem concerns the primary market; tokens can still circulate onchain and positions that use the feed can still be liquidated outside that path. +Most Ondo Finance Global Markets (GM) feeds have [SVR](/data-feeds/svr-feeds) enabled even when the primary market is not public to all participants. The liquidator set includes teams that can also access primary mint and redeem when they need to. Permissioned mint and redeem concerns the primary market; tokens can still circulate onchain and positions that use the feed can still be liquidated outside that path. For Oracle Extractable Value (OEV) and how SVR relates to standard feeds, use [SVR Feeds](/data-feeds/svr-feeds)—especially [Understanding MEV and OEV](/data-feeds/svr-feeds#understanding-mev-and-oev). To read answers from contracts, follow [Using Data Feeds](/data-feeds/using-data-feeds) and point at the SVR-enabled proxy address for your feed. diff --git a/src/content/data-feeds/tokenized-equity-feeds/index.mdx b/src/content/data-feeds/tokenized-equity-feeds/index.mdx index 55f68f24a02..97bea161487 100644 --- a/src/content/data-feeds/tokenized-equity-feeds/index.mdx +++ b/src/content/data-feeds/tokenized-equity-feeds/index.mdx @@ -241,6 +241,24 @@ These actions are usually announced outside regular trading hours. The feed will - Consider pausing markets during corporate action windows - Implement maximum price change limits with manual review for extreme moves +#### Pause confirmation for corporate actions + +_This section contains information for asset issuers that provide Chainlink with pause state for tokenized equity feeds._ + +Some asset issuers use pause-based workflows for large corporate actions such as stock splits or reverse splits. In these workflows, **the feed freezes at the last known good token value during the pause window**. Before signaling that the feed can be unpaused, the asset issuer should verify that the post-corporate-action equity price and the new issuer multiplier are aligned so the next published token value remains continuous. + +The underlying equity leg for this check should be the same Data Streams 24/5 US equity input that the feed uses for tokenized equity feed calculation. See the official list of the [24/5 equity streams](/data-streams/rwa-streams?show24x5=true&page=1), and [learn more about how market data is sourced for tokenized equity feed calculation](/data-feeds/tokenized-equity-feeds#how-is-market-data-sourced-for-tokenized-equity-feed-calculation). + +For each tokenized equity feed, use the stream and time segment configured for that product (the value the feed pipeline would read as the stock leg for the current window), _not_ an ad hoc quote from a different venue. + +1. Take the new multiplier that is staged for go-live after the corporate action. +1. Read the current equity market price from that same Data Streams 24/5 input, for the appropriate session (regular, pre-market, post-market, or overnight), the same way the feed prices that window. +1. Multiply: `new multiplier` × that current equity price. That product is the implied token value the feed would publish if it unpaused _now_. +1. Compare that implied value to the token price at freeze: the last good, frozen feed value from when the pause took effect. They should match, or be treated as aligned only within the asset issuer's defined tolerance, because correct coordination means the post-corporate-action stock price and the new multiplier should combine to the same onchain token price as at the freeze, preserving continuity. + +- **If that equality holds** within the asset issuer's tolerance, the issuer can signal that the feed is ready to unpause according to the applicable release process and any other release gates. +- **If it does not hold**, the equity input and the new multiplier are not yet consistent with each other after the corporate action, so unpausing the feed would jump or misstate the level for integrators. The feed should remain paused until the stock leg, multiplier, or both are reconciled and the check passes. + ### Market closures and halts not explicitly flagged Tokenized equity feeds do not explicitly flag: diff --git a/src/content/data-feeds/tokenized-equity-feeds/ondo.mdx b/src/content/data-feeds/tokenized-equity-feeds/ondo.mdx index 5cadb414efd..0a452266f0e 100644 --- a/src/content/data-feeds/tokenized-equity-feeds/ondo.mdx +++ b/src/content/data-feeds/tokenized-equity-feeds/ondo.mdx @@ -101,7 +101,7 @@ This pause mechanism ensures price continuity during corporate actions. For exam The token price remains continuous at $200 throughout the event, even though the underlying equity market price dropped from $200 to $20. -### Verification before unpausing - -Before an Ondo Finance Global Markets (GM) feed is unpaused after a large corporate action, Ondo verifies that the post-corporate-action equity price and staged `sValue` are aligned so the next published value remains continuous. - -**Where the equity price comes from:** the underlying equity leg is the same Data Streams 24/5 US equity input the DON already uses in the [Total Return Value](#total-return-value-calculation) formula. See the official list of the [24/5 equity streams](/data-streams/rwa-streams?show24x5=true&page=1), and [learn more about how market data is sourced for tokenized equity feed calculation](/data-feeds/tokenized-equity-feeds#how-is-market-data-sourced-for-tokenized-equity-feed-calculation). - -For each Ondo Finance Global Markets (GM) tokenized equity feed, this check uses the stream and time segment configured for that product (the value the feed pipeline would read as the stock leg for the current window), _not_ an ad hoc quote from a different venue. - -1. Take the new `sValue` that is staged for go-live (the post–corporate-action multiplier). -1. Read the current equity market price from that same Data Streams 24/5 input, for the appropriate session (regular, pre-market, post-market, or overnight), the same way the feed prices that window. -1. Multiply: `new sValue` × that current equity price. That product is the implied token (total return) value the feed would publish if it unpaused _now_. -1. Compare that implied value to the **token price at freeze** (the last good, frozen feed value from when the pause took effect). They should match, or be treated as aligned only within whatever tolerance Ondo defines, because correct coordination means the post–corporate-action stock price and the new `sValue` should combine to the same onchain token price as at the freeze, preserving continuity. - -- **If that equality holds** (within Ondo's tolerance), the feed can be unpaused according to the applicable release process and any other release gates. -- **If it does not hold**, the equity input and the new `sValue` are not yet consistent with each other after the corporate action, so unpausing the feed would jump or misstate the level for integrators. The feed remains paused until the stock leg, `sValue`, or both are reconciled and the check passes. - ## Example scenarios **Normal operation** @@ -168,6 +152,6 @@ This fail-safe behavior prevents incorrect token prices from being published whe Primary mint and redeem for Ondo Finance Global Markets (GM) tokenized equities can be permissioned, but once the tokens are onchain, anyone can hold them and anyone can liquidate positions that use the feed. -Ondo Finance Global Markets (GM) feeds have [SVR](/data-feeds/svr-feeds) enabled even when the primary market is not public to all participants. The liquidator set includes teams that can also access primary mint and redeem when they need to. Permissioned mint and redeem concerns the primary market; tokens can still circulate onchain and positions that use the feed can still be liquidated outside that path. +Most Ondo Finance Global Markets (GM) feeds have [SVR](/data-feeds/svr-feeds) enabled even when the primary market is not public to all participants. The liquidator set includes teams that can also access primary mint and redeem when they need to. Permissioned mint and redeem concerns the primary market; tokens can still circulate onchain and positions that use the feed can still be liquidated outside that path. For Oracle Extractable Value (OEV) and how SVR relates to standard feeds, use [SVR Feeds](/data-feeds/svr-feeds)—especially [Understanding MEV and OEV](/data-feeds/svr-feeds#understanding-mev-and-oev). To read answers from contracts, follow [Using Data Feeds](/data-feeds/using-data-feeds) and point at the SVR-enabled proxy address for your feed.