{
  "$schema": "https://degreesofsatoshi.com/encyclopedia/schemas/article-v1.json",
  "schemaVersion": "1.0.0",
  "id": "blockchain-oracles",
  "canonical": "https://degreesofsatoshi.com/encyclopedia/blockchain-oracles/",
  "collection": "defi",
  "title": "Blockchain oracles: getting observations into contract decisions",
  "description": "Understand why contracts need external observations, how price-feed timestamps and decimals matter, and where oracle trust enters a DeFi system.",
  "aliases": [
    "price oracle"
  ],
  "dates": {
    "published": "2026-10-02",
    "modified": "2026-10-02",
    "verified": "2026-10-02T15:08:18.373Z",
    "dataAsOf": null
  },
  "authorship": {
    "publisher": "Degrees of Satoshi editorial project",
    "process": "AI-assisted research and drafting with a separate automated source-verification pass; no external expert or named human review is implied."
  },
  "quickAnswer": {
    "text": "An oracle supplies information that a contract cannot obtain directly from its own chain state, such as an external market price. Blockchain consensus can agree on the stored answer without proving the outside fact is correct. A usable feed also needs the right asset, units, update timing and failure handling.",
    "claimId": "blockchain-oracles-quick-answer",
    "sourceIds": [
      "oracle",
      "feed"
    ]
  },
  "keyFacts": [
    {
      "label": "Boundary",
      "value": "Recording data on-chain does not prove its external truth.",
      "sourceIds": [
        "oracle"
      ],
      "id": "boundary",
      "claimId": "blockchain-oracles-fact-boundary"
    },
    {
      "label": "Scaling",
      "value": "Feed decimals are needed to interpret a reported answer.",
      "sourceIds": [
        "feed"
      ],
      "id": "scaling",
      "claimId": "blockchain-oracles-fact-scaling"
    },
    {
      "label": "Freshness",
      "value": "latestRoundData exposes an updatedAt timestamp.",
      "sourceIds": [
        "feed"
      ],
      "id": "freshness",
      "claimId": "blockchain-oracles-fact-freshness"
    }
  ],
  "prerequisites": [
    "what-is-defi"
  ],
  "sections": [
    {
      "id": "decision",
      "heading": "A price can decide a financial state transition",
      "paragraphs": [
        "A lending contract needs a common unit to compare collateral with debt. The balances may be on-chain, but their relative market value comes from observations. A price feed supplies the value used in that calculation.",
        "The contract checks rules against its supplied input. If that input is stale, manipulated or scaled incorrectly, otherwise consistent code can produce an inappropriate result. Consensus on execution and correctness of the observation are separate properties."
      ],
      "sourceIds": [
        "oracle"
      ]
    },
    {
      "id": "units",
      "heading": "Interpret a value together with its metadata",
      "paragraphs": [
        "Suppose a hypothetical feed reports 250,000,000 and specifies eight decimals. The represented value is 2.5 quote units, not 250 million. The token’s own decimals need not match the feed’s decimals.",
        "A timestamp establishes when a reported observation was updated. It does not by itself state whether that age is acceptable: the application needs a policy suitable for the feed’s update model and the decision being made. Chainlink’s cited interface exposes these fields but does not choose every integrator’s limits."
      ],
      "sourceIds": [
        "feed"
      ]
    },
    {
      "id": "dependencies",
      "heading": "Read the specific feed’s assumptions",
      "paragraphs": [
        "Identify which market and asset a feed measures, the data providers or aggregation process, update conditions and what the consuming application does on failure. A feed for an underlying asset is not automatically a price for a bridged claim or a receipt token.",
        "Redundancy can reduce some failure modes while leaving shared dependencies. Several data paths that ultimately depend on the same thin market can share the same weakness. Inspect sources and economic context rather than count endpoints."
      ],
      "sourceIds": [
        "feeds",
        "oracle"
      ]
    }
  ],
  "faq": [
    {
      "question": "Can a blockchain prove an oracle’s price is correct?",
      "answer": "It can verify the on-chain computation or signatures required by that oracle design. That does not by itself prove that the outside market observation accurately represents the intended asset and time.",
      "sourceIds": [
        "oracle"
      ]
    }
  ],
  "claims": [
    {
      "id": "blockchain-oracles-quick-answer",
      "articleSlug": "blockchain-oracles",
      "statement": "An oracle supplies information that a contract cannot obtain directly from its own chain state, such as an external market price. Blockchain consensus can agree on the stored answer without proving the outside fact is correct. A usable feed also needs the right asset, units, update timing and failure handling.",
      "sourceIds": [
        "source-72dd33a43173ecf1",
        "source-163350e327eb8f0a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-72dd33a43173ecf1",
          "locator": "What is an oracle?; The oracle problem"
        },
        {
          "sourceId": "source-163350e327eb8f0a",
          "locator": "decimals; latestRoundData"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Ethereum’s oracle boundary/problem and Chainlink decimals/latestRoundData plus feed-category/integration risks. Recomputed250000000/10^8=2.5.",
          "QA, facts and limitations distinguish consensus on recorded data from external truth and correctly require asset/units/freshness scope. Tightened source locator to actual Market pricing risk headings."
        ]
      }
    },
    {
      "id": "blockchain-oracles-fact-boundary",
      "articleSlug": "blockchain-oracles",
      "statement": "Boundary: Recording data on-chain does not prove its external truth.",
      "sourceIds": [
        "source-72dd33a43173ecf1"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-72dd33a43173ecf1",
          "locator": "What is an oracle?; The oracle problem"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Ethereum’s oracle boundary/problem and Chainlink decimals/latestRoundData plus feed-category/integration risks. Recomputed250000000/10^8=2.5.",
          "QA, facts and limitations distinguish consensus on recorded data from external truth and correctly require asset/units/freshness scope. Tightened source locator to actual Market pricing risk headings."
        ]
      }
    },
    {
      "id": "blockchain-oracles-fact-scaling",
      "articleSlug": "blockchain-oracles",
      "statement": "Scaling: Feed decimals are needed to interpret a reported answer.",
      "sourceIds": [
        "source-163350e327eb8f0a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-163350e327eb8f0a",
          "locator": "decimals; latestRoundData"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Ethereum’s oracle boundary/problem and Chainlink decimals/latestRoundData plus feed-category/integration risks. Recomputed250000000/10^8=2.5.",
          "QA, facts and limitations distinguish consensus on recorded data from external truth and correctly require asset/units/freshness scope. Tightened source locator to actual Market pricing risk headings."
        ]
      }
    },
    {
      "id": "blockchain-oracles-fact-freshness",
      "articleSlug": "blockchain-oracles",
      "statement": "Freshness: latestRoundData exposes an updatedAt timestamp.",
      "sourceIds": [
        "source-163350e327eb8f0a"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-163350e327eb8f0a",
          "locator": "decimals; latestRoundData"
        }
      ],
      "scope": {
        "collection": "defi",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:08:18.373Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read Ethereum’s oracle boundary/problem and Chainlink decimals/latestRoundData plus feed-category/integration risks. Recomputed250000000/10^8=2.5.",
          "QA, facts and limitations distinguish consensus on recorded data from external truth and correctly require asset/units/freshness scope. Tightened source locator to actual Market pricing risk headings."
        ]
      }
    }
  ],
  "sources": [
    {
      "id": "oracle",
      "label": "Oracles",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/developers/docs/oracles/",
      "locator": "What is an oracle?; The oracle problem",
      "note": "External observations and the trust boundary between data and consensus.",
      "version": null,
      "checkedAt": "2026-10-02",
      "recordId": "source-72dd33a43173ecf1",
      "contentSha256": null
    },
    {
      "id": "feed",
      "label": "Data Feeds API Reference",
      "publisher": "Chainlink",
      "url": "https://docs.chain.link/data-feeds/api-reference",
      "locator": "decimals; latestRoundData",
      "note": "Feed values, decimal scaling and the updatedAt timestamp.",
      "version": null,
      "checkedAt": "2026-10-02",
      "recordId": "source-163350e327eb8f0a",
      "contentSha256": null
    },
    {
      "id": "feeds",
      "label": "Selecting Quality Data Feeds",
      "publisher": "Chainlink",
      "url": "https://docs.chain.link/data-feeds/selecting-data-feeds",
      "locator": "Data Feed Categories; Market pricing risk by category; Risk Mitigation",
      "note": "Feed-specific assumptions, liquidity and integration risk.",
      "version": null,
      "checkedAt": "2026-10-02",
      "recordId": "source-76ea868a55c4a4e6",
      "contentSha256": null
    }
  ],
  "related": {
    "articles": [
      "collateral-and-health-factors",
      "defi-liquidations",
      "defi-composability",
      "oracle-heartbeat-deviation",
      "twap-oracles"
    ],
    "dossiers": [],
    "wallets": []
  },
  "revisionHistory": [
    {
      "date": "2026-10-02",
      "kind": "published",
      "summary": "First publication after primary-source research and independent automated verification."
    },
    {
      "date": "2026-10-02",
      "kind": "prepublication-review",
      "summary": "Before first publication, independent review checked and revised: sources. Read Ethereum’s oracle boundary/problem and Chainlink decimals/latestRoundData plus feed-category/integration risks. Recomputed250000000/10^8=2.5. QA, facts and limitations distinguish consensus on recorded data from external truth and correctly require asset/units/freshness scope. Tightened source locator to actual Market pricing risk headings."
    }
  ],
  "citation": "Degrees of Satoshi editorial project. “Blockchain oracles: getting observations into contract decisions.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/blockchain-oracles/"
}
