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
14 changes: 7 additions & 7 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
## Contributor's Guide

Welcome to the API3 Documentation Repository. This guide will help you get
started with contributing to the API3 documentation.
Welcome to the Api3 Documentation Repository. This guide will help you get
started with contributing to the Api3 documentation.

## How to get started

The API3 Docs uses [VitePress](https://vitepress.dev/), a Vue-powered static
The Api3 Docs uses [VitePress](https://vitepress.dev/), a Vue-powered static
site generator. Follow the steps below to get started.

Make sure to check out https://docs.api3.org/dev/ for more details and
information about getting started and making a contribution to the API3 Docs.
information about getting started and making a contribution to the Api3 Docs.

### Pre-requisites

Expand All @@ -32,9 +32,9 @@ pnpm docs:dev

### Structure

The API3 Docs repository is structured as follows:
The Api3 Docs repository is structured as follows:

- `/docs/dapis`: Explore section within the API3 Docs.
- `/docs/dapis`: Explore section within the Api3 Docs.
- `/docs/oev`: All the guides that demonstrate the use of Airnode, QRNG and
dAPIs.
- `/docs/reference`: Contains the core documentation for Airnode, QRNG and
Expand All @@ -43,7 +43,7 @@ The API3 Docs repository is structured as follows:
Each section will have a `sidebar.js` file that contains the sidebar structure
for that section.

`/_components`: Contains the custom vue components used in the API3 Docs.
`/_components`: Contains the custom vue components used in the Api3 Docs.

[Check this out](https://docs.api3.org/dev/docsets.html) for more info about the
structure of the docs.
Expand Down
8 changes: 4 additions & 4 deletions docs/.vitepress/config.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export default {
title: 'Documentation',
description: 'API3 technical documentation',
description: 'Api3 technical documentation',
markdown: {
lineNumbers: true,
toc: ['h2', 'h3', 'h4', 'h5'],
Expand Down Expand Up @@ -67,8 +67,8 @@ export default {
},
externalLinkIcon: true,
logo: {
light: '/img/API3-Active.png',
dark: '/img/api3-inactive.png',
light: '/img/api3-logo-light-theme.svg',
dark: '/img/api3-logo-dark-theme.svg',
},
siteTitle: 'Documentation',
socialLinks: [
Expand All @@ -80,7 +80,7 @@ export default {
],
footer: {
message: 'Released under the MIT License.',
copyright: 'Copyright © 2019-present API3',
copyright: 'Copyright © 2019-present API3 Foundation',
},
sidebar: {
'/dapps/': require('../dapps/sidebar.js'),
Expand Down
24 changes: 12 additions & 12 deletions docs/dapps/integration/security-considerations.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Therefore, as long as you continue to use it, there will be ongoing security con

::: info ℹ️ Info

API3 data feeds have never misreported or experienced an outage.
Api3 data feeds have never misreported or experienced an outage.
This page merely discusses theoretical scenarios that apply to any data feed.

:::
Expand All @@ -30,10 +30,10 @@ Our [contract developer docs](https://github.com/api3dao/contracts/tree/main/doc

## Privileged accounts

Api3ReaderProxyV1 is a [UUPS-upgradeable](https://eips.ethereum.org/EIPS/eip-1822) contract, which can be upgraded by [a 4-of-8 multisig](https://github.com/api3dao/contracts/blob/main/data/manager-multisig-metadata.json#L2) that is owned by members of the API3 technical team.
Api3ReaderProxyV1 is a [UUPS-upgradeable](https://eips.ethereum.org/EIPS/eip-1822) contract, which can be upgraded by [a 4-of-8 multisig](https://github.com/api3dao/contracts/blob/main/data/manager-multisig-metadata.json#L2) that is owned by members of the Api3 technical team.
This upgradeability feature is intended to be used only in exceptional occasions to respond to newly discovered compiler, library or contract vulnerabilities, or to migrate users to potential new versions of the contracts.

[A 4-of-4 multisig,](https://github.com/api3dao/contracts/blob/main/data/dapi-management-metadata.json#L2) which again is owned by members of the API3 technical team, approves the root of a Merkle tree containing data feed configurations.
[A 4-of-4 multisig,](https://github.com/api3dao/contracts/blob/main/data/dapi-management-metadata.json#L2) which again is owned by members of the Api3 technical team, approves the root of a Merkle tree containing data feed configurations.
This means adding, removing or replacing API providers that contribute to the aggregation of data feeds requires signatures from all owners of this multisig.

::: info ℹ️ Info
Expand All @@ -45,13 +45,13 @@ Multisig signers have access to this data and are responsible for its verificati

## Update parameters

Once a plan is purchased on API3 Market, the respective data feed will maintain the advertised deviation threshold and heartbeat interval until plan expiration.
This depends on the API3 technical team to keep the wallets that will send the update transactions funded, and maintain the infrastructure that will use these wallets to send the update transactions.
Once a plan is purchased on Api3 Market, the respective data feed will maintain the advertised deviation threshold and heartbeat interval until plan expiration.
This depends on the Api3 technical team to keep the wallets that will send the update transactions funded, and maintain the infrastructure that will use these wallets to send the update transactions.
The operation is backed by dedicated monitoring personnel, automated alerts, and redundant infrastructure layers.

::: info ℹ️ Info

We have been providing oracle services as early as [2019](https://etherscan.io/txs?a=0x78e76126719715eddf107cd70f3a31dddf31f85a&p=1029), and were listed as the [best responding oracle](/assets/reputation-link.CxhU2iIj.png) among all Chainlink oracles by [`reputation.link`](https://www.google.com/search?q=%22reputation.link%22+chainlink) as of September 2020, which is when we published the [API3 whitepaper](https://github.com/api3dao/api3-whitepaper) and requested to be removed from Chainlink data feeds.
We have been providing oracle services as early as [2019](https://etherscan.io/txs?a=0x78e76126719715eddf107cd70f3a31dddf31f85a&p=1029), and were listed as the [best responding oracle](/assets/reputation-link.CxhU2iIj.png) among all Chainlink oracles by [`reputation.link`](https://www.google.com/search?q=%22reputation.link%22+chainlink) as of September 2020, which is when we published the [Api3 whitepaper](https://github.com/api3dao/api3-whitepaper) and requested to be removed from Chainlink data feeds.
An important driving factor for this was our insight into systemic issues that could harm users and our confidence in building a better solution.
With this understanding, we designed our architecture and operations from the ground up, leading to our current performance.

Expand All @@ -67,11 +67,11 @@ Similarly, our OEV implementation uses this mechanism, ensuring OEV updates cont

## Correctness of data

The [API3 whitepaper](https://github.com/api3dao/api3-whitepaper) poses that all oracle data comes from API providers in practice, and the trust-minimized way to receive data from an API provider is for there to be no third-party intermediaries.
The [Api3 whitepaper](https://github.com/api3dao/api3-whitepaper) poses that all oracle data comes from API providers in practice, and the trust-minimized way to receive data from an API provider is for there to be no third-party intermediaries.
We have coined the term _first-party oracle_ to refer to this architecture, where API providers deliver oracle services without needing third parties to facilitate.

API3 data feeds are on-chain aggregations of data feeds powered by individual first-party oracles.
Each API provider powers a single-source data feed on-chain, and the API3 data feed is an on-chain median of the these individual data feeds, which provides the strongest security guarantees (for example, compared to off-chain aggregation).
Api3 data feeds are on-chain aggregations of data feeds powered by individual first-party oracles.
Each API provider powers a single-source data feed on-chain, and the Api3 data feed is an on-chain median of the these individual data feeds, which provides the strongest security guarantees (for example, compared to off-chain aggregation).

::: info ⚠️ Warning

Expand All @@ -87,7 +87,7 @@ Consequently, when dApps use Pyth data on Ethereum, users pay Ethereum gas fees

:::

API3 maintains a roster of first-party oracle partners and curates data feeds through continuous performance analysis.
Api3 maintains a roster of first-party oracle partners and curates data feeds through continuous performance analysis.
This focused approach produces better aggregation than alternatives that rely on numerous downstream oracle service providers.

## Oracle Extractable Value (OEV)
Expand All @@ -105,8 +105,8 @@ The lifecycle of a data point consists of three phases:
dApps using our system will experience a 30–60 second delay in their data feed.
While this delay concerns some users, we can evaluate its impact through a simple framework:
Consider a dApp that generates `X1` revenue with its current oracle solution.
Using API3 data feeds would generate `X2` revenue (potentially lower than `X1` due to the delay) plus `Y` in OEV Rewards.
When `X1 < X2 + Y`—which is common—API3 feeds are the more secure choice.
Using Api3 data feeds would generate `X2` revenue (potentially lower than `X1` due to the delay) plus `Y` in OEV Rewards.
When `X1 < X2 + Y`—which is common—Api3 feeds are the more secure choice.

::: info 💡 Tip

Expand Down
16 changes: 8 additions & 8 deletions docs/dapps/oev-rewards/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,27 +9,27 @@ 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.
As the antidote, Api3's OEV Network auctions off to OEV searchers the privilege to determine the order of operations around data feed updates.
The 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.

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.
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.
If you want to maximize your OEV Rewards, make sure to check out our [guide for best practices.](/dapps/oev-rewards/best-practices)

## How to get onboard

Use [this form](https://api3dao.typeform.com/to/FHhFIL41) to get in contact with an API3 representative who will walk you through the following steps:
Use [this form](https://api3dao.typeform.com/to/FHhFIL41) to get in contact with an Api3 representative who will walk you through the following steps:

1. We register your dApp for it to show up on the API3 Market [integration page.](/dapps/integration/index.md#integration-information)
1. We register your dApp for it to show up on the Api3 Market [integration page.](/dapps/integration/index.md#integration-information)
2. You let us know which chains you operate on so we can start running the respective auctions.
::: info 💡 Tip
Don't forget to notify us if you expand to new chains later on.
:::
3. You let us know which data feeds you will use.
If a gas grant is applicable, we purchase subscriptions for you and deploy an OEV Rewards-enabled Api3ReaderProxyV1 contract for each data feed.
::: info 💡 Tip
Alternatively, you can complete this step on your own using [API3 Market.](https://market.api3.org/)
Alternatively, you can complete this step on your own using [Api3 Market.](https://market.api3.org/)
:::
4. You let us know an address where to receive the OEV Rewards.
::: info 💡 Tip
Expand All @@ -38,11 +38,11 @@ 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 remaining auction proceeds retained as the protocol fee.

::: info 💰 Financial

API3 provides data feeds [at cost](/dapps/integration/index#pricing) and enables dApps to benefit from OEV Rewards on top.
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.

Expand Down
14 changes: 7 additions & 7 deletions docs/dapps/quickstart/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ pageHeader: dApps

# Quickstart

[API3 Market](https://market.api3.org/) serves a large and dynamic catalog of data feeds on all major EVM networks.
Follow this guide to learn how to use API3 Market to integrate a data feed into an example contract.
[Api3 Market](https://market.api3.org/) serves a large and dynamic catalog of data feeds on all major EVM networks.
Follow this guide to learn how to use Api3 Market to integrate a data feed into an example contract.

## Using API3 Market
## Using Api3 Market

- Go to [market.api3.org.](https://market.api3.org/)

Expand Down Expand Up @@ -87,12 +87,12 @@ If you prefer using Hardhat, you can clone [`data-feed-reader-example`](https://

::: info 💡 Tip

If you just purchased a plan on API3 Market, your MetaMask wallet should be connected to the correct network.
If you just purchased a plan on Api3 Market, your MetaMask wallet should be connected to the correct network.
If not, ensure your wallet is connected to the network where the data feed exists, where we'll deploy DataFeedReaderExample.

:::

- Return to the data feed page on API3 Market and click "Integrate".
- Return to the data feed page on Api3 Market and click "Integrate".

<img src="./images/integrate.png">

Expand All @@ -116,5 +116,5 @@ For information about using this selection on mainnets, refer to [this section.]
## What next?

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."
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."
2 changes: 1 addition & 1 deletion docs/dev/containers.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ should be used in `vitepress-docs`.

::: info

The info box is the default go-to for the API3 technical documentation.
The info box is the default go-to for the Api3 technical documentation.

:::

Expand Down
2 changes: 1 addition & 1 deletion docs/dev/ssr.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ outline: deep

# {{$frontmatter.title}}

API3 uses CloudFlare for DNS records which includes the docs. If SSR is turned
Api3 uses CloudFlare for DNS records which includes the docs. If SSR is turned
on for any domain related to the docs, then CloudFlare will minify the already
minified build files from Firebase. This will result in the merging of pages
visible to the reader.
Expand Down
7 changes: 4 additions & 3 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@
layout: home

hero:
name: API3
name: Api3
text: Oracles that pay you
tagline: Receive OEV Rewards for your DeFi project
image:
src: /img/data-feeds-simple-to-integrate.svg
alt: API3
light: /img/data-feeds-simple-to-integrate-light.svg
dark: /img/data-feeds-simple-to-integrate-dark.svg
alt: Api3
actions:
- theme: brand
text: For dApps
Expand Down
20 changes: 10 additions & 10 deletions docs/oev-searchers/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,9 @@ provides a source of truth for [dAPIs](#dapi) and can be used to obtain which
An API provider is a business that has productized their services in the form of
an API.

### API3 Market
### Api3 Market

[API3 Market](https://market.api3.org/) is a [dApp](#dapp) where users can
[Api3 Market](https://market.api3.org/) is a [dApp](#dapp) where users can
purchase [dAPI](#dapi) plans, which get reflected on-chain immediately.

### Api3ServerV1 Contract
Expand Down Expand Up @@ -153,12 +153,12 @@ after they've paid the bid amount.
### dAPI

The
[API3 whitepaper](https://github.com/api3dao/api3-whitepaper/blob/master/api3-whitepaper.pdf)
[Api3 whitepaper](https://github.com/api3dao/api3-whitepaper/blob/master/api3-whitepaper.pdf)
definition of a dAPI is a [first-party oracle](#first-party-oracles)-based data
feed that is managed decentrally.

In practice, a dAPI is mapped to a particular [data feed](#data-feed). The
mapping is managed by API3 DAO.
mapping is managed by Api3 DAO.

### dApp

Expand All @@ -168,9 +168,9 @@ An application that uses smart contracts. Usually referred to as a source of

### dApp ID

API3 holds separate [OEV auctions](#oev-auction) for different [dApps](#dapp) to
Api3 holds separate [OEV auctions](#oev-auction) for different [dApps](#dapp) to
keep their [proceeds](#oev-proceeds) isolated. In this scheme, dApps are
identified by IDs that are assigned by API3 DAO.
identified by IDs that are assigned by Api3 DAO.

### Data Feed

Expand Down Expand Up @@ -234,15 +234,15 @@ Oracle extractable value (OEV) is a subset of [MEV](#mev) that can be extracted
by guaranteeing a specific relative order of oracle updates and related
interactions within a transaction.

API3 monetizes its [dAPI](#dapi) services by holding
Api3 monetizes its [dAPI](#dapi) services by holding
[OEV auctions](#oev-auction) and forwarding the [proceeds](#oev-proceeds) to the
respective [dApps](#dapp). This is both a net gain for the dApps (which
otherwise would have bled these funds to [MEV](#mev) bots and validators) and a
fair and scalable business model for API3 DAO.
fair and scalable business model for Api3 DAO.

### OEV Auction

API3 periodically holds [OEV](#oev) auctions on [OEV Network](#oev-network)
Api3 periodically holds [OEV](#oev) auctions on [OEV Network](#oev-network)
where [searchers](#searcher) [bid](#bid) to receive exclusive update rights to
update the data feeds for a specific [dApp](#dapp) for a limited amount of time.

Expand Down Expand Up @@ -290,7 +290,7 @@ Chainlink's AggregatorV2V3Interface for convenience.

When [Auctioneer](#auctioneer) confirms a [fulfillment](#fulfillment) and
releases the [collateral amount](#collateral), it deducts a protocol fee which
is kept by API3 DAO. The protocol fee is currently set to 0.
is kept by Api3 DAO. The protocol fee is currently set to 0.

### Searcher

Expand Down
Loading