Synthetix Docs
V2 User Docs
  • User Docs
  • Synthetix Exchange
  • Leveraged Tokens
  • For Developers
V2 User Docs
  • Synthetix Protocol
    • Welcome to Synthetix
    • The Synthetix Protocol
      • Synthetix Token (SNX)
      • The Role of Stakers
      • Oracles
      • Synthetix Litepaper
    • Synthetic Assets
      • Perpetual Futures
      • Spot Synths
  • Staking
    • Depositing to the 420 Pool
    • Current Protocol Parameters
    • Staking Guide (Nearing Deprecation)
      • Steps for Staking SNX (via Minting)
      • Steps for Unstaking SNX (via Burning)
      • Steps for Claiming Rewards
      • Automating Staking, Claiming, Burning, and Minting
        • Legacy Automated Minting & Claiming
      • Understanding the Collateralization Ratio
      • Understanding Debt, Minting, and Burning
      • Simplified Debt Hedging
      • Escrow and Vesting
      • Liquidations
    • Staking FAQ
    • Bridging sUSD
  • DAO
    • Governance Framework
      • Synthetix Improvement Proposals (SIPs)
      • Synthetix Configuration Change Proposal (SCCPs)
      • Spartan Council
      • Core Contributors
      • Staker
    • Elections and Voting
      • Voting with a Gnosis Safe
    • How to write SIP/SCCPs
  • V3
    • Synthetix v3
    • Build on v3
  • Synthetix Ecosystem
    • Built on Synthetix
      • Kwenta - Spot and Perps
      • Decentrex - Perps
      • Lyra - Options
      • Polynomial - Perps and Option Vaults
      • 1inch/Curve - Atomic Swaps
    • Community Infrastructure
    • Ecosystem Operations
  • integrations
    • Perps Integration Guide
      • Introduction
      • Optimistic Sepolia Testnet Tokens
      • Technical Integration
      • Perps Subgraph
      • General FAQ
      • Tracking Codes
      • Perps Keeper
      • Liquidations
      • Useful Links
      • Migration Guides
        • PerpsV2 Mintaka -> Almach
        • FuturesV1 -> PerpsV2 (Mintaka)
    • Contract Addresses
    • Releases
  • Terms of Use
  • Brand Assets
    • Design Resources
Powered by GitBook
On this page
  • What are oracles?
  • How does Synthetix utilize oracles?
  • Chainlink Custom Oracle
  • Synthetix Oracle Contracts
  • Constituent Contracts
  1. Synthetix Protocol
  2. The Synthetix Protocol

Oracles

PreviousThe Role of StakersNextSynthetix Litepaper

What are oracles?

Synthetix utilizes the decentralized Chainlink & Pyth , which provides up-to-date token prices data to smart contracts on Ethereum and Optimism Mainnet.

Responsibilities of an oracle

  • Updates, stores, and distributes up-to-date token prices relevant to the system.

  • Disables exchange functionality if prices are not fresh.

  • Provides functionality to perform exchange rate conversions between synth flavors.

How does Synthetix utilize oracles?

The Synthetix protocol utilizes its respective ExchangeRates contract to retrieve frequently stored price updates.

Chainlink Custom Oracle

The Synthetix protocol relies on various Chainlink oracles, including custom-built oracles tailored for specific Synthetix markets and requirements. In particular, the sUSDe/USD oracle price is calculated by multiplying the sUSDe/USDe exchange rate with the USDe/USD market rate, capped at $1.00. If USDe exceeds $1.00, the oracle may report unexpected values.

Synthetix Oracle Contracts

At Synthetix, the on-chain manifestation of the oracle is the contract, which stores prices that are frequently updated by the oracle. The primary user of these prices is the contract, which needs them to calculate debt allocations when issuing and burning synths, and to determine the correct quantity of synths when performing an exchange of one flavour for another.

It is also used by some other contracts, such as the and contracts.

Constituent Contracts

Contract
Description

Oracle

ExchangeRates

The Synthetix exchange rates contract which receives token prices from the oracle, and supplies them to all contracts that need it.

The oracle is responsible for collecting and updating all token prices known to the Synthetix system. Although it is not a contract, it controls a known Ethereum address from which price updates are sent to the contract.

oracle network
oracle network
ExchangeRates
Synthetix
Depot
PurgeableSynth
ExchangeRates