# Relevant Oracle Module
The Oracle module allows validators to run arbitrary off-chain worker processes and report the results for inclusion in the on-chain state.
Unlike onchain smart contracts, offchain workers are able to run non-deterministic code, like fetching exchange price data via an api call, and long-running computations, i.e. AI alogrithms or graph analysis. All of the validators are expected to run the workers and come to a consensus on the results. Exactly how consensus is reached can be decided by the app developer.
The module is inspired by the Terra Oracle Module (opens new window) as well as a more recent iteration of it by Sommelier (opens new window).
# Getting Started
The Tutoral goes through the steps required to incorporate the Oracle module into your codebase. As an example, we fetch the Atom/USDC price data from Binance and write it on-chain.
Module Documentation: Describes the high-level architecture and module apis.
# Learn More About Oracles
- This Terra Blog Post (opens new window) has a nice general overview of core concepts.
- Terra Oracle Module Docs (opens new window) are also very insightful
- A useful talk about oracles by Chainlink's Sergey Nazarov (opens new window)
- Sommelier Oracle Module (opens new window)
# Other Resources
- Cosmos SDK API Reference (opens new window): Godocs of the Cosmos SDK.