CORE SERVICE

Datafeeds

Morpheus Datafeeds provide high-integrity price records synchronized directly to Neo N3 Mainnet. Feed publication is isolated onto the dedicated DataFeed CVM so market updates are not delayed by slower request/response workloads.

Operational Architecture

Unlike the request-callback Oracle model, Datafeeds are pre-synchronized state. They operate on an automated operator pipeline:

  1. The control plane or scheduler triggers a feed tick.
  2. The dedicated DataFeed CVM fetches and normalizes source quotes.
  3. Only materially changed quantized values are prepared for publication.
  4. The relayer pushes the update to the on-chain MorpheusDataFeed registry.

The DataFeed CVM is the highest-priority Morpheus runtime lane. It stays separate from Oracle request/response execution so continuous price publication remains stable under bursty load.

Supported Assets

Configured Default Pair Catalog (34)

TWELVEDATA:NEO-USDTWELVEDATA:GAS-USDTWELVEDATA:FLM-USDTWELVEDATA:BTC-USDTWELVEDATA:ETH-USDTWELVEDATA:SOL-USDTWELVEDATA:TRX-USDTWELVEDATA:PAXG-USDTWELVEDATA:WTI-USDTWELVEDATA:BRENT-USDTWELVEDATA:NATGAS-USDTWELVEDATA:COPPER-USDTWELVEDATA:WHEAT-USDTWELVEDATA:CORN-USDTWELVEDATA:SOY-USDTWELVEDATA:USDT-USDTWELVEDATA:USDC-USDTWELVEDATA:BNB-USDTWELVEDATA:XRP-USDTWELVEDATA:DOGE-USDTWELVEDATA:AAPL-USDTWELVEDATA:GOOGL-USDTWELVEDATA:MSFT-USDTWELVEDATA:AMZN-USDTWELVEDATA:TSLA-USDTWELVEDATA:META-USDTWELVEDATA:NVDA-USDTWELVEDATA:SPY-USDTWELVEDATA:QQQ-USDTWELVEDATA:GLD-USDTWELVEDATA:EUR-USDTWELVEDATA:GBP-USDTWELVEDATA:JPY-USDTWELVEDATA:CNY-USD

Data Storage Format

All prices are stored as scaled USD integers with a global precision of 1 USD = 1,000,000 units.

  • A price of $12.50 is stored as 12500000.
  • A price of $65,000.00 is stored as 65000000000.
  • A price of $0.002437 is stored as 2437, which is enough to represent low-priced assets such as FLM directly.
  • The 0.1% sync threshold is evaluated against the quantized on-chain integer value. The canonical storage key keeps the source prefix, for example TWELVEDATA:FLM-USD and TWELVEDATA:JPY-USD.

Canonical Pair Meanings

Contracts and users should use the pair keys exactly as written below. The canonical key format is provider-scoped, so the standard catalog uses identifiers such as TWELVEDATA:NEO-USD and TWELVEDATA:BTC-USD.

PairCategoryMeaningTwelveData SymbolOn-Chain Unit
TWELVEDATA:NEO-USDCrypto
Price of 1 NEO in USD
NEO/USD1 NEO
TWELVEDATA:GAS-USDCrypto
Price of 1 GAS in USD
GAS/USD1 GAS
TWELVEDATA:FLM-USDCrypto
Price of 1 FLM in USD
With the global 1 USD = 1,000,000 scale, FLM is represented directly without a basket multiplier.
FLM/USD1 FLM
TWELVEDATA:BTC-USDCrypto
Price of 1 BTC in USD
BTC/USD1 BTC
TWELVEDATA:ETH-USDCrypto
Price of 1 ETH in USD
ETH/USD1 ETH
TWELVEDATA:SOL-USDCrypto
Price of 1 SOL in USD
SOL/USD1 SOL
TWELVEDATA:TRX-USDCrypto
Price of 1 TRX in USD
TRX/USD1 TRX
TWELVEDATA:PAXG-USDCrypto
Price of 1 PAXG token in USD
PAXG/USD1 PAXG
TWELVEDATA:WTI-USDCommodity
WTI crude oil reference price in USD
WTI/USDWTI reference unit
TWELVEDATA:BRENT-USDCommodity
Brent crude spot reference price in USD
XBR/USDBrent spot reference unit
TWELVEDATA:NATGAS-USDCommodity
Natural gas reference price in USD
NG/USDNatural gas reference unit
TWELVEDATA:COPPER-USDCommodity
Copper front-month futures proxy in USD
Uses TwelveData copper futures symbol HG1.
HG11 copper futures reference unit
TWELVEDATA:WHEAT-USDCommodity
Wheat front-month futures proxy in USD
Uses TwelveData agricultural futures symbol W_1.
W_11 wheat futures reference unit
TWELVEDATA:CORN-USDCommodity
Corn front-month futures proxy in USD
Uses TwelveData agricultural futures symbol C_1.
C_11 corn futures reference unit
TWELVEDATA:SOY-USDCommodity
Soybean front-month futures proxy in USD
Uses TwelveData agricultural futures symbol S_1.
S_11 soybean futures reference unit
TWELVEDATA:USDT-USDCrypto
Price of 1 USDT in USD
USDT/USD1 USDT
TWELVEDATA:USDC-USDCrypto
Price of 1 USDC in USD
USDC/USD1 USDC
TWELVEDATA:BNB-USDCrypto
Price of 1 BNB in USD
BNB/USD1 BNB
TWELVEDATA:XRP-USDCrypto
Price of 1 XRP in USD
XRP/USD1 XRP
TWELVEDATA:DOGE-USDCrypto
Price of 1 DOGE in USD
DOGE/USD1 DOGE
TWELVEDATA:AAPL-USDEquity
Price of 1 AAPL share in USD
AAPL1 share
TWELVEDATA:GOOGL-USDEquity
Price of 1 GOOGL share in USD
GOOGL1 share
TWELVEDATA:MSFT-USDEquity
Price of 1 MSFT share in USD
MSFT1 share
TWELVEDATA:AMZN-USDEquity
Price of 1 AMZN share in USD
AMZN1 share
TWELVEDATA:TSLA-USDEquity
Price of 1 TSLA share in USD
TSLA1 share
TWELVEDATA:META-USDEquity
Price of 1 META share in USD
META1 share
TWELVEDATA:NVDA-USDEquity
Price of 1 NVDA share in USD
NVDA1 share
TWELVEDATA:SPY-USDETF
Price of 1 SPY share in USD
SPY1 ETF share
TWELVEDATA:QQQ-USDETF
Price of 1 QQQ share in USD
QQQ1 ETF share
TWELVEDATA:GLD-USDETF
Price of 1 GLD share in USD
GLD1 ETF share
TWELVEDATA:EUR-USDFX
Price of 1 EUR in USD
EUR/USD1 EUR
TWELVEDATA:GBP-USDFX
Price of 1 GBP in USD
GBP/USD1 GBP
TWELVEDATA:JPY-USDFX
Price of 1 JPY in USD
Fetched as USD/JPY, then inverted.
USD/JPY1 JPY
TWELVEDATA:CNY-USDFX
Price of 1 CNY in USD
Fetched as USD/CNY, then inverted.
USD/CNY1 CNY

Contract Integration

Neo N3 (C#)

Use the contract hash 0x03013f49c42a14546c8bbe58f9d434c3517fccab or resolve the NeoNS alias pricefeed.morpheus.neo to the same script hash.

csharpDirect Read on N3
// Read the latest verified price from contract storage
public static void CheckLiquidation() {
    object[] record = (object[])Contract.Call(
        DataFeedHash,
        "getLatest",
        CallFlags.ReadOnly,
        "TWELVEDATA:NEO-USD"
    );
    
    BigInteger priceUnits = (BigInteger)record[2];
    BigInteger lastUpdate = (BigInteger)record[3];
    
    // Process logic...
}

Public documentation currently covers the Neo N3 feed read path only. Any Neo X datafeed interfaces left in-repo are archived reference material and are not the supported integration target.

Sync Cycles

Mainnet feeds are automatically scanned every 60 seconds. For each storage pair, the relayer compares the fresh source quote against the current on-chain stored integer value using the global 1 USD = 1,000,000 scale. Only pairs whose change versus the quantized on-chain value is at least 0.1% are submitted, and all qualifying pairs are batched into a single updateFeeds transaction.

CURRENT DESIGNUPDATED FOR DUAL-CVM ARCHITECTURE