HyperCore precompile reader

call any L1Read precompile live, with the numbers scaled for humans.

account
market
token
chain

oracle price 0x…0807

perp oracle price (hip-3: dex × 10000 + index)

perpuint32

about this tool

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.

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.