# What Problem Does Fetch Solve?

### Why Do Blockchains Need Oracles?

A blockchain like PulseChain, at its core, is a type of database. It function as a permanent and immutable ledger that can easily store a full record of every transaction that has ever taken place on the chain.

However, these databases do not inherently have access to real world (off-chain) information. The PulseChain network — for instance — natively knows how much PLS is sitting in your wallet. But the chain doesn't know how much that PLS is worth relative to other assets like the US dollar.

<figure><img src="https://2715759442-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FuaWlV2rnUpdykVKTSfXx%2Fuploads%2FAmaj9DcuGM06WsOudLDu%2FFetchDoc4.jpg?alt=media&#x26;token=8b572503-b7c3-44a3-8c72-d7faff010c32" alt="" width="563"><figcaption><p>Blockchain networks are isolated from real-world events and information.</p></figcaption></figure>

These blockchains also don't know the weather, the results of sporting events, how many cartons of milk you have in your fridge, or any other information they haven't been explicitly given access to.

This means that, if you want your PulseChain project or smart contract to be able to execute based on real-world pricing or outcomes, you need to find a way to feed off-chain information into the blockchain.

Oracles are the tool that allow you to do just that.&#x20;

<figure><img src="https://2715759442-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FuaWlV2rnUpdykVKTSfXx%2Fuploads%2Fkc4LN1l4zbBgZvECW1k9%2FFetchDoc5.jpg?alt=media&#x26;token=842d842f-d0d3-4e25-86aa-fbc384a935cd" alt="" width="563"><figcaption><p>Oracles enable blockchains to access off-chain data.</p></figcaption></figure>

{% hint style="success" %}
**Oracles** are pieces of software that connect insulated blockchians to the real world, by electing a feed or set of feeds that can communicate off-chain information to the blockchain.
{% endhint %}

But which feeds can you trust?&#x20;

How does a network stay decentralized if it relies on centralized information?&#x20;

And how do you stop bad actors from manipulating the data they enter to their own advantage?

Addressing these challenges requires thinking outside the box... it requires Fetch Oracle.

### Introducing Fetch Oracle

Fetch Oracle is built for any type of data, and the protocol's decentralized network of [reporters](https://docs.fetchoracle.com/reporting-data/requirements) supports everything from your basic spot prices, to more sophisticated pricing specs (TWAP/VWAP), Snapshot Vote Results, and just about any custom data needs you have.&#x20;

Fetch Oracle incentivizes an open and permissionless network of data reporting and data validation. It's a system that ensures that data can be provided by anyone and checked by everyone.

If your data can be verified, Fetch Oracle can [bring it on-chain](https://testnet.fetchoracle.com/#/reporter-logs) without compromising your decentralization.

{% hint style="success" %}
Fetch Oracle is an **immutable** and **decentralized** protocol that incentivizes the open and permissionless sharing of data while prioritizing the accuracy of reported information.
{% endhint %}


---

# 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://docs.fetchoracle.com/the-basics/what-problem-does-fetch-solve.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.
