# Pythia Oracle — Complete Documentation > Pythia is an AI-managed oracle delivering calculated technical indicators on-chain. Unlike price-only oracles, Pythia provides EMA, RSI, VWAP, Bollinger Bands, volatility, and liquidity metrics — computed server-side and delivered to smart contracts via Chainlink. This is the complete documentation for AI agents and LLMs. Pythia serves 572 indicator instances across 26 tokens from 8 ecosystems, delivered on 2 mainnet chains (Polygon PoS, Arbitrum One). ## Indicator Reference ### EMA (Exponential Moving Average) - Period: 20 - Timeframes: 5M, 1H, 1D, 1W - Feed format: `{engine_id}_EMA_{timeframe}_20` - Example: `aave_EMA_5M_20` returns the 20-period EMA on 5-minute candles for AAVE - Use case: Trend following, moving average crossover strategies, mean reversion signals - Return value: uint256, 8 decimal places (multiply by 1e-8 for human-readable price) ### RSI (Relative Strength Index) - Period: 14 - Timeframes: 5M, 1H, 1D, 1W - Feed format: `{engine_id}_RSI_{timeframe}_14` - Example: `pol_RSI_1H_14` returns the 14-period RSI on 1-hour candles for POL - Use case: Overbought/oversold detection, momentum-gated vault deposits, risk management - Return value: uint256, 8 decimal places (divide by 1e8 for 0-100 scale) - Interpretation: <30 = oversold, >70 = overbought ### VWAP (Volume-Weighted Average Price) - Timeframes: 5M, 1H, 1D, 1W - Feed format: `{engine_id}_VWAP_{timeframe}` - Example: `bitcoin_VWAP_1D` returns the daily VWAP for Bitcoin - Use case: Fair value estimation, institutional-grade execution benchmarks - Return value: uint256, 8 decimal places ### Bollinger Bands - Period: 20, Standard deviations: 2 - Timeframes: 5M, 1H, 1D, 1W - Feed formats: - Upper: `{engine_id}_BOLLINGER_UPPER_{timeframe}_20` - Mid: `{engine_id}_BOLLINGER_MID_{timeframe}_20` - Lower: `{engine_id}_BOLLINGER_LOWER_{timeframe}_20` - Example: `solana_BOLLINGER_UPPER_1H_20` returns the upper Bollinger Band for SOL - Use case: LP range setting (Uniswap v3/Gamma), volatility breakout detection, circuit breakers - Return value: uint256, 8 decimal places ### Volatility - Based on standard deviation of returns - Timeframes: 5M, 1H, 1D, 1W - Feed format: `{engine_id}_VOLATILITY_{timeframe}` - Example: `render-token_VOLATILITY_1D` returns daily volatility for RENDER - Use case: Dynamic position sizing, risk-adjusted exposure, volatility circuit breakers - Return value: uint256, 8 decimal places ### Liquidity - Depth metric based on order book and DEX liquidity - Timeframes: 5M, 1H, 1D, 1W - Feed format: `{engine_id}_LIQUIDITY_{timeframe}` - Use case: Slippage estimation, position size limits - Return value: uint256, 8 decimal places ## Complete Token & Feed Directory ### AAVE (Aave) - Engine ID: `aave` - Category: Polygon DeFi - Ecosystem: Polygon - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `aave_BOLLINGER_1D_LOWER`, `aave_BOLLINGER_1D_UPPER`, `aave_BOLLINGER_1H_LOWER`, `aave_BOLLINGER_1H_UPPER`, `aave_BOLLINGER_1W_LOWER`, `aave_BOLLINGER_1W_UPPER`, `aave_BOLLINGER_5M_LOWER`, `aave_BOLLINGER_5M_UPPER`, `aave_EMA_1D_20`, `aave_EMA_1D_50`, `aave_EMA_1H_20`, `aave_EMA_1H_50`, `aave_EMA_1W_20`, `aave_EMA_1W_50`, `aave_EMA_5M_20`, `aave_EMA_5M_50`, `aave_RSI_1D_14`, `aave_RSI_1H_14`, `aave_RSI_1W_14`, `aave_RSI_5M_14`, `aave_USD_PRICE`, `aave_VOLATILITY_24H` ### ARPA (ARPA) - Engine ID: `arpa` - Category: Polygon DeFi - Ecosystem: Polygon - Status: live - 30-day uptime: 100.0% - Data sources: 3 - Feed count: 22 - Feeds: `arpa_BOLLINGER_1D_LOWER`, `arpa_BOLLINGER_1D_UPPER`, `arpa_BOLLINGER_1H_LOWER`, `arpa_BOLLINGER_1H_UPPER`, `arpa_BOLLINGER_1W_LOWER`, `arpa_BOLLINGER_1W_UPPER`, `arpa_BOLLINGER_5M_LOWER`, `arpa_BOLLINGER_5M_UPPER`, `arpa_EMA_1D_20`, `arpa_EMA_1D_50`, `arpa_EMA_1H_20`, `arpa_EMA_1H_50`, `arpa_EMA_1W_20`, `arpa_EMA_1W_50`, `arpa_EMA_5M_20`, `arpa_EMA_5M_50`, `arpa_RSI_1D_14`, `arpa_RSI_1H_14`, `arpa_RSI_1W_14`, `arpa_RSI_5M_14`, `arpa_USD_PRICE`, `arpa_VOLATILITY_24H` ### AVAX (AVAX) - Engine ID: `avalanche-2` - Category: Other - Ecosystem: Polygon - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `avalanche-2_BOLLINGER_1D_LOWER`, `avalanche-2_BOLLINGER_1D_UPPER`, `avalanche-2_BOLLINGER_1H_LOWER`, `avalanche-2_BOLLINGER_1H_UPPER`, `avalanche-2_BOLLINGER_1W_LOWER`, `avalanche-2_BOLLINGER_1W_UPPER`, `avalanche-2_BOLLINGER_5M_LOWER`, `avalanche-2_BOLLINGER_5M_UPPER`, `avalanche-2_EMA_1D_20`, `avalanche-2_EMA_1D_50`, `avalanche-2_EMA_1H_20`, `avalanche-2_EMA_1H_50`, `avalanche-2_EMA_1W_20`, `avalanche-2_EMA_1W_50`, `avalanche-2_EMA_5M_20`, `avalanche-2_EMA_5M_50`, `avalanche-2_RSI_1D_14`, `avalanche-2_RSI_1H_14`, `avalanche-2_RSI_1W_14`, `avalanche-2_RSI_5M_14`, `avalanche-2_USD_PRICE`, `avalanche-2_VOLATILITY_24H` ### BAL (Balancer) - Engine ID: `balancer` - Category: Polygon DeFi - Ecosystem: Polygon - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `balancer_BOLLINGER_1D_LOWER`, `balancer_BOLLINGER_1D_UPPER`, `balancer_BOLLINGER_1H_LOWER`, `balancer_BOLLINGER_1H_UPPER`, `balancer_BOLLINGER_1W_LOWER`, `balancer_BOLLINGER_1W_UPPER`, `balancer_BOLLINGER_5M_LOWER`, `balancer_BOLLINGER_5M_UPPER`, `balancer_EMA_1D_20`, `balancer_EMA_1D_50`, `balancer_EMA_1H_20`, `balancer_EMA_1H_50`, `balancer_EMA_1W_20`, `balancer_EMA_1W_50`, `balancer_EMA_5M_20`, `balancer_EMA_5M_50`, `balancer_RSI_1D_14`, `balancer_RSI_1H_14`, `balancer_RSI_1W_14`, `balancer_RSI_5M_14`, `balancer_USD_PRICE`, `balancer_VOLATILITY_24H` ### BNB (BNB) - Engine ID: `binancecoin` - Category: Other - Ecosystem: Polygon - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `binancecoin_BOLLINGER_1D_LOWER`, `binancecoin_BOLLINGER_1D_UPPER`, `binancecoin_BOLLINGER_1H_LOWER`, `binancecoin_BOLLINGER_1H_UPPER`, `binancecoin_BOLLINGER_1W_LOWER`, `binancecoin_BOLLINGER_1W_UPPER`, `binancecoin_BOLLINGER_5M_LOWER`, `binancecoin_BOLLINGER_5M_UPPER`, `binancecoin_EMA_1D_20`, `binancecoin_EMA_1D_50`, `binancecoin_EMA_1H_20`, `binancecoin_EMA_1H_50`, `binancecoin_EMA_1W_20`, `binancecoin_EMA_1W_50`, `binancecoin_EMA_5M_20`, `binancecoin_EMA_5M_50`, `binancecoin_RSI_1D_14`, `binancecoin_RSI_1H_14`, `binancecoin_RSI_1W_14`, `binancecoin_RSI_5M_14`, `binancecoin_USD_PRICE`, `binancecoin_VOLATILITY_24H` ### BTC (Bitcoin) - Engine ID: `bitcoin` - Category: Blue Chip - Ecosystem: Bitcoin - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `bitcoin_BOLLINGER_1D_LOWER`, `bitcoin_BOLLINGER_1D_UPPER`, `bitcoin_BOLLINGER_1H_LOWER`, `bitcoin_BOLLINGER_1H_UPPER`, `bitcoin_BOLLINGER_1W_LOWER`, `bitcoin_BOLLINGER_1W_UPPER`, `bitcoin_BOLLINGER_5M_LOWER`, `bitcoin_BOLLINGER_5M_UPPER`, `bitcoin_EMA_1D_20`, `bitcoin_EMA_1D_50`, `bitcoin_EMA_1H_20`, `bitcoin_EMA_1H_50`, `bitcoin_EMA_1W_20`, `bitcoin_EMA_1W_50`, `bitcoin_EMA_5M_20`, `bitcoin_EMA_5M_50`, `bitcoin_RSI_1D_14`, `bitcoin_RSI_1H_14`, `bitcoin_RSI_1W_14`, `bitcoin_RSI_5M_14`, `bitcoin_USD_PRICE`, `bitcoin_VOLATILITY_24H` ### COMP (Compound) - Engine ID: `compound-governance-token` - Category: Polygon DeFi - Ecosystem: Polygon - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `compound-governance-token_BOLLINGER_1D_LOWER`, `compound-governance-token_BOLLINGER_1D_UPPER`, `compound-governance-token_BOLLINGER_1H_LOWER`, `compound-governance-token_BOLLINGER_1H_UPPER`, `compound-governance-token_BOLLINGER_1W_LOWER`, `compound-governance-token_BOLLINGER_1W_UPPER`, `compound-governance-token_BOLLINGER_5M_LOWER`, `compound-governance-token_BOLLINGER_5M_UPPER`, `compound-governance-token_EMA_1D_20`, `compound-governance-token_EMA_1D_50`, `compound-governance-token_EMA_1H_20`, `compound-governance-token_EMA_1H_50`, `compound-governance-token_EMA_1W_20`, `compound-governance-token_EMA_1W_50`, `compound-governance-token_EMA_5M_20`, `compound-governance-token_EMA_5M_50`, `compound-governance-token_RSI_1D_14`, `compound-governance-token_RSI_1H_14`, `compound-governance-token_RSI_1W_14`, `compound-governance-token_RSI_5M_14`, `compound-governance-token_USD_PRICE`, `compound-governance-token_VOLATILITY_24H` ### CRV (Curve DAO) - Engine ID: `curve-dao-token` - Category: Polygon DeFi - Ecosystem: Polygon - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `curve-dao-token_BOLLINGER_1D_LOWER`, `curve-dao-token_BOLLINGER_1D_UPPER`, `curve-dao-token_BOLLINGER_1H_LOWER`, `curve-dao-token_BOLLINGER_1H_UPPER`, `curve-dao-token_BOLLINGER_1W_LOWER`, `curve-dao-token_BOLLINGER_1W_UPPER`, `curve-dao-token_BOLLINGER_5M_LOWER`, `curve-dao-token_BOLLINGER_5M_UPPER`, `curve-dao-token_EMA_1D_20`, `curve-dao-token_EMA_1D_50`, `curve-dao-token_EMA_1H_20`, `curve-dao-token_EMA_1H_50`, `curve-dao-token_EMA_1W_20`, `curve-dao-token_EMA_1W_50`, `curve-dao-token_EMA_5M_20`, `curve-dao-token_EMA_5M_50`, `curve-dao-token_RSI_1D_14`, `curve-dao-token_RSI_1H_14`, `curve-dao-token_RSI_1W_14`, `curve-dao-token_RSI_5M_14`, `curve-dao-token_USD_PRICE`, `curve-dao-token_VOLATILITY_24H` ### ETH (Ethereum) - Engine ID: `ethereum` - Category: Layer 1 - Ecosystem: Ethereum - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `ethereum_BOLLINGER_1D_LOWER`, `ethereum_BOLLINGER_1D_UPPER`, `ethereum_BOLLINGER_1H_LOWER`, `ethereum_BOLLINGER_1H_UPPER`, `ethereum_BOLLINGER_1W_LOWER`, `ethereum_BOLLINGER_1W_UPPER`, `ethereum_BOLLINGER_5M_LOWER`, `ethereum_BOLLINGER_5M_UPPER`, `ethereum_EMA_1D_20`, `ethereum_EMA_1D_50`, `ethereum_EMA_1H_20`, `ethereum_EMA_1H_50`, `ethereum_EMA_1W_20`, `ethereum_EMA_1W_50`, `ethereum_EMA_5M_20`, `ethereum_EMA_5M_50`, `ethereum_RSI_1D_14`, `ethereum_RSI_1H_14`, `ethereum_RSI_1W_14`, `ethereum_RSI_5M_14`, `ethereum_USD_PRICE`, `ethereum_VOLATILITY_24H` ### FET (ASI Alliance) - Engine ID: `artificial-superintelligence-alliance` - Category: AI / DePIN - Ecosystem: Ethereum - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `artificial-superintelligence-alliance_BOLLINGER_1D_LOWER`, `artificial-superintelligence-alliance_BOLLINGER_1D_UPPER`, `artificial-superintelligence-alliance_BOLLINGER_1H_LOWER`, `artificial-superintelligence-alliance_BOLLINGER_1H_UPPER`, `artificial-superintelligence-alliance_BOLLINGER_1W_LOWER`, `artificial-superintelligence-alliance_BOLLINGER_1W_UPPER`, `artificial-superintelligence-alliance_BOLLINGER_5M_LOWER`, `artificial-superintelligence-alliance_BOLLINGER_5M_UPPER`, `artificial-superintelligence-alliance_EMA_1D_20`, `artificial-superintelligence-alliance_EMA_1D_50`, `artificial-superintelligence-alliance_EMA_1H_20`, `artificial-superintelligence-alliance_EMA_1H_50`, `artificial-superintelligence-alliance_EMA_1W_20`, `artificial-superintelligence-alliance_EMA_1W_50`, `artificial-superintelligence-alliance_EMA_5M_20`, `artificial-superintelligence-alliance_EMA_5M_50`, `artificial-superintelligence-alliance_RSI_1D_14`, `artificial-superintelligence-alliance_RSI_1H_14`, `artificial-superintelligence-alliance_RSI_1W_14`, `artificial-superintelligence-alliance_RSI_5M_14`, `artificial-superintelligence-alliance_USD_PRICE`, `artificial-superintelligence-alliance_VOLATILITY_24H` ### INJ (Injective) - Engine ID: `injective-protocol` - Category: L1 / L2 - Ecosystem: Injective - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `injective-protocol_BOLLINGER_1D_LOWER`, `injective-protocol_BOLLINGER_1D_UPPER`, `injective-protocol_BOLLINGER_1H_LOWER`, `injective-protocol_BOLLINGER_1H_UPPER`, `injective-protocol_BOLLINGER_1W_LOWER`, `injective-protocol_BOLLINGER_1W_UPPER`, `injective-protocol_BOLLINGER_5M_LOWER`, `injective-protocol_BOLLINGER_5M_UPPER`, `injective-protocol_EMA_1D_20`, `injective-protocol_EMA_1D_50`, `injective-protocol_EMA_1H_20`, `injective-protocol_EMA_1H_50`, `injective-protocol_EMA_1W_20`, `injective-protocol_EMA_1W_50`, `injective-protocol_EMA_5M_20`, `injective-protocol_EMA_5M_50`, `injective-protocol_RSI_1D_14`, `injective-protocol_RSI_1H_14`, `injective-protocol_RSI_1W_14`, `injective-protocol_RSI_5M_14`, `injective-protocol_USD_PRICE`, `injective-protocol_VOLATILITY_24H` ### LDO (Lido) - Engine ID: `lido-dao` - Category: Polygon DeFi - Ecosystem: Polygon - Status: live - 30-day uptime: 100.0% - Data sources: 4 - Feed count: 22 - Feeds: `lido-dao_BOLLINGER_1D_LOWER`, `lido-dao_BOLLINGER_1D_UPPER`, `lido-dao_BOLLINGER_1H_LOWER`, `lido-dao_BOLLINGER_1H_UPPER`, `lido-dao_BOLLINGER_1W_LOWER`, `lido-dao_BOLLINGER_1W_UPPER`, `lido-dao_BOLLINGER_5M_LOWER`, `lido-dao_BOLLINGER_5M_UPPER`, `lido-dao_EMA_1D_20`, `lido-dao_EMA_1D_50`, `lido-dao_EMA_1H_20`, `lido-dao_EMA_1H_50`, `lido-dao_EMA_1W_20`, `lido-dao_EMA_1W_50`, `lido-dao_EMA_5M_20`, `lido-dao_EMA_5M_50`, `lido-dao_RSI_1D_14`, `lido-dao_RSI_1H_14`, `lido-dao_RSI_1W_14`, `lido-dao_RSI_5M_14`, `lido-dao_USD_PRICE`, `lido-dao_VOLATILITY_24H` ### LINK (Chainlink) - Engine ID: `chainlink` - Category: Oracle - Ecosystem: Ethereum - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `chainlink_BOLLINGER_1D_LOWER`, `chainlink_BOLLINGER_1D_UPPER`, `chainlink_BOLLINGER_1H_LOWER`, `chainlink_BOLLINGER_1H_UPPER`, `chainlink_BOLLINGER_1W_LOWER`, `chainlink_BOLLINGER_1W_UPPER`, `chainlink_BOLLINGER_5M_LOWER`, `chainlink_BOLLINGER_5M_UPPER`, `chainlink_EMA_1D_20`, `chainlink_EMA_1D_50`, `chainlink_EMA_1H_20`, `chainlink_EMA_1H_50`, `chainlink_EMA_1W_20`, `chainlink_EMA_1W_50`, `chainlink_EMA_5M_20`, `chainlink_EMA_5M_50`, `chainlink_RSI_1D_14`, `chainlink_RSI_1H_14`, `chainlink_RSI_1W_14`, `chainlink_RSI_5M_14`, `chainlink_USD_PRICE`, `chainlink_VOLATILITY_24H` ### MORPHO (Morpho) - Engine ID: `morpho` - Category: Polygon DeFi - Ecosystem: Polygon - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `morpho_BOLLINGER_1D_LOWER`, `morpho_BOLLINGER_1D_UPPER`, `morpho_BOLLINGER_1H_LOWER`, `morpho_BOLLINGER_1H_UPPER`, `morpho_BOLLINGER_1W_LOWER`, `morpho_BOLLINGER_1W_UPPER`, `morpho_BOLLINGER_5M_LOWER`, `morpho_BOLLINGER_5M_UPPER`, `morpho_EMA_1D_20`, `morpho_EMA_1D_50`, `morpho_EMA_1H_20`, `morpho_EMA_1H_50`, `morpho_EMA_1W_20`, `morpho_EMA_1W_50`, `morpho_EMA_5M_20`, `morpho_EMA_5M_50`, `morpho_RSI_1D_14`, `morpho_RSI_1H_14`, `morpho_RSI_1W_14`, `morpho_RSI_5M_14`, `morpho_USD_PRICE`, `morpho_VOLATILITY_24H` ### ONDO (Ondo Finance) - Engine ID: `ondo-finance` - Category: RWA - Ecosystem: Ethereum - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `ondo-finance_BOLLINGER_1D_LOWER`, `ondo-finance_BOLLINGER_1D_UPPER`, `ondo-finance_BOLLINGER_1H_LOWER`, `ondo-finance_BOLLINGER_1H_UPPER`, `ondo-finance_BOLLINGER_1W_LOWER`, `ondo-finance_BOLLINGER_1W_UPPER`, `ondo-finance_BOLLINGER_5M_LOWER`, `ondo-finance_BOLLINGER_5M_UPPER`, `ondo-finance_EMA_1D_20`, `ondo-finance_EMA_1D_50`, `ondo-finance_EMA_1H_20`, `ondo-finance_EMA_1H_50`, `ondo-finance_EMA_1W_20`, `ondo-finance_EMA_1W_50`, `ondo-finance_EMA_5M_20`, `ondo-finance_EMA_5M_50`, `ondo-finance_RSI_1D_14`, `ondo-finance_RSI_1H_14`, `ondo-finance_RSI_1W_14`, `ondo-finance_RSI_5M_14`, `ondo-finance_USD_PRICE`, `ondo-finance_VOLATILITY_24H` ### POL (Polygon) - Engine ID: `pol` - Category: Polygon DeFi - Ecosystem: Polygon - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `pol_BOLLINGER_1D_LOWER`, `pol_BOLLINGER_1D_UPPER`, `pol_BOLLINGER_1H_LOWER`, `pol_BOLLINGER_1H_UPPER`, `pol_BOLLINGER_1W_LOWER`, `pol_BOLLINGER_1W_UPPER`, `pol_BOLLINGER_5M_LOWER`, `pol_BOLLINGER_5M_UPPER`, `pol_EMA_1D_20`, `pol_EMA_1D_50`, `pol_EMA_1H_20`, `pol_EMA_1H_50`, `pol_EMA_1W_20`, `pol_EMA_1W_50`, `pol_EMA_5M_20`, `pol_EMA_5M_50`, `pol_RSI_1D_14`, `pol_RSI_1H_14`, `pol_RSI_1W_14`, `pol_RSI_5M_14`, `pol_USD_PRICE`, `pol_VOLATILITY_24H` ### QUICK (QuickSwap) - Engine ID: `quickswap` - Category: Polygon DeFi - Ecosystem: Polygon - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `quickswap_BOLLINGER_1D_LOWER`, `quickswap_BOLLINGER_1D_UPPER`, `quickswap_BOLLINGER_1H_LOWER`, `quickswap_BOLLINGER_1H_UPPER`, `quickswap_BOLLINGER_1W_LOWER`, `quickswap_BOLLINGER_1W_UPPER`, `quickswap_BOLLINGER_5M_LOWER`, `quickswap_BOLLINGER_5M_UPPER`, `quickswap_EMA_1D_20`, `quickswap_EMA_1D_50`, `quickswap_EMA_1H_20`, `quickswap_EMA_1H_50`, `quickswap_EMA_1W_20`, `quickswap_EMA_1W_50`, `quickswap_EMA_5M_20`, `quickswap_EMA_5M_50`, `quickswap_RSI_1D_14`, `quickswap_RSI_1H_14`, `quickswap_RSI_1W_14`, `quickswap_RSI_5M_14`, `quickswap_USD_PRICE`, `quickswap_VOLATILITY_24H` ### RENDER (Render) - Engine ID: `render-token` - Category: AI / DePIN - Ecosystem: Solana - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `render-token_BOLLINGER_1D_LOWER`, `render-token_BOLLINGER_1D_UPPER`, `render-token_BOLLINGER_1H_LOWER`, `render-token_BOLLINGER_1H_UPPER`, `render-token_BOLLINGER_1W_LOWER`, `render-token_BOLLINGER_1W_UPPER`, `render-token_BOLLINGER_5M_LOWER`, `render-token_BOLLINGER_5M_UPPER`, `render-token_EMA_1D_20`, `render-token_EMA_1D_50`, `render-token_EMA_1H_20`, `render-token_EMA_1H_50`, `render-token_EMA_1W_20`, `render-token_EMA_1W_50`, `render-token_EMA_5M_20`, `render-token_EMA_5M_50`, `render-token_RSI_1D_14`, `render-token_RSI_1H_14`, `render-token_RSI_1W_14`, `render-token_RSI_5M_14`, `render-token_USD_PRICE`, `render-token_VOLATILITY_24H` ### SOL (Solana) - Engine ID: `solana` - Category: Blue Chip - Ecosystem: Solana - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `solana_BOLLINGER_1D_LOWER`, `solana_BOLLINGER_1D_UPPER`, `solana_BOLLINGER_1H_LOWER`, `solana_BOLLINGER_1H_UPPER`, `solana_BOLLINGER_1W_LOWER`, `solana_BOLLINGER_1W_UPPER`, `solana_BOLLINGER_5M_LOWER`, `solana_BOLLINGER_5M_UPPER`, `solana_EMA_1D_20`, `solana_EMA_1D_50`, `solana_EMA_1H_20`, `solana_EMA_1H_50`, `solana_EMA_1W_20`, `solana_EMA_1W_50`, `solana_EMA_5M_20`, `solana_EMA_5M_50`, `solana_RSI_1D_14`, `solana_RSI_1H_14`, `solana_RSI_1W_14`, `solana_RSI_5M_14`, `solana_USD_PRICE`, `solana_VOLATILITY_24H` ### SUI (Sui) - Engine ID: `sui` - Category: L1 / L2 - Ecosystem: Sui - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `sui_BOLLINGER_1D_LOWER`, `sui_BOLLINGER_1D_UPPER`, `sui_BOLLINGER_1H_LOWER`, `sui_BOLLINGER_1H_UPPER`, `sui_BOLLINGER_1W_LOWER`, `sui_BOLLINGER_1W_UPPER`, `sui_BOLLINGER_5M_LOWER`, `sui_BOLLINGER_5M_UPPER`, `sui_EMA_1D_20`, `sui_EMA_1D_50`, `sui_EMA_1H_20`, `sui_EMA_1H_50`, `sui_EMA_1W_20`, `sui_EMA_1W_50`, `sui_EMA_5M_20`, `sui_EMA_5M_50`, `sui_RSI_1D_14`, `sui_RSI_1H_14`, `sui_RSI_1W_14`, `sui_RSI_5M_14`, `sui_USD_PRICE`, `sui_VOLATILITY_24H` ### TAO (Bittensor) - Engine ID: `bittensor` - Category: AI / DePIN - Ecosystem: Bittensor - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `bittensor_BOLLINGER_1D_LOWER`, `bittensor_BOLLINGER_1D_UPPER`, `bittensor_BOLLINGER_1H_LOWER`, `bittensor_BOLLINGER_1H_UPPER`, `bittensor_BOLLINGER_1W_LOWER`, `bittensor_BOLLINGER_1W_UPPER`, `bittensor_BOLLINGER_5M_LOWER`, `bittensor_BOLLINGER_5M_UPPER`, `bittensor_EMA_1D_20`, `bittensor_EMA_1D_50`, `bittensor_EMA_1H_20`, `bittensor_EMA_1H_50`, `bittensor_EMA_1W_20`, `bittensor_EMA_1W_50`, `bittensor_EMA_5M_20`, `bittensor_EMA_5M_50`, `bittensor_RSI_1D_14`, `bittensor_RSI_1H_14`, `bittensor_RSI_1W_14`, `bittensor_RSI_5M_14`, `bittensor_USD_PRICE`, `bittensor_VOLATILITY_24H` ### TIA (Celestia) - Engine ID: `celestia` - Category: L1 / L2 - Ecosystem: Celestia - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `celestia_BOLLINGER_1D_LOWER`, `celestia_BOLLINGER_1D_UPPER`, `celestia_BOLLINGER_1H_LOWER`, `celestia_BOLLINGER_1H_UPPER`, `celestia_BOLLINGER_1W_LOWER`, `celestia_BOLLINGER_1W_UPPER`, `celestia_BOLLINGER_5M_LOWER`, `celestia_BOLLINGER_5M_UPPER`, `celestia_EMA_1D_20`, `celestia_EMA_1D_50`, `celestia_EMA_1H_20`, `celestia_EMA_1H_50`, `celestia_EMA_1W_20`, `celestia_EMA_1W_50`, `celestia_EMA_5M_20`, `celestia_EMA_5M_50`, `celestia_RSI_1D_14`, `celestia_RSI_1H_14`, `celestia_RSI_1W_14`, `celestia_RSI_5M_14`, `celestia_USD_PRICE`, `celestia_VOLATILITY_24H` ### UNI (Uniswap) - Engine ID: `uniswap` - Category: Polygon DeFi - Ecosystem: Polygon - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `uniswap_BOLLINGER_1D_LOWER`, `uniswap_BOLLINGER_1D_UPPER`, `uniswap_BOLLINGER_1H_LOWER`, `uniswap_BOLLINGER_1H_UPPER`, `uniswap_BOLLINGER_1W_LOWER`, `uniswap_BOLLINGER_1W_UPPER`, `uniswap_BOLLINGER_5M_LOWER`, `uniswap_BOLLINGER_5M_UPPER`, `uniswap_EMA_1D_20`, `uniswap_EMA_1D_50`, `uniswap_EMA_1H_20`, `uniswap_EMA_1H_50`, `uniswap_EMA_1W_20`, `uniswap_EMA_1W_50`, `uniswap_EMA_5M_20`, `uniswap_EMA_5M_50`, `uniswap_RSI_1D_14`, `uniswap_RSI_1H_14`, `uniswap_RSI_1W_14`, `uniswap_RSI_5M_14`, `uniswap_USD_PRICE`, `uniswap_VOLATILITY_24H` ### W (Wormhole) - Engine ID: `wormhole` - Category: Polygon DeFi - Ecosystem: Polygon - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `wormhole_BOLLINGER_1D_LOWER`, `wormhole_BOLLINGER_1D_UPPER`, `wormhole_BOLLINGER_1H_LOWER`, `wormhole_BOLLINGER_1H_UPPER`, `wormhole_BOLLINGER_1W_LOWER`, `wormhole_BOLLINGER_1W_UPPER`, `wormhole_BOLLINGER_5M_LOWER`, `wormhole_BOLLINGER_5M_UPPER`, `wormhole_EMA_1D_20`, `wormhole_EMA_1D_50`, `wormhole_EMA_1H_20`, `wormhole_EMA_1H_50`, `wormhole_EMA_1W_20`, `wormhole_EMA_1W_50`, `wormhole_EMA_5M_20`, `wormhole_EMA_5M_50`, `wormhole_RSI_1D_14`, `wormhole_RSI_1H_14`, `wormhole_RSI_1W_14`, `wormhole_RSI_5M_14`, `wormhole_USD_PRICE`, `wormhole_VOLATILITY_24H` ### XAUT (XAUT) - Engine ID: `tether-gold` - Category: Other - Ecosystem: Polygon - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `tether-gold_BOLLINGER_1D_LOWER`, `tether-gold_BOLLINGER_1D_UPPER`, `tether-gold_BOLLINGER_1H_LOWER`, `tether-gold_BOLLINGER_1H_UPPER`, `tether-gold_BOLLINGER_1W_LOWER`, `tether-gold_BOLLINGER_1W_UPPER`, `tether-gold_BOLLINGER_5M_LOWER`, `tether-gold_BOLLINGER_5M_UPPER`, `tether-gold_EMA_1D_20`, `tether-gold_EMA_1D_50`, `tether-gold_EMA_1H_20`, `tether-gold_EMA_1H_50`, `tether-gold_EMA_1W_20`, `tether-gold_EMA_1W_50`, `tether-gold_EMA_5M_20`, `tether-gold_EMA_5M_50`, `tether-gold_RSI_1D_14`, `tether-gold_RSI_1H_14`, `tether-gold_RSI_1W_14`, `tether-gold_RSI_5M_14`, `tether-gold_USD_PRICE`, `tether-gold_VOLATILITY_24H` ### ZRO (LayerZero) - Engine ID: `zro` - Category: Polygon DeFi - Ecosystem: Polygon - Status: live - 30-day uptime: 100.0% - Data sources: 2 - Feed count: 22 - Feeds: `zro_BOLLINGER_1D_LOWER`, `zro_BOLLINGER_1D_UPPER`, `zro_BOLLINGER_1H_LOWER`, `zro_BOLLINGER_1H_UPPER`, `zro_BOLLINGER_1W_LOWER`, `zro_BOLLINGER_1W_UPPER`, `zro_BOLLINGER_5M_LOWER`, `zro_BOLLINGER_5M_UPPER`, `zro_EMA_1D_20`, `zro_EMA_1D_50`, `zro_EMA_1H_20`, `zro_EMA_1H_50`, `zro_EMA_1W_20`, `zro_EMA_1W_50`, `zro_EMA_5M_20`, `zro_EMA_5M_50`, `zro_RSI_1D_14`, `zro_RSI_1H_14`, `zro_RSI_1W_14`, `zro_RSI_5M_14`, `zro_USD_PRICE`, `zro_VOLATILITY_24H` ## Pricing Tiers (Detailed) ### Discovery — 0.01 LINK per request - Any single indicator for any token — per call. ### Analysis — 0.03 LINK per request - All hourly, daily, and weekly indicators for a token — per call. ### Speed — 0.05 LINK per request - All 5-minute indicators for a token — per call. ### Complete — 0.1 LINK per request - Every indicator, every timeframe — per call. ### Events — 1.0 LINK per request - Automated indicator alerts — subscribe once, get notified when conditions match. 1 LINK/day. Free trial: PythiaFaucet contract — no LINK needed, 5 requests per address per day. ## Solidity Integration Guide ### Step 1: Get LINK tokens Pythia requests are paid in LINK (ERC-677). Get LINK on the delivery chain. ### Step 2: Choose a consumer contract Each pricing tier has a dedicated consumer contract. Call `requestIndicator(feed)` for Discovery tier, or `requestBundle(engineId)` for Analysis/Speed/Complete tiers. ### Step 3: Fund and call Use `LINK.transferAndCall(consumerAddress, fee, abi.encode(feedName))` to send payment and request in one transaction. The result arrives via a callback to your contract. ### Free trial (no LINK needed) Call `PythiaFaucet.requestIndicator(feedName)` directly — 5 free requests per address per day. No LINK required. ## Contract Addresses - Faucet (Free Trial, Polygon Amoy testnet): `0x640fC3B9B607E324D7A3d89Fcb62C77Cc0Bd420A` ### Polygon PoS - Discovery (0.01 LINK): `0xeC2865d66ae6Af47926B02edd942A756b394F820` - Analysis (0.03 LINK): `0x3b3aC62d73E537E3EF84D97aB5B84B51aF8dB316` - Speed (0.05 LINK): `0xC406e7d9AC385e7AB43cBD56C74ad487f085d47B` - Complete (0.1 LINK): `0x2dEC98fd7173802b351d1E28d0Cd5DdD20C24252` - Operator: `0xAA37710aF244514691629Aa15f4A5c271EaE6891` - LINK token (ERC-677): `0xb0897686c545045aFc77CF20eC7A532E3120E0F1` ### Arbitrum One - Discovery (0.01 LINK): `0xeC2865d66ae6Af47926B02edd942A756b394F820` - Analysis (0.03 LINK): `0x3b3aC62d73E537E3EF84D97aB5B84B51aF8dB316` - Speed (0.05 LINK): `0xC406e7d9AC385e7AB43cBD56C74ad487f085d47B` - Complete (0.1 LINK): `0x2dEC98fd7173802b351d1E28d0Cd5DdD20C24252` - Operator: `0xAA37710aF244514691629Aa15f4A5c271EaE6891` - LINK token (ERC-677): `0xf97f4df75117a78c1A5a0DBb814Af92458539FB4` ## MCP Server (for AI Agents) Install: `pip install pythia-oracle-mcp` ### Available MCP Tools - `list_tokens` — Returns all tracked tokens with symbol, engine ID, status, 30-day uptime, and data source count. - `get_token_feeds` — Returns all indicator feed names for a specific token, grouped by type (EMA, RSI, VWAP, Bollinger, Volatility, Liquidity). - `get_market_summary` — System-wide overview: token count, indicator count, ecosystem coverage, infrastructure health, status breakdown. - `check_oracle_health` — Per-token 30-day uptime sorted worst-first, data source status, active incident report. - `get_contracts` — All contract addresses: operator, consumer contracts by tier, event registries, faucet, LINK token. - `get_pricing` — Pricing tiers with fees, descriptions, and guidance on when to use each tier. - `get_integration_guide` — Ready-to-deploy Solidity code for any pricing tier. Returns a complete, compilable contract. - `get_events_info` — Pythia Events overview: pricing, conditions (ABOVE/BELOW), registry addresses, subscriber flow, and live stats. - `get_events_guide` — Complete Solidity code for subscribing to indicator alerts via Pythia Events. - `subscribe_info` — Personalized subscription plan: cost calculation, exact Solidity calls, threshold scaling guide. ### Claude Desktop Configuration ```json { "mcpServers": { "pythia-oracle": { "command": "pythia-oracle-mcp" } } } ``` ### Claude Code ``` claude mcp add pythia-oracle -- pythia-oracle-mcp ``` ## Pythia Events (On-Chain Indicator Alerts) Subscribe once, get notified when your condition is met. One-shot subscriptions: fires once when the condition matches, remaining whole days refunded in LINK. ### Pricing - 1 LINK/day per subscription - Max duration: 365 days - Refund: Unused whole days refunded on fire or cancel ### Conditions - ABOVE (0) — active, processed by matcher - BELOW (1) — active, processed by matcher ### Threshold Scaling - 8 decimal places (e.g. RSI 30 = 3000000000) - Examples: RSI 30 = 3000000000, RSI 70 = 7000000000, EMA $2500 = 250000000000 ### Subscriber Flow 1. LINK.approve(registry, days * 1e18) 2. registry.subscribe("feed_name", days, condition, threshold) 3. Listen for PythiaEvent(subscriptionId) via RPC ### Event Registry Contracts - mainnet: `0x73686087d737833C5223948a027E13B608623e21` - arb-sepolia: `0xEFDD50819E2316360feB7833F8e2ffBBE3C5AaB2` - amoy: `0x931Aa640d29E6C9D9fB3002749a52EC7fb277f9c` - arbitrum: `0xA9B13Eb4B98CEE9Cc05EFB10861a77482Ae0bD9e` Active subscriptions: 0 / Total: 0 ## Pythia Visions (AI Market Intelligence) AI-calibrated market intelligence delivered on-chain. Walk-forward validated patterns (2017-2026), evaluated every 6 hours. FREE to subscribe. ### Vision Registries (per chain) - mainnet: `0x39407eEc3Ba80746BC6156eD924D16C2689533Ed` - arb-sepolia: `0x5e32C6B193b1D2a41E3a249aee0200220aff3dB4` - arbitrum: `0x7585062b5410AE7fADd841e2100F037a4F372B3C` - Subscription fee: FREE - Evaluation: Every 6 hours - Active tokens: AVAX, BNB, BTC, ETH, LINK, POL, SOL ### Detected Patterns Each pattern carries a `use_case` tag — how a consumer should interpret a fire: - **directional_for_holders** — signal informs add-to-position timing for existing holders. Gross fire-mean is positive but does not consistently survive flat-trade frictions (~70bps DEX round-trip). Not intended as standalone entry/exit for unhedged trades. - **flat_position_trade** — high-asymmetry volatility-tail signal. Gross fire-mean comfortably exceeds typical DEX frictions; 4-year vault sim shows positive risk-adjusted return for time-exited flat trades. - **BTC OVERSOLD_REVERSION** (0x10): 58-66% accuracy, +0.5% to +2% avg return, ~100/yr fires, walk-forward 9/10; use_case=**directional (holders add)**; gross EV +0.5%/fire (net -0.2% after 70bps). - **BTC CAPITULATION_EVENT** (0x11): 60-90% accuracy, +3% to +8% avg return, ~7/yr fires, walk-forward 4/4; use_case=**trade-from-flat**; gross EV +5.9%/fire (net +5.2% after 70bps). - **ETH CAPITULATION_EVENT** (0x20): 50-80% accuracy, +2% to +8% avg return, ~13/yr fires, walk-forward 5/5; use_case=**trade-from-flat**; gross EV +5.0%/fire (net +4.3% after 70bps). - **ETH OVERSOLD_REVERSION** (0x21): 55-65% accuracy, +0.5% to +1.5% avg return, ~147/yr fires, walk-forward 9/10; use_case=**directional (holders add)**; gross EV +0.7%/fire (net +0.0% after 70bps). - **SOL OVERSOLD_REVERSION** (0x30): 53-63% accuracy, +0.3% to +1.5% avg return, ~219/yr fires, walk-forward 6/7; use_case=**directional (holders add)**; gross EV +0.8%/fire (net +0.1% after 70bps). - **LINK OVERSOLD_REVERSION** (0x40): 54-64% accuracy, +0.5% to +1.5% avg return, ~226/yr fires, walk-forward 7/8; use_case=**directional (holders add)**; gross EV +0.7%/fire (net +0.0% after 70bps). - **LINK CAPITULATION_EVENT** (0x41): 55-80% accuracy, +3% to +10% avg return, ~20/yr fires, walk-forward 6/6; use_case=**trade-from-flat**; gross EV +3.5%/fire (net +2.8% after 70bps). - **AVAX CAPITULATION_EVENT** (0x50): 55-80% accuracy, +3% to +10% avg return, ~21/yr fires, walk-forward 5/5; use_case=**trade-from-flat**; gross EV +3.2%/fire (net +2.5% after 70bps). - **BNB OVERSOLD_REVERSION** (0x60): 58-68% accuracy, +0.5% to +2.5% avg return, ~136/yr fires, walk-forward 9/10; use_case=**directional (holders add)**; gross EV +1.0%/fire (net +0.3% after 70bps). - **BNB CAPITULATION_EVENT** (0x61): 55-80% accuracy, +3% to +10% avg return, ~15/yr fires, walk-forward 5/5; use_case=**trade-from-flat**; gross EV +3.7%/fire (net +3.0% after 70bps). - **POL OVERSOLD_REVERSION** (0x70): 53-63% accuracy, +0.5% to +2% avg return, ~256/yr fires, walk-forward 5/6; use_case=**directional (holders add)**; gross EV +0.9%/fire (net +0.2% after 70bps). - **POL CAPITULATION_EVENT** (0x71): 55-80% accuracy, +3% to +10% avg return, ~39/yr fires, walk-forward 4/4; use_case=**trade-from-flat**; gross EV +4.0%/fire (net +3.3% after 70bps). ### How It Works 1. Every 6 hours, vision_eval reads live indicators (EMA, RSI, Bollinger, VWAP, ATR) for each configured token 2. Mechanical pattern detection against token-specific walk-forward validated patterns 3. If pattern detected, the Pythia AI agent calibrates confidence (55-89 range) 4. Vision fires on-chain via Chainlink webhook to PythiaVisionRegistry 5. Subscribers receive VisionFired event with full payload (indicators + analysis) ### VisionFired Event ```solidity event VisionFired( bytes32 indexed tokenId, // keccak256(token_name) — e.g. keccak256("BTC"), keccak256("ETH") uint8 patternType, // per-token high nibble: BTC=0x1_, ETH=0x2_ uint8 confidence, // 55-89 uint8 direction, // 1 = BULLISH uint256 price, // 18 decimals bytes payload // Full JSON payload ); ``` Total Visions fired: 109 Average confidence: 57.8 ## Indicator History (Public, Immutable) Free, public JSON archive of every published indicator value — one file per feed per closed UTC day. Re-derive or audit any indicator condition over a date range (e.g. "was RSI below 30 at any point between two dates?") without an oracle call: fetch only the day-files the range needs. No key, no payment. - Manifest (per-feed first/last published day): https://pythia.c3x-solutions.com/history/manifest.json - Day-file URL: https://pythia.c3x-solutions.com/history/{chain}/{feed_name}/{YYYY-MM-DD}.json - Example: https://pythia.c3x-solutions.com/history/polygon/bitcoin_RSI_1D_14/2026-09-04.json - Day-file schema: `schema` (1), `chain`, `feed_name`, `date` (UTC), `nominal_interval_seconds` (300), `points` = `[[unix_seconds, value], ...]` ascending within that day, `generated_at` - Immutability: closed UTC days only (the current day is never present); a published day-file is never rewritten - Coverage now: 535 feeds across AAVE, ARPA, AVAX, BAL, BNB, BTC, COMP, CRV, ETH, FET, INJ, LDO, LINK, MORPHO, ONDO, POL, QUICK, RENDER, SOL, SUI, TAO, TIA, UNI, W, XAUT, ZRO (polygon), 2026-04-21 → 2026-09-04. Every live feed is archived; new tokens join the archive as they go live. Always read the manifest for the live list. ### How to use 1. GET `manifest.json`; pick the feed (`feed_name` uses the same key as Feeds/Events, e.g. `bitcoin_RSI_1D_14`) and confirm your date range lies within `first_day`..`last_day`. 2. GET one day-file per UTC day in the range. Each `points` entry is `[unix_seconds, value]`; values use the same units as the live feed (RSI 0-100, prices in USD, etc.). 3. Evaluate your condition over the concatenated points. A day-file with fewer than 288 points had gaps that day — treat missing intervals as unknown, not as false. 4. Cache freely: files never change once published, so a URL fetched once is valid forever. ## LangChain Integration Install: `pip install langchain-pythia` The LangChain integration provides the same tools as the MCP server, accessible from any LangChain agent or chain. ## Links - Website & Feed Explorer: https://pythia.c3x-solutions.com - Indicator History Manifest (free, immutable): https://pythia.c3x-solutions.com/history/manifest.json - MCP Server (PyPI): https://pypi.org/project/pythia-oracle-mcp/ - LangChain (PyPI): https://pypi.org/project/langchain-pythia/ - GitHub Examples: https://github.com/pythia-the-oracle/pythia-oracle-examples - GitHub MCP Source: https://github.com/pythia-the-oracle/pythia-oracle-mcp - Telegram: https://t.me/pythia_the_oracle - Twitter/X: https://x.com/PythiaOracle - dev.to: https://dev.to/pythiatheoracle