Core Read

HyperEVM

HyperCore precompile reader

Call the HyperEVM read precompiles (L1Read.sol, 0x…0800 to 0x…0813) live: perp positions, spot balances, mark / oracle / spot prices, bbo, vault equity, staking and token supply. Decoded, scaled to real prices and USD, with the gas cost, a cast command and the Solidity staticcall.

account
market
token
chain

0x…0807 · perp oracle price (hip-3: dex × 10000 + index)

good to know

why is the price a huge integer?

core stores prices as integers. a perp price divides by 10^(6 − szDecimals) of that market, a spot price by 10^(8 − the base token’s szDecimals), and usd values by 1e6. the reader looks up the decimals and does it for you.

what do the precompiles cost?

2000 gas plus 65 per byte of input and output. a price read is about 6,000 gas. they only see the latest state: calls at older blocks don’t work.

which index do i pass?

the perp index for perp reads, the spot index for spotPx / spotInfo, and the token index for balances. bbo takes the exchange asset id instead: perps as is, spot = 10000 + spot index.