Oracle for a DeFi protocol: 5 different paths
Every DeFi protocol relies on a view of the outside world. A lending market may need a price to determine collateral health. A derivative may need an outcome at a specific time. A rewards program may need a claim about an offchain event. The word “oracle” covers all of those jobs, but the integration and risk model can be completely different.
The right oracle is not simply the one with the most feeds or the most chains. Start with the data type, the update pattern, the source of truth, the consequences of a bad value, and the path for resolving a dispute. A continuously updated price feed and an optimistic assertion about a real-world event should not be evaluated with the same checklist.
This guide compares five tools from the Chainstack Marketplace by the path they use to get data or a claim into an application. The goal is not to declare one universal winner. It is to make the protocol’s data dependency explicit before it reaches mainnet.
Match the oracle to the decision
| If your protocol needs to… | Start by comparing… | Why |
|---|---|---|
| Bring signed data into a contract only when a transaction needs it | RedStone | RedStone’s Pull model appends signed data packages to transaction calldata for onchain verification. |
| Consume a named data feed built from first-party signed provider data | API3 | API3 dAPIs map a human-readable name to a feed built from first-party oracle components. |
| Resolve an arbitrary statement with an optimistic challenge period | UMA | UMA Optimistic Oracle V3 supports bonded assertions and disputes for arbitrary offchain data. |
| Prioritize inspectable feeds and a verifiability-focused delivery path | Chronicle | Chronicle pairs price feeds with its Scribe oracle architecture and an onchain dashboard. |
| Request data from a permissionless reporter system with dispute governance | Tellor | Tellor reporters submit data that can be checked and disputed through the network’s governance process. |
1. RedStone

RedStone is a modular oracle network that offers more than one data-delivery pattern. Its Pull model is particularly relevant for protocols that want data delivered on demand. Signed data packages are attached to a transaction’s calldata, then the consumer contract extracts and verifies that data as part of the call.
That model can work well when a protocol needs fresh data at the moment of a state-changing action without paying to update every feed continuously onchain. It shifts part of the integration work into the caller and consumer contract: the application must fetch the right data package, include it correctly, verify the expected signer configuration, and enforce an acceptable timestamp.
The tradeoff is operational clarity. A pull-based integration needs thorough testing around calldata construction, signer updates, stale packages, missing feeds, and the way a user transaction behaves when the requested data is unavailable. It is not a drop-in replacement for every consumer that expects a permanently updated onchain price.
Choose RedStone if: your contract can verify signed data on demand and you want to couple a data update to the transaction that needs it.
Think twice if: your protocol needs a simple onchain value that is regularly updated regardless of user activity. Compare a push-style feed or a different architecture for that requirement.
2. API3

API3 provides data feeds called dAPIs. In its architecture, a dAPI is a human-readable mapping to a data feed ID. The data feeds are built from beacons or beacon sets, which connect a data-provider Airnode address and an API endpoint template. The provider signs data, and API3 contracts verify it onchain.
API3 is a good fit when the protocol wants to understand the data-provider path rather than treating every oracle feed as an opaque aggregate. Its documentation describes first-party oracles, signed data, and update logic based on configured thresholds or time intervals. That gives integrators a concrete set of feed details to validate before relying on a value.
The important work happens before deployment. Confirm the feed’s underlying sources, update parameters, heartbeat, deviation policy, supported chain, contract address, and fallback behavior. A feed name alone is not enough to establish that it matches the collateral asset, market, or accounting unit in your protocol.
Choose API3 if: your protocol needs named, first-party signed data feeds and you want to inspect the feed configuration behind the integration.
Think twice if: the requirement is an arbitrary outcome or custom claim with a dispute process. A standard market-data feed and an event-resolution mechanism answer different questions.
3. UMA

