Mento Protocol
  • Mento Protocol
    • Home
    • What, why, who Mento?
    • Quick Links
  • HOW TO SOURCE MENTO STABLES
    • Overview
    • CEXs, DEXs, Pools
    • From other Chains
    • On-ramp Providers
    • Automation via MATE
  • Protocol Concepts
    • Stability
    • Reserve
    • Asset exchanges
      • Broker
      • Trading Limits
      • Exchange Providers
      • BiPoolManager
    • Oracles
    • On-Chain Circuit Breaker
    • Governance
      • Verification
  • Developers
    • Repository Overview
    • Integrate Mento Stables
    • Smart Contracts
      • Broker
      • TradingLimits
      • BiPoolManager
      • Pricing Modules
      • SortedOracles
      • BreakerBox
      • Reserve
      • StableToken
      • Audits
    • Deployments
      • Addresses
      • Verification
      • Parameters
    • Mento SDK
      • Installation
      • Guides
        • Getting Exchange Pairs
        • Getting a Quote
        • Initiating a Swap
    • Oracles
      • Oracle Client
        • Price Sources
      • Becoming an Oracle Provider
  • Economics
    • Stability
    • Risks
    • Research
  • Governance & Token
    • Overview
    • Governance Components
    • Governance Scope
    • MENTO Token
      • Listing information
    • Airdrop
    • Governance Watchdogs
Powered by GitBook
On this page
Edit on GitHub
  1. Developers
  2. Oracles
  3. Oracle Client

Price Sources

PreviousOracle ClientNextBecoming an Oracle Provider

Last updated 1 year ago

Mento Oracle Clients aggregate data from multiple configured centralized cryptocurrency exchanges. They then calculate a volume-weighted average market price across exchanges.

For the robustness of the protocol, it is important to choose reliable exchange rates. Researching which rates to use usually starts with getting an overview of what trading pairs for a given exchange rate exist. Time series characteristics like price stability, traded volume, and order book depth can often be analyzed via or . It is also helpful to check for the stability of these measures over time and check for wash trading, which can usually be approximated by a market maker's opinion. If necessary, more extensive data can be bought from for example .

The oracle client uses a maximum deviation from the average parameter to determine which exchange rates to include in the volume-weighted mean calculation. The goal of researching a set of exchange rates is to have one with a low and stable deviation from its average over time.

Adding exchange rates

New exchange rates or pairs for existing rates can be added with a PR in the celo-monorepo deployment helm charts:

If a new exchange is not yet supported by the oracle client, a new exchange adapter needs to be added like in this . New currency pairs need to be added like in this .

After adding the necessary features and configurations, the client can be tested by adjusting the with the new price sources and running the application locally. A more technical documentation about running the client application locally can be found in the files.

example PR
example PR
developer price sources
repository readme
coinmarketcap.com
tradingview.com
Tardis
Logocelo-monorepo/packages/helm-charts/oracle at master · celo-org/celo-monorepoGitHub
USDCEUR maximum deviation from average analysis example