Providers
Morpheus Oracle supports two provider modes:
- Built-in providers — selected by and configured per project in Supabase
- Custom source requests — user-supplied , optional encrypted token/payload, and optional compute script
Built-in Providers
Current built-ins:
Built-ins are intentionally raw:
- no aggregation
- no smoothing
- no medianization
- no extra normalization beyond provider-specific request formatting and response extraction
TwelveData
Required env:
Typical config:
Binance Spot
Required env:
- none
Typical config:
Coinbase Spot
Required env:
- none
Typical config:
Provider Config Control Plane
Project-level provider configs are stored in
.Management endpoint:
Recommended production protection:
- set or a legacy fallback
- send it via or
The dashboard includes a Provider Configs panel that can manage these records directly.
Request-Time Resolution
Both the web API layer and the Phala worker can resolve provider defaults from Supabase when
and are present.The web API layer resolves provider defaults before proxying to Phala:
- with
- with the same fields
Resolution rules:
- request-level override stored project config keys
- stored project config fills in missing provider defaults
- disabled project providers are rejected before the request reaches Phala
Custom Source Requests
Users can bypass built-ins and send direct Oracle requests with:
- optional or
- optional or
This supports three useful modes:
- plain fetch — URL only
- fetch + compute — URL plus script
- private fetch + compute — URL plus encrypted payload plus script
PriceFeed Pair Catalog
Default built-in USD pairs now cover:
- Core crypto:
- Commodity / hard-asset:
- Equities / ETFs:
- FX:
- (inverted from )
- (inverted from )
Production sync defaults to
only. Other built-in providers remain available for Oracle fetch flows and project-specific overrides.Inspect at runtime with:
- or worker
On-chain storage is provider-scoped, for example:
Canonical pair table
Use these names exactly in contracts, automation jobs, and documentation. Under the global
precision model, direct pair ids such as and are canonical again.Deprecated legacy storage key:
- historical basket keys such as and should be treated as deprecated
- use and on-chain instead
- use and everywhere in user-facing configs, contracts, and docs
| Pair | Category | Meaning | TwelveData symbol | On-chain unit | Note |
|---|---|---|---|---|---|
| Crypto | price of 1 NEO in USD | ||||
| Crypto | price of 1 GAS in USD | ||||
| Crypto | price of 1 FLM in USD | direct pair under the global 1e6 USD scale | |||
| Crypto | price of 1 BTC in USD | ||||
| Crypto | price of 1 ETH in USD | ||||
| Crypto | price of 1 SOL in USD | ||||
| Crypto | price of 1 TRX in USD | ||||
| Crypto | price of 1 PAXG in USD | gold-backed token | |||
| Crypto | price of 1 USDT in USD | ||||
| Crypto | price of 1 USDC in USD | ||||
| Crypto | price of 1 BNB in USD | ||||
| Crypto | price of 1 XRP in USD | ||||
| Crypto | price of 1 DOGE in USD | ||||
| Commodity | WTI crude oil reference price in USD | ||||
| Commodity | Brent crude spot reference price in USD | ||||
| Commodity | natural gas reference price in USD | ||||
| Commodity | copper futures proxy in USD | front-month proxy | |||
| Commodity | wheat futures proxy in USD | front-month proxy | |||
| Commodity | corn futures proxy in USD | front-month proxy | |||
| Commodity | soybean futures proxy in USD | front-month proxy | |||
| Equity | price of 1 AAPL share in USD | ||||
| Equity | price of 1 GOOGL share in USD | ||||
| Equity | price of 1 MSFT share in USD | ||||
| Equity | price of 1 AMZN share in USD | ||||
| Equity | price of 1 TSLA share in USD | ||||
| Equity | price of 1 META share in USD | ||||
| Equity | price of 1 NVDA share in USD | ||||
| ETF | price of 1 SPY share in USD | ||||
| ETF | price of 1 QQQ share in USD | ||||
| ETF | price of 1 GLD share in USD | ||||
| FX | price of 1 EUR in USD | ||||
| FX | price of 1 GBP in USD | ||||
| FX | price of 1 JPY in USD | fetched as , then inverted | |||
| FX | price of 1 CNY in USD | fetched as , then inverted |
Selection Model
- PriceFeed can use a built-in provider directly
- Privacy Oracle can use either a built-in provider or a custom URL flow
- Provider configs let each project pin defaults without hardcoding them into requests