Consuming the OracleTestnet Quickstart

Testnet Quickstart (Arbitrum Sepolia)

The full path, index → signed oracle → on-chain settlement, runs on Arbitrum Sepolia (chain id 421614) today. The reference contracts are deployed and verified on-chain: all six feed ids wired, and the demo perp’s vault seeded so trades pay out.

Deployed contracts (July 2026)

ContractAddress
Stork oracle proxy0x7Bb9740FdcbD91866CaFEd099C36445Ea8140627
MeconeStorkConsumer0x0926B7644ebFEB8500028848254630a5bee4f403
MeconePerpDemo0x2408353185761834E63Aae054f1ae5C01548766A
MockUSDC (faucet collateral)0x5F6654f8292294d3e3c7E6ebB2Ab887326E42995

Explorer: sepolia.arbiscan.io · RPC: https://sepolia-rollup.arbitrum.io/rpc

Read an index on-chain

# The current Mecone US-GDP index, 1e18-scaled, with its publish timestamp:
cast call 0x0926B7644ebFEB8500028848254630a5bee4f403 \
  "price(bytes32)(int256,uint64)" \
  $(cast format-bytes32-string MGDP) \
  --rpc-url https://sepolia-rollup.arbitrum.io/rpc

The consumer reverts on an unknown market or a value older than its staleness window (600s), which is exactly the behavior a perp engine wants: missing beats wrong.

Stork is a pull oracle: price() reads the last value pushed on-chain. Fresh values are submitted via updateTemporalNumericValuesV1 (the update fee on Arbitrum Sepolia is 1 wei); during pilots we keep the values fresh for you.

Trade the reference perp

MeconePerpDemo is a deliberately lean, oracle-priced perp (no order book; the vault is the counterparty; isolated margin; up to 20× leverage). Mint yourself mock collateral and trade:

USDC=0x5F6654f8292294d3e3c7E6ebB2Ab887326E42995
PERP=0x2408353185761834E63Aae054f1ae5C01548766A
RPC=https://sepolia-rollup.arbitrum.io/rpc
 
# 1. faucet: mint 1,000 mUSDC to yourself (6 decimals; open mint, testnet only)
cast send $USDC "mint(address,uint256)" $YOUR_ADDRESS 1000000000 --rpc-url $RPC --private-key $PK
 
# 2. approve + open a 5x long on MGDP with 100 mUSDC
cast send $USDC "approve(address,uint256)" $PERP 100000000 --rpc-url $RPC --private-key $PK
cast send $PERP "open(bytes32,bool,uint256,uint256)" \
  $(cast format-bytes32-string MGDP) true 100000000 5 --rpc-url $RPC --private-key $PK
 
# 3. watch PnL, then close
cast call $PERP "pnlOf(uint256)(int256,int256)" 0 --rpc-url $RPC
cast send $PERP "close(uint256)" 0 --rpc-url $RPC --private-key $PK

Entry, PnL, and liquidation all mark to MeconeStorkConsumer.price(), i.e. to the same signed value Mecone publishes on Stork.

💡

Want a different index on testnet? The catalog has ~50 more built. Reach out and we will wire the feed and deploy it for your team to read live.