Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Explore 2.1 march17 #726

Closed
wants to merge 7 commits into from
Closed
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
Binary file added docs/explore/assets/images/dAPI_q2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
43 changes: 23 additions & 20 deletions docs/explore/dao-members/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,43 +17,46 @@ tags:

# {{$frontmatter.title}}

API3 delegates much of its governance to the vote of a Decentralized Autonomous Organization (DAO). API3 is a
collaborative effort to build, manage and monetize dAPIs at scale. To achieve
delegated governance and apportion grants in a fully decentralized way, the incentives and processes of the participants are
API3 delegates much of its governance to the vote of a Decentralized Autonomous
Organization (DAO). API3 is a collaborative effort to build, manage and monetize
dAPIs at scale. To achieve delegated governance and apportion grants in a fully
decentralized way, the incentives and processes of the participants are
reconciled through the governance, security, and
[value capture utilities](/explore/dao-members/dao-pool.md#token-utilities) of
the API3 token and its powers in the API3 DAO.

The API3 project has a completely open, decentralized and direct governance
model. Any API3 token holder can stake in the DAO pool and obtain direct voting
abilities in the DAO smart contract and thus participate in many aspects of the governance of the project
directly. In addition, stakers receive immutably-coded
abilities in the DAO smart contract and thus participate in many aspects of the
governance of the project directly. In addition, stakers receive immutably-coded
[inflationary rewards](/explore/dao-members/rewards.md) and any additional
benefits that the DAO may decide on in the future. The staked API3 tokens will
back an on-chain [Service Coverage](/explore/dapis/using-dapis.md) as collateral
to provide dAPI users with quantifiable and trustless security guarantees.

The DAO votes on high-level matters such as staking incentives and
collateralization (parameters of the DAO smart contract itself), as well as grant proposals that directly transfer DAO treasury assets to
teams working in support of API3.
collateralization (parameters of the DAO smart contract itself), as well as
grant proposals that directly transfer DAO treasury assets to teams working in
support of API3.

> <img src="../assets/images/06-a-API3_DAO-Op1.png" width="450"/>

## DAO Contributors Structure

The organizational structure of contributors which receive grants from the DAO is often comprised of hierarchical teams and subDAOs
both of which manage, streamline, and secure the success of their deliverables to API3.
The organizational structure of contributors which receive grants from the DAO
is often comprised of hierarchical teams and subDAOs both of which manage,
streamline, and secure the success of their deliverables to API3.

### Hierarchical Teams

More granular tasks are conducted through hierarchical team structures for
scalable governance.

A best-practice workflow is to form off-chain teams and apply for grants to execute
one-time projects or time-defined operations that will benefit API3. The team
makes the grant application with a multisig that has the team members assigned
as users, and the DAO permissionlessly transfers the grant to the multisig if the grant proposal is
accepted and passed by the DAO contract logic.
A best-practice workflow is to form off-chain teams and apply for grants to
execute one-time projects or time-defined operations that will benefit API3. The
team makes the grant application with a multisig that has the team members
assigned as users, and the DAO permissionlessly transfers the grant to the
multisig if the grant proposal is accepted and passed by the DAO contract logic.

This team-based governance scheme is scalable in terms of gas costs, as it
requires fewer proposals to be voted on at the DAO level. It is also more
Expand All @@ -69,9 +72,9 @@ of the API3 Whitepaper</a>.

### subDAO

The DAO is leveraged to selectively allocate funds and decisions in line with the mission of API3. When a
task reaches a scale that can no longer be fulfilled by a team, it is assigned
to a subDAO.
The DAO is leveraged to selectively allocate funds and decisions in line with
the mission of API3. When a task reaches a scale that can no longer be fulfilled
by a team, it is assigned to a subDAO.

> <img src="../assets/images/dao-subdao-teams.png" width="350"/>

Expand All @@ -96,8 +99,8 @@ specific responsibilities.
### Transparency

Each team is expected to produce sufficiently detailed progress reports that
enable the DAO's participants to evaluate team performance with respect to proposed goals.
These public reports have the additional benefit of increased accountability as
dAPI users and the general public can audit API3 operations.
enable the DAO's participants to evaluate team performance with respect to
proposed goals. These public reports have the additional benefit of increased
accountability as dAPI users and the general public can audit API3 operations.

<FlexEndTag/>
26 changes: 14 additions & 12 deletions docs/explore/dapis/OEV.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,24 +25,26 @@ Oracle Extractable Value (OEV) is a subset of MEV related to the way oracles are
currently designed. Any update to data feeds, or a lack thereof, can create
opportunities for OEV such as arbitrage and liquidations. During each of these
interactions value is leaking from the dApp users to both searchers and
validators. Learn more about OEV in a summary of the
blockchain validators. Learn more about OEV in a summary of the
[OEV Litepaper](https://medium.com/api3/oracle-extractable-value-oev-13c1b6d53c5b).

### Leveraging OEV alongside dAPIs

Integrating OEV data feeds can turn this fee previously being imposed on your
users into a powerful economic incentive driving value to your ecosystem. OEV
data feeds will maximize the value returned to your dapp from OEV through a
sealed bid auction process similar to the one you might be familiar with from
Flashbots and MEV-Boost.
Integrating OEV-enabled data feeds can turn this fee previously being imposed on
your users into a powerful economic incentive for your protocol. With the OEV
Network, fees typically extracted through liquidation bots will be recaptured
and be able ot be used for more productive means. API3 has delivered a
specialized Order Flow Auction (OFA) that maximizes the value returned to your
dApp from OEV through a sealed bid auction process similar to the one you might
be familiar with from Flashbots and MEV-Boost.

Instead of overpaying for liquidations with a fixed incentive, that during large
liquidation opportunities can be much too high than it needs to be, a sealed bid
auction hosted at the oracle can minimize the value being paid out and return
most of it back to the dapp. The liquidations will also be able to occur in a
more timely manner because you do not have to wait for a deviation threshold to
trigger oracle updates, creating a lower latency and more robust liquidation
process.
liquidation opportunities can be much much higher than it needs to be, a sealed
bid auction hosted at the oracle can minimize the value being paid out and
return most of it back to the dapp. The liquidations will also be able to occur
in a more timely manner because you do not have to wait for a deviation
threshold to trigger oracle updates, creating a lower latency and more robust
liquidation process.

### Re-directing MEV to dApps

Expand Down
41 changes: 30 additions & 11 deletions docs/explore/dapis/how-are-dAPIs-maintained.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,35 @@ dAPIs are provided on. API3 also provides access to individual beacons or beacon
sets for the users that require full control over the curation of the data feeds
they use.

## DapiServer Contract

As mentioned above, dAPIs are an abstraction layer over beacons and beacon sets.
The primary purpose of
[DapiServer.sol➚](https://github.com/api3dao/airnode-protocol-v1/blob/v0.5.1/contracts/dapis/DapiServer.sol)
is to return dAPI values to requesters (smart contracts) that has authorized to
read a particular dAPI.

::: info Read more

Learn about how the dAPI Server
## Role of `API3Server.sol`

A dAPI points to an individual beacon or an aggregation of multiple beacons
(beacon set). Each dAPI has a human-readable name (e.g., `AVAX/USD`) that makes
them easy to categorize. The contract
[API3ServerV1.sol](/reference/dapis/understand/) maintains the link between a
dAPI name and the beacon(s) it uses for the dAPI. dApps use an API3 Market proxy
contract to read any dAPI from `API3ServerV1.sol`.

dApp owners use a proxy contract, available on the
[API3 Market](https://market.api3.org), to access a dAPI. Proxy contracts use
the
[API3Server.sol](https://github.com/api3dao/airnode-protocol-v1/blob/main/contracts/api3-server-v1/Api3ServerV1.sol)
contract to access dAPIs. Developers can easily set the proxy contract address
in a dApp contract to start reading from the dAPIs.

<img src="../assets/images/dAPI_explainer.png" style="width:500px">

The `API3ServerV1.sol` contract reads directly from its data store of beacons,
which are powered by API provider-operated
[Airnodes](/reference/airnode/latest/). Thus proxies allow dAPIs to be used like
libraries. The smart contract only needs to
[import the interface](/guides/dapis/read-a-dapi/index.md#_2-read-a-dapi) for
calling the proxy contract.

This means once a dAPI is integrated to read a different data feed, the contract
does not need to change the code itself, rather it only needs to use a different
proxy address when calling the read() function on the proxy contract. If the
dAPI interface has previously been imported, it abstracts away the technical
implementation of accessing new data feeds.

<FlexEndTag/>
13 changes: 1 addition & 12 deletions docs/explore/dapis/security-considerations.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,16 +37,6 @@ ability drastically once dAPI operations have matured, by capping the amount of
changes that are allowed to be made in addition to giving the API3 DAO the
ability to revoke dAPI name setting rights through a governance vote.

## Self-funded dAPIs

Compared to managed dAPIs, self-funded dAPIs are sourced from a single datafeed
(beacon) and are hence susceptible to more risk. Downtime with the associated
Airnode or the sourced API operation will consequently lead to a stale data
point. For this reason, self-funded dAPIs are treated as an introduction to
dAPIs as well as a testing ground for data feeds. It is recommended that use
cases with higher security requirements make use of managed dAPIs when
available.

### Sponsor Wallets

Self-funded dAPIs will only update if the respective sponsor wallet has
Expand All @@ -70,7 +60,6 @@ a beacon set via Airnode's HTTP-Gateway and updating the beacon values on-chain.

It is important that no central authority has the opportunity to impact the
delivery of a dAPI's value. API3 is committed to keep the beacon sets behind a
managed dAPI updated in a completely decentralized fashion. Therefore
decentralization will be a key feature when managed dAPIs are made available.
dAPI updated in a completely decentralized fashion.

<FlexEndTag/>
82 changes: 38 additions & 44 deletions docs/explore/dapis/using-dapis.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,42 @@ tags:
As outlined on the page [What are dAPIs?](/explore/dapis/what-are-dapis.md),
API3 has created a unified, user-friendly implementation that is designed to
simplify the process of obtaining data feed services. The API3 Market enables
dApp owners to connect to a decentralized API and access its data feeds. There
are two types of dAPIs:
dApp owners to connect to a decentralized API and access its data feeds.

- Self-funded dAPIs
- Managed dAPIs
## A next generation push oracle

## Self-funded dAPIs
Managed dAPIs are sourced from multiple first-party oracles and aggregated using
a median function. They operate using a push model with a variety of update
specifications based on deviation thresholds. dAPIs have been designed to be
simple to integrate, manage and change.

### Accessing Managed dAPIs

dAPI are accessible through the API3 Market. The market enables developers to
permissionlessly access price feeds and manage them once integrated. Once gas
overheads required to activate a feed are provided, within minutes price
reference data will be readable on-chain.

<img src="../assets/images/Managed_dAPI_visual.png" style="width:500px">

It is worth noting that API3 operates all infrastructure required for data feed
updates, there is no additional infrastructure to set up, operate and maintain
by a dApp looking to utilize a dAPI.

# API3 Market

The API3 Market lists all available dAPIs, self-funded and managed dAPis. It
represents a hub that allows developers to:

- Browse through a catalogue of potential data feeds to integrate
- Provide gas for dAPIs to activate
- Access the proxy address to read the value of a required data pair
- Request new data types

You can head to the [API3 Market](https://market.api3.org/dapis) to explore this
further.

<!--## Self-funded dAPIs
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are multiple comment <!-- tags between these comments that cause the build to fail. Maybe delete the commented sections?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 for just deleting- git preserves a history so if any deleted comment was ever needed (doubtful) it could be recovered


Self-funded dAPIs currently rely on a single first-party oracle. They offer dApp
owners the opportunity to make use of data feeds with minimal up-front
Expand All @@ -48,16 +77,16 @@ already been funded and any dApp owner can proceed to use the dAPI.

<img src="../assets/images/Sponsoring_a_feed_overview.png" style="width:500px">

<!--::: info Developer info
::: info Developer info

dAPI implementation to your solidity contract is simple, learn more [within this
starter kit](link to API3 DAO starter kit).

:::-->
:::

<!--Self-funded dAPIs currently rely on a single first-party oracle and projects utilizing these in production and high value use cases should consider the risk and security implications.
Read more in our
[security considerations](/explore/dapis/security-considerations.md)-->
[security considerations](/explore/dapis/security-considerations.md)

### Accessing a self-funded dAPI

Expand Down Expand Up @@ -95,44 +124,9 @@ A self-funded data feed provides advantages for dApp owners:
- Developers have the ability to use a first-party oracle within early stages of
the development life cycle without an ongoing commitment
- dApps that may only require data feeds for a short period of time can activate
a self-funded dAPI as needed
a self-funded dAPI as needed-->

<!--Additionally, the API3 Market provides an intuitive interface to check the
status of respective self-funded dAPIs and fund them accordingly.-->

## Managed dAPIs

Managed dAPIs are sourced from multiple first-party oracles and aggregated using
a median function.

### Accessing Managed dAPIs

When available, self-funded dAPIs can be upgraded to a managed dAPI by paying
the API3 DAO. The API3 Market will facilitate this process and allow potential
users to specify desired amount of first-party oracles that should be included
in the aggregation. API3 will create the respective
[beacon set](/reference/dapis/understand/index.md) for a dAPI from the best
available first-party oracles for the requested data set and point the dAPI
towards this creation.

<img src="../assets/images/Managed_dAPI_visual.png" style="width:500px">

In addition, API3 takes over the gas management overhead associated with
operating managed dAPIs. Compared to self-funded dAPIs, managed dAPIs are
monetized, as API3 requires payment in USDC on Ethereum Mainnet to operate them.
API3 recommends the usage of managed dAPIs in high value production use cases.

# API3 Market

The API3 Market lists all available dAPIs, self-funded and managed dAPis. It
represents a hub that allows developers to:

- Browse through a catalogue of potential data feeds to integrate
- Fund their operation in the case of self-funded dAPIs
- Pay for the upgrade to a managed version
- Request new data types

You can head to the [API3 Market](https://market.api3.org/dapis) now and use
self-funded dAPIs.

<FlexEndTag/>
Loading
Loading