Read the live protocol
This quickstart reads Northset’s deployed contracts directly from Arbitrum One. Every command uses eth_call, so it needs no wallet, private key, approval, or funds.
Prerequisite
Section titled “Prerequisite”Install Foundry so the cast command is available.
Set the deployment values
Section titled “Set the deployment values”Copy these values into a shell:
export ARBITRUM_RPC_URL="https://arb1.arbitrum.io/rpc"export NORTHSET_HUB="0x219f6a4206a38f05897257e40cea3b211ea5e592"export NORTHSET_REGISTRY="0x321eb680fb52d153161a03157b1c6d97b1298350"export STATS_V1_ID="0x87964240a746236cc99fb5d3ff344e5110b6429980582b953c2de786a74347b4"export STATS_V1_VERIFIER="0x43eb16511bcaB838f9D0dbbEF85b61DD8E88602C"Read the hub configuration
Section titled “Read the hub configuration”cast call "$NORTHSET_HUB" "paused()(bool)" \ --rpc-url "$ARBITRUM_RPC_URL"
cast call "$NORTHSET_HUB" "globalFeeBps()(uint16)" \ --rpc-url "$ARBITRUM_RPC_URL"
cast call "$NORTHSET_HUB" "globalMinBondUSDC()(uint256)" \ --rpc-url "$ARBITRUM_RPC_URL"Expected values:
false10010000000The hub is open for new tasks, the global fee is 100 basis points (1%), and the minimum bond is 10,000,000 USDC microunits (10 USDC).
Read the active STATS_V1 route
Section titled “Read the active STATS_V1 route”cast call "$NORTHSET_REGISTRY" \ "getVerifier(bytes32)(address,bool)" \ "$STATS_V1_ID" \ --rpc-url "$ARBITRUM_RPC_URL"
cast call "$STATS_V1_VERIFIER" "verifierId()(bytes32)" \ --rpc-url "$ARBITRUM_RPC_URL"Expected values:
0x43eb16511bcaB838f9D0dbbEF85b61DD8E88602Ctrue0x87964240a746236cc99fb5d3ff344e5110b6429980582b953c2de786a74347b4The registry maps the STATS_V1 verifier ID to the expected verifier contract and marks the route active. The verifier returns the same ID, completing the identity check.
These values were observed at Arbitrum block 498292588 on 2026-08-25 at 16:31:19 UTC. Running the commands again reads the latest chain state.