UMA takes a different path with Optimistic Oracle V3 (OOV3). Instead of focusing on a continuously available market-data feed, OOV3 lets an application make a claim about arbitrary offchain data. The claim enters a liveness period. If no one disputes it, it can settle as true. If it is disputed, the resolution follows UMA’s escalation and dispute process.
This is useful when the decision depends on a statement that cannot be reduced to a standard price feed. Examples include an insurance outcome, a prediction-market result, an event condition, or a computation with a clearly defined expected result. The protocol can define a human-readable claim, choose an appropriate bond and liveness period, and react to the final outcome through a callback or settlement flow.
Do not use an optimistic assertion where the protocol needs low-latency price updates for liquidations or swaps. The challenge period is a feature, not an implementation detail. It gives other participants time to verify and dispute the claim, which means the design must accommodate a delayed final answer.
Choose UMA if: the protocol needs to resolve a custom assertion with economic incentives and a defined path for disputes.
Think twice if: the contract needs a continuously available price at every block. A standard price-feed integration will usually be the more direct design.
4. Chronicle
Chronicle is an oracle protocol centered on verifiable data delivery. Its product includes real-time price feeds, an onchain dashboard for inspecting oracle data, and Scribe, its oracle architecture for reducing the cost of oracle updates while retaining an auditable data path.
Chronicle is worth comparing when transparency of the data path is part of the product requirement. Its public materials emphasize real-time and historical verifiability, onchain subscription management, and a validator and relay network. That makes it a useful option for teams that want to inspect how a feed is delivered rather than only consume the final value.
The integration checklist still applies. Verify the feed address, decimals, freshness, update conditions, supported chain, and failure behavior in the consumer contract. The fact that an oracle is inspectable does not remove the protocol’s responsibility to cap risk, reject stale data, or define what happens during an outage.
Choose Chronicle if: verifiability and an inspectable oracle delivery path are first-class requirements alongside price-feed availability.
Think twice if: the exact asset, chain, or update pattern you need is not supported by the feed you plan to use. Confirm the deployment rather than assuming a general oracle integration covers it.
5. Tellor
Tellor uses a reporter-driven oracle model. Reporters collect data, submit reports, and participate in an economic and governance system around data quality. Its documentation explains that reports can be challenged through a dispute process, and that query data specifies the information reporters should provide and voters should verify.
Tellor is useful when a protocol values an open reporting model and needs a visible process for challenging questionable submissions. It can also be relevant for custom queries where the protocol needs to define what data should be reported rather than selecting a preconfigured market feed.
The flexibility comes with extra governance and operational work. Define which query format the contract accepts, how much reporting history is required, which value selection method is safe, what delay is acceptable, and how a dispute affects the consuming protocol. A permissionless data path still needs strict consumer-side validation.
Choose Tellor if: your use case fits a reporter-driven data model with a transparent dispute and governance process.
Think twice if: you only need a familiar, preconfigured price feed for a core collateral asset. The reporting and dispute model may add complexity that the protocol does not need.
Run the decision tree before you integrate
You need a price to control risk
For a lending market, perpetual protocol, vault, or stablecoin, begin with the consumer contract rather than the oracle brand.
- Define the exact asset pair, quote currency, decimals, and maximum staleness.
- Decide whether the value must be available continuously or can arrive with a transaction.
- Set consumer-side limits for stale values, sudden jumps, and unavailable data.
- Confirm how the protocol pauses, falls back, or reduces risk when the expected value is missing.
RedStone, API3, Chronicle, and Tellor may be relevant depending on the chosen data path. The protocol’s risk controls matter just as much as the feed selection.
You need to settle a real-world outcome
For insurance, prediction markets, dispute resolution, and other event-driven products, a price feed may be the wrong primitive.
- Write the claim in plain language so an independent participant can evaluate it.
- Decide the assertion bond, challenge period, and resolution behavior before the claim is submitted.
- Make sure the product can tolerate delayed settlement and an active dispute.
- Keep the settlement state separate from an interface’s optimistic preview.
UMA is designed around this flow. Its challenge period is part of the protocol’s security model, not a latency problem to hide from users.
What to test before mainnet
- Does the contract reject stale, malformed, wrong-decimal, or unexpected data?
- Have you tested the oracle call against the exact deployed consumer contract and supported chain?
- Does a liquidation, swap, payout, or governance action have an appropriate price-impact or risk limit?
- What happens if an update is delayed, a feed is unavailable, or a claim is disputed?
- Who owns the configuration, feed address, and emergency-pause authority?
- Can your team monitor both the oracle events and the consumer contract’s reaction to them?
How Chainstack fits into the stack
Oracles provide a data or resolution path. Chainstack provides the RPC and WebSocket access your application needs to read the consumer contract, submit transactions, and monitor the events around oracle-dependent actions. Use it to verify the deployed feed or oracle address, watch for consumer events, and confirm that a protocol’s onchain state reflects the value or assertion it expects to use.
For example, a DeFi team can read the configured oracle address before deployment, watch a consumer contract for price-related updates or settlement events, and monitor whether a liquidation or payout path executed as expected. The oracle design determines what data becomes available. Reliable blockchain access lets the application observe and operate around that design.