From 3b830516f664a5c740ccccdd04fd999208c3bb21 Mon Sep 17 00:00:00 2001 From: Burak Benligiray Date: Tue, 18 Mar 2025 16:47:26 +0300 Subject: [PATCH 01/10] Remove unnecessary quotation mark --- docs/dapps/quickstart/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/dapps/quickstart/index.md b/docs/dapps/quickstart/index.md index c2e2d6ac..5e67cada 100644 --- a/docs/dapps/quickstart/index.md +++ b/docs/dapps/quickstart/index.md @@ -117,4 +117,4 @@ For information about using this selection on mainnets, refer to [this section.] This guide should help you get started with a hackathon project. For production use of Api3 data feeds, please continue to the [integration section.](/dapps/integration/) -You can also learn how to [get paid](/dapps/oev-rewards/) for using Api3 data feeds." +You can also learn how to [get paid](/dapps/oev-rewards/) for using Api3 data feeds. From 9a52c4504208070e487e24ebb23f020d86e42cca Mon Sep 17 00:00:00 2001 From: Burak Benligiray Date: Tue, 18 Mar 2025 16:47:35 +0300 Subject: [PATCH 02/10] Refer to the screenshot --- docs/dapps/integration/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/dapps/integration/index.md b/docs/dapps/integration/index.md index 4ab07340..2d777686 100644 --- a/docs/dapps/integration/index.md +++ b/docs/dapps/integration/index.md @@ -126,7 +126,7 @@ To resume updates in such cases, simply purchase a new plan. ::: -If we overestimate the price, the remainder rolls over to the next plan purchased for the same network–data feed pair, which appears as a **discount** on Api3 Market. +If we overestimate the price, the remainder rolls over to the next plan purchased for the same network–data feed pair, which appears as a **discount** on Api3 Market as seen below. Similarly, when a user purchases a plan for a data feed that is already active, the remainder of the payments made for earlier purchases will appear as a discount. ::: info 💰 Financial From 0062c076bd74472426181076e424e5e63e2c4234 Mon Sep 17 00:00:00 2001 From: Burak Benligiray Date: Tue, 18 Mar 2025 16:48:15 +0300 Subject: [PATCH 03/10] Move the screenshot next to the reference --- docs/dapps/integration/index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/dapps/integration/index.md b/docs/dapps/integration/index.md index 2d777686..f1422f00 100644 --- a/docs/dapps/integration/index.md +++ b/docs/dapps/integration/index.md @@ -129,13 +129,14 @@ To resume updates in such cases, simply purchase a new plan. If we overestimate the price, the remainder rolls over to the next plan purchased for the same network–data feed pair, which appears as a **discount** on Api3 Market as seen below. Similarly, when a user purchases a plan for a data feed that is already active, the remainder of the payments made for earlier purchases will appear as a discount. +
+ ::: info 💰 Financial In some cases, the discount allows you to get the plan for free. ::: -
### Gas grants From 2710629beaf74eea0c5b83fe5a352c07f7cd7998 Mon Sep 17 00:00:00 2001 From: Burak Benligiray Date: Tue, 18 Mar 2025 16:52:35 +0300 Subject: [PATCH 04/10] Correct wording --- docs/dapps/integration/index.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/dapps/integration/index.md b/docs/dapps/integration/index.md index f1422f00..d9570b65 100644 --- a/docs/dapps/integration/index.md +++ b/docs/dapps/integration/index.md @@ -137,7 +137,6 @@ In some cases, the discount allows you to get the plan for free. ::: - ### Gas grants You can request a gas grant for your dApp by filling out [this form,](https://api3dao.typeform.com/to/TBTu8bJt) where you can ask us to purchase plans for you. @@ -168,7 +167,7 @@ Follow the OEV Rewards [onboarding steps](/dapps/oev-rewards/index.md#how-to-get The term _first-party oracle_ is coined in the Api3 whitepaper and refers to an API provider that provides oracle services without depending on any middlemen. There are three conditions to be verified to check if an oracle service is first-party: -- Each individual node must operate an independent API service as their primary business model (for them to be called API providers). +- The operator of each individual node must also operate an independent API service as their primary business model for them to be called API providers. - Each API provider must certify their public key and sign their data with the respective private key. - Each API provider must make their signed data available themselves, without depending on third-party APIs, blockchains, or state channels. From 2c8b9b72c93e26d0bf8549ebc9b1a6cfe592a135 Mon Sep 17 00:00:00 2001 From: Burak Benligiray Date: Tue, 18 Mar 2025 17:03:15 +0300 Subject: [PATCH 05/10] Improve Google search link --- docs/dapps/integration/security-considerations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/dapps/integration/security-considerations.md b/docs/dapps/integration/security-considerations.md index 1df7171f..36d80433 100644 --- a/docs/dapps/integration/security-considerations.md +++ b/docs/dapps/integration/security-considerations.md @@ -62,7 +62,7 @@ Second, even when a Pyth oracle is an API provider, their data is aggregated and In general, when oracle services use an intermediary blockchain or state channel for delivery, they create a third-party system since the intermediary's consensus model will not match the aggregation model. Consider a system where 7 API providers supply data and 100+ node operators provide aggregation and data availability—this creates two points of failure, typical of third-party oracle designs. The secondary point of failure (the node operators) is typically weaker than the primary one (the API providers). -Consequently, when dApps use Pyth data on Ethereum, users pay Ethereum gas fees while only receiving security equivalent to [Wormhole.](https://www.google.com/search?q=wormhole+down+%22pyth%22) +Consequently, when dApps use Pyth data on Ethereum, users pay Ethereum gas fees while only receiving security equivalent to [Wormhole.](https://www.google.com/search?q=wormhole+outage+downtime+"pyth") ::: From f9b11322ac93fbd00551509ea09adc1f8e89c93f Mon Sep 17 00:00:00 2001 From: Burak Benligiray Date: Tue, 18 Mar 2025 17:06:39 +0300 Subject: [PATCH 06/10] Cross-link --- docs/dapps/integration/security-considerations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/dapps/integration/security-considerations.md b/docs/dapps/integration/security-considerations.md index 36d80433..a768187c 100644 --- a/docs/dapps/integration/security-considerations.md +++ b/docs/dapps/integration/security-considerations.md @@ -92,7 +92,7 @@ Similarly, our OEV implementation uses this mechanism, ensuring OEV updates cont ## Oracle Extractable Value (OEV) -OEV updates provide identical guarantees to regular updates—they are on-chain aggregations of API provider-signed data—so they introduce no additional data correctness risk. +OEV updates provide identical guarantees to regular updates—they are on-chain aggregations of API provider-signed data—so they introduce no additional [data correctness](#data-correctness) risk. The OEV auction mechanism allows winners to frontrun updates of an artificially delayed base feed, a tradeoff designed to benefit the dApp. Here's how the process works. From 491e0b6ef5df9d931537cdbce201426fe1fad853 Mon Sep 17 00:00:00 2001 From: Burak Benligiray Date: Tue, 18 Mar 2025 18:18:02 +0300 Subject: [PATCH 07/10] Rewrite OEV Rewards sections to elaborate on the revenue breakdown --- docs/dapps/oev-rewards/best-practices.md | 7 +++--- docs/dapps/oev-rewards/index.md | 32 ++++++++++++++++++------ 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/docs/dapps/oev-rewards/best-practices.md b/docs/dapps/oev-rewards/best-practices.md index 971911b9..5526cfa1 100644 --- a/docs/dapps/oev-rewards/best-practices.md +++ b/docs/dapps/oev-rewards/best-practices.md @@ -14,8 +14,7 @@ If your contract integration is faulty, the suggestions below are unlikely to he ::: -OEV Rewards are proceeds from auctions in which OEV searchers participate. -For the auction bids to be competitive, there must be multiple independent OEV searcher parties. +For OEV auctions to be competitive, there must be multiple independent OEV searcher parties. An OEV searcher is a blockchain developer with specific expertise whose time is typically quite valuable. Therefore, for a maximum amount of OEV Rewards, searching for your dApp must be as easy as possible. @@ -38,9 +37,9 @@ Since Api3 is also incentivized to maximize OEV Rewards, we will provide access ::: -The second way to attract OEV searchers and maximize OEV Rewards is to increase revenue. +The second way to attract OEV searchers and maximize OEV Rewards is to increase incentives. For example, a lending platform that pays 10% of the position size as a liquidation reward will attract more attention than one that pays 5%. -Similarly, a perpetual derivative exchange that properly uses Api3 data feeds is likely to yield a significant amount of OEV Rewards. +Similarly, a perpetual derivative exchange that uses Api3 data feeds as intended is likely to yield a significant amount of OEV Rewards. ::: info 💰 Financial diff --git a/docs/dapps/oev-rewards/index.md b/docs/dapps/oev-rewards/index.md index 17abf465..85d8ae9c 100644 --- a/docs/dapps/oev-rewards/index.md +++ b/docs/dapps/oev-rewards/index.md @@ -10,8 +10,15 @@ pageHeader: dApps → OEV Rewards dApps that use traditional data feeds are constantly exploited by MEV bots that manipulate the order of operations around individual data feed updates. In practice, this causes dApps to suffer significant and continuous financial losses. As the antidote, Api3's OEV Network auctions off to OEV searchers the privilege to determine the order of operations around data feed updates. -80% of resulting auction proceeds are paid to the dApp in the form of OEV Rewards. -Assuming competitive auctions, OEV Rewards will be equal to the amount that would otherwise have been lost to the MEV bots. +80% of the [resulting revenue](#breaking-down-oev-rewards) is paid to the dApp in the form of OEV Rewards. + +::: info 💰 Financial + +Api3 provides data feeds [at cost](/dapps/integration/index#pricing) and enables dApps to benefit from OEV Rewards on top. +You might ask, "What's the catch?" +There is none; OEV Rewards come at the expense of third parties who would otherwise solely benefit from MEV. + +::: Api3 data feeds work identically to traditional data feeds, which means that you do not need to modify your contracts in any way to use them. You can drop in Api3 data feeds to replace your current data feeds and immediately start earning OEV Rewards. @@ -38,12 +45,23 @@ Use [this form](https://api3dao.typeform.com/to/FHhFIL41) to get in contact with ::: 5. You [integrate](/dapps/integration/contract-integration) the OEV Rewards-enabled Api3ReaderProxyV1 contracts. -At the end of each month, Api3 will make available a report and 80% of the OEV revenue in the native gas token of the network where your dApp is deployed, with the remaining auction proceeds retained as the protocol fee. +At the end of each month, Api3 will make available a report and 80% of the OEV revenue in the native gas token of the network where your dApp is deployed, with the remainder retained as the protocol fee. -::: info 💰 Financial +## Breaking down OEV Rewards -Api3 provides data feeds [at cost](/dapps/integration/index#pricing) and enables dApps to benefit from OEV Rewards on top. -You might ask, "What's the catch?" -There is none; OEV Rewards come at the expense of third parties who would otherwise solely benefit from MEV. +dApps receive 80% of the OEV revenue in the form of OEV Rewards. +This revenue can be broken down into three parts: + +1. Proceeds of the auctions held on OEV Network +2. Revenue from OEV searching activity facilitated by Api3 to ensure a baseline level of competition in the auctions (e.g., with a 20% profit margin, which should be easily beaten by organic searchers) +3. Revenue from MEV searching activity facilitated by Api3 as a failsafe for the above + +::: info ℹ️ Info + +The OEV and MEV searching activity facilitated by Api3 is strictly limited to using data that is already available to the public, as documented in the [OEV searcher docs.](/oev-searchers) +This can be audited retrospectively by referring to data on OEV Network and the chain that the dApp is on. + +A side-effect of the above is that once organic searcher activity takes hold for a dApp, Api3 will no longer be able to generate searcher revenue, and the auction proceeds will constitute the entirety of the OEV Rewards. +This will result in more efficient and robust capturing of OEV, and thus is a desirable outcome for the dApp. ::: From 76a845307140c396415e861439edd70a62d79e4d Mon Sep 17 00:00:00 2001 From: Burak Benligiray Date: Tue, 18 Mar 2025 18:26:16 +0300 Subject: [PATCH 08/10] Fix hyperlink --- docs/dapps/oev-rewards/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/dapps/oev-rewards/index.md b/docs/dapps/oev-rewards/index.md index 85d8ae9c..0c1c3d09 100644 --- a/docs/dapps/oev-rewards/index.md +++ b/docs/dapps/oev-rewards/index.md @@ -58,7 +58,7 @@ This revenue can be broken down into three parts: ::: info ℹ️ Info -The OEV and MEV searching activity facilitated by Api3 is strictly limited to using data that is already available to the public, as documented in the [OEV searcher docs.](/oev-searchers) +The OEV and MEV searching activity facilitated by Api3 is strictly limited to using data that is already available to the public, as documented in the [OEV searcher docs.](/oev-searchers/) This can be audited retrospectively by referring to data on OEV Network and the chain that the dApp is on. A side-effect of the above is that once organic searcher activity takes hold for a dApp, Api3 will no longer be able to generate searcher revenue, and the auction proceeds will constitute the entirety of the OEV Rewards. From a38d14246dc98ca57a34d95ba3a4643eed108fe9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emanuel=20Tesa=C5=99?= Date: Tue, 18 Mar 2025 17:31:00 +0100 Subject: [PATCH 09/10] Minor suggestions --- docs/dapps/index.md | 3 +-- docs/oev-searchers/glossary.md | 6 +----- docs/oev-searchers/index.md | 6 ++---- 3 files changed, 4 insertions(+), 11 deletions(-) diff --git a/docs/dapps/index.md b/docs/dapps/index.md index 1b615c3b..7a448059 100644 --- a/docs/dapps/index.md +++ b/docs/dapps/index.md @@ -30,8 +30,7 @@ Rent-seeking third parties can exploit this fact to extract funds from data feed [Oracle Extractable Value (OEV)](https://medium.com/api3/oracle-extractable-value-oev-13c1b6d53c5b) is a subset of MEV that oracles have priority in extracting by batching additional operations with their updates. Furthermore, instead of searching for such OEV opportunities themselves, oracles can auction off this privilege. -Api3 holds transparent and permissionless auctions for OEV opportunities on OEV Network, and [pays](/dapps/oev-rewards/) 80% of the auction proceeds to the respective dApps. -OEV Rewards serves as a new and sustainable revenue stream for dApps. +Api3 holds transparent and permissionless auctions for OEV opportunities on OEV Network, and pays [OEV Rewards](/dapps/oev-rewards/) to the respective dApps. OEV Rewards serves as a new and sustainable revenue stream for dApps. ::: info ⚠️ Disclaimer diff --git a/docs/oev-searchers/glossary.md b/docs/oev-searchers/glossary.md index 2a47dbf3..5bc546e8 100644 --- a/docs/oev-searchers/glossary.md +++ b/docs/oev-searchers/glossary.md @@ -295,10 +295,6 @@ OEV Network is an Arbitrum Nitro L2. Its chain ID is 4913 and it uses ETH as the gas token. Its purpose is to hold [OEV auctions](#oev-auction) in a transparent and retrospectively verifiable way. -### OEV proceeds - -OEV proceeds refer to auction proceeds, which is the amount searchers pay for auctions. Vast majority of OEV proceeds goes back to the dApp in the form of [OEV Rewards](#oev-rewards), while the rest is kept as protocol fee for Api3. - ### OEV proxy An OEV proxy is a proxy contract that reads a value from both @@ -308,7 +304,7 @@ Chainlink's AggregatorV2V3Interface for convenience. ### OEV Rewards -OEV Rewards refer to the amount paid to the dApp. These rewards constitute the majority portion of the [OEV proceeds](#oev-proceeds). +OEV Rewards refer to the amount paid to the dApp. ### Protocol fee diff --git a/docs/oev-searchers/index.md b/docs/oev-searchers/index.md index 93a2baae..43ed9f24 100644 --- a/docs/oev-searchers/index.md +++ b/docs/oev-searchers/index.md @@ -61,11 +61,9 @@ arbitrage and many others. ## OEV distribution To update the data feed, the auction winner must pay the bid amount they -announced during the auction. These payments constitute auction proceeds. Majority of these proceeds go back to the dApp in the form of [OEV Rewards](/dapps/oev-rewards/). Searchers, in return, get exclusive rights to capture -the OEV and get to capitalize on the remaining revenue of the opportunity. +announced during the auction. Majority of these funds go back to the dApp in the form of [OEV Rewards](/dapps/oev-rewards/), while a part of it is kept as Api3 revenue. -Thus, the majority of the OEV is distributed to the dApp and the -searchers. +Searchers, in return, get exclusive rights to capture the OEV and get to capitalize on the remaining revenue of the OEV opportunity. ## How do auctions work? From f95ac98514a36bb951ce1583ec68cdab389b6cd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emanuel=20Tesa=C5=99?= Date: Tue, 18 Mar 2025 17:32:01 +0100 Subject: [PATCH 10/10] Fix link --- docs/oev-searchers/in-depth/index.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/oev-searchers/in-depth/index.md b/docs/oev-searchers/in-depth/index.md index 96789496..242b5c58 100644 --- a/docs/oev-searchers/in-depth/index.md +++ b/docs/oev-searchers/in-depth/index.md @@ -39,13 +39,13 @@ extraction. -| dApp | Chain | -| ---------------------------------------------------------------------------------------------------- | -------- | -| [Compound Finance USDe market](https://app.compound.finance/markets/usde-mantle) | Mantle | -| [Hana Finance](https://www.hana.finance/) | Taiko | -| [INIT Capital](https://app.init.capital/?chain=81457) | Blast | -| [Orbit Protocol](https://orbitlending.io/) | Blast | -| [Silo Finance RDNT market](https://app.silo.finance/silo/0x19d3F8D09773065867e9fD11716229e73481c55A) | Ethereum | +| dApp | Chain | +| --------------------------------------------------------------------------------------------------- | -------- | +| [Compound Finance USDe market](https://app.compound.finance/markets/usde-mantle) | Mantle | +| [Hana Finance](https://www.hana.finance/) | Taiko | +| [INIT Capital](https://app.init.capital/?chain=81457) | Blast | +| [Orbit Protocol](https://orbitlending.io/) | Blast | +| [Silo Finance RDNT market](https://v1.silo.finance/silo/0x19d3F8D09773065867e9fD11716229e73481c55A) | Ethereum | ## From MEV searching