/developers
/ecosystem
/gitbook
/careers
/** Universal Data Feeds (UDF) standardizes data streams, empowering developers to access cost efficient real time data on demand with full customisation options
VMAGNOSTIC
/** Access instant data across any VM including Solana, EVM, Move, TON, TRON and IBC at the same speeds
UNIQUEASSETS
/** Supporting new assets requiring novel price discovery models i.e. LRTs, LSTs, RWAs
CUSTOMISABLE
/** Customise and program logic, security, sources, latency and more
VERIFABLEDATA
/** Supports permanent on-chain data combined with native execution for all smart contracts
INFINITELYSCALABLE
/** Meet increasing data demands without compromising performance or raising costs
RAPIDINTEGRATION
/** Plug in existing feeds seamlessly via API or add adaptors for custom feeds
/** Standard price feeds are available on 15+ supported blockchains with equal performance. Access accurate, high-frequency data on-chain or Web2 data for any virtual machine you are building on.
Scale your application to additional blockchains or add additional custom feeds seamlessly.
/** Elevate assets and applications with unparalleled access to ultra-precise, low-latency, and high-fidelity data, sourced directly from trusted providers.
/** Delivered with precision to meet protocol requirements, fully adaptable for unique use cases. Data is processed and stored on the Entangle Blockchain ready to be pulled and programmed
PULL MODEL
Allows dApp users to supply signed data packages to the destination chain on-demand. Provides minimum update gas cost and lowest latency.
PUSH MODEL
Automatically sends data to blockchains at set of determined conditions. The fastest and easiest method to link your smart contracts with real-world data.
contract ExampleContract {
IPullOracle pullOracle;
constructor(address pullContract) {
pullOracle = IPullOracle(pullContract)
}
// @notice function that verifies the provided update through PullOracle
// @notice and returns verified timestamp and price
function getAssetData(
bytes32 merkleRoot,
bytes32[] calldata merkleProof,
IPullOracle.Signature[] calldata signatures,
bytes32 dataKey,
uint256 updatePrice,
uint256 updateTimestamp
) public returns (uint256, uint256) {
// Verify the update through PullOracle
uint256 verifiedPrice = pullOracle.getLastPrice(
merkleRoot,
merkleProof,
signatures,
dataKey,
updatePrice,
updateTimestamp
);
return (verifiedPrice, updateTimestamp);
}
}
CHARTING
THE
THE PATH
PATH
FORWARD
CONNECTED NETWORKS
13
TRANSMITTER AGENTS
21
SOURCES
20+
ASSETS
50+
CUSTOMISATION PARAMETERS
8
BORDERLESS WEB3
Updates