# What are dAPIs?
dAPIs are continuously updated streams of off-chain data, such as the latest cryptocurrency, stock and commodity prices. They can power various decentralized applications such as DeFi lending, synthetic assets, stable coins, derivatives, NFTs and more.
dAPIs are composed of Beacons, which are first-party data feeds. A Beacon is directly powered by the owner of the data, the API provider. Compared to third-party oracle solutions, which involve middlemen node operators, this approach is secure, transparent, cost-efficient and scalable. API3 composes dAPIs out of Beacons, and provides them as turn-key data feed solutions on many chains.
Developers use the
DapiServer.sol (opens new window)
contract to access dAPIs.
DapiServer.sol reads directly from its data store of
Beacons, which are powered by API provider-owned and operated
A dAPI can be configured to read an individual Beacon or an aggregation of multiple Beacons.
Each dAPI has a human-readable name (e.g.,
ETH/USD). Encode the name as
bytes32 and pass the value to
// Reading the ETH/USD dAPI using the DapiServer contract // Encode ETH/USD to bytes32 (value, timestamp) = IDapiServer(_dapiServerContractAddress).readDataFeedWithDapiName("0x4554...00000");
See the dApp Developers section to learn more about accessing dAPIs.
# dAPI Composition
API3 composes dAPIs out of individual Beacons and Beacon sets, and provides them as turn-key data feed services. Users need not worry about the exact API provider used, the endpoint called, or the parameters used. This process is managed by the API3 core technical team multisigs deployed on the chains that 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.