# Tutorial 15: Oracles

{% hint style="info" %}
[**Book an audit with Zokyo**](https://www.zokyo.io/)
{% endhint %}

In the decentralized financial (DeFi) landscape, where trustless and automated processes reign supreme, there remains a pivotal question: How does one bring external, real-world information into a blockchain in a reliable way? Enter oracles.

Oracles play the role of the messenger, bridging the gap between off-chain data sources and on-chain smart contracts. Whether it's fetching the current price of an asset, the outcome of a sports event, or the temperature in a particular city, oracles ensure that smart contracts react appropriately to real-world events and conditions.

However, like any other system component, oracles are not free from vulnerabilities. Their pivotal role makes them a potential target, and their misuse or misconfiguration can introduce an array of risks. From inaccurate price feeds, which might result from illiquid pools or malicious tampering, to the use of stale or outdated data, vulnerabilities in oracles can lead to significant financial implications for DeFi platforms and their users.

Moreover, while decentralized oracles offer a promise of trust through distribution, centralized oracles can become single points of failure, making them attractive targets for attackers.

This tutorial aims to delve deep into the realm of oracles, breaking down their function, their importance, and the potential pitfalls associated with their use. As we explore the vulnerabilities tied to oracles, we will uncover best practices for developers and users alike, emphasizing the need for vigilance, thorough vetting, and a comprehensive understanding of the underlying mechanisms.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-15-oracles.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
