Choosing your integration path
All paths serve the same eight production indices. Fresh signed rounds are a
licensed pull (partner token, metered per read); rounds older than 24 hours
and everything verification needs — anchor, keysets, registry, verifier kit —
stay open, because the signed round is a portable artifact and verification
uses public material only.
A. On-chain (EVM venues)
Reading a Mecone index on-chain is a single call against the oracle contract:- Feed id =
keccak256("MECON_<symbol>"): the encoded asset id is the keccak hash of the plaintext symbol. - Call
getTemporalNumericValueV1(bytes32 id)on the oracle contract; it returns{ uint64 timestampNs, int192 quantizedValue }. - Values are quantized ×10¹⁸ (divide by 1e18 to de-quantize).
- Dollar valuations are published in billions of USD so they quantize in
line with the macro percentages:
MOAIreading~921means$921B. Macro percentage feeds read directly (2.13= 2.13%). - The
$unit differs by transport. The Mecone API returns valuations in raw dollars while the on-chain rail carries them in billions — API921000000000and on-chain921e18are the same /hr` feeds are not rescaled between transports.
MeconeStorkConsumer) that maps a short market
key to its feed id and adds a tight staleness window on top of the oracle’s,
plus a minimal reference perp that settles against it, both live on testnet
(quickstart).
Testnet today, signed rounds on-chain at mainnet. The eight published
feeds are live on Arbitrum Sepolia for wiring and integration testing.
At mainnet onboarding we provision a dedicated publisher key and deploy the
publisher that carries signed official rounds on-chain — pulling each
feed’s latest round, verifying it against the pinned root anchor with the
same kit partners use, and publishing it on-chain at the round’s official
effective time — so the value your contract reads is the signed round
itself. For settlement-grade values today, pull them from the
signed-rounds service.
The on-chain rail is a pull oracle. The on-chain value for a feed
updates when someone submits the signed payload
(
updateTemporalNumericValuesV1, fee via getUpdateFeeV1). Venues either
run the open-source chain pusher, or submit the signed update atomically in
the transaction that consumes it. For pilots we run the pusher for you.Feed ids (same on mainnet and testnet)
Oracle contract addresses per chain:
docs.stork.network/resources/contract-addresses/evm.
B. Off-chain feed
If you post your own oracle price (an internal oracle, or a HIP-3 style deployer feeding an L1), pull the value from the versioned Mecone API and post it:value is the index level in its natural unit, with a wire-stable decimal
string beside the JSON number; a snapshot is explicitly live_indicative, so
settle against rounds/latest or the
signed rounds, not against it. The legacy
curl https://api.mecone.trade/api/markets/us-gdp (index_now) contract
remains unchanged for existing pilots. Full field reference: API.