Skip to main content
Every five minutes Mecone signs each of its eight public indices into a signed official round — the one source of truth, an immutable record you can verify offline against one pinned public key. The signed round is transport-neutral: every rail below carries that same round, and none of them can create or alter one.

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: MOAI reading ~921 means $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 — API 921000000000 and on-chain 921e18 are the same 921B.921B. `%` and `/hr` feeds are not rescaled between transports.
We ship a reference consumer (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.

C. Signed official rounds (verifiable)

For settlement, audit, or any integration where you must not trust the transport: every five minutes each index becomes a cryptographically signed official round — the round id is the EIP-712 digest of the signed body, the signer is authorized by a keyset attested by Mecone’s pinned root key, and a self-contained ~250-line verifier is served by the endpoint itself. One public value to pin, three commands to verify a live production round: Signed Official Rounds.