JSON-RPC: nzc_* and agent_*
All standard eth_*, net_*, web3_* and txpool_* methods work as in go-ethereum. This page lists what NetZero adds and what differs.
nzc namespace (public)
nzc_status()
{
"signer": "0x…", // local signing address (zero if not a validator)
"seat": 3, // -1 when this node holds no seat
"lastVoted": "0x1f4",
"head": "0x1f5",
"finalized": "0x1f4",
"finalityLag": "0x1"
}nzc_validators(blockNumber?)
The ten seat addresses, in seat order, that govern the given height (default: next block).
nzc_finalized()
{ number, hash, known } for the highest final block this node knows.
nzc_votes(blockHash)
Votes collected for a block: [{ number, hash, seat, sig }].
nzc_config()
The engine parameters from the genesis configuration (period, epoch, seats, quorum, decay schedule, fee split, incentive, addresses).
nzc_shareTarget()
What a miner needs: {active, startBlock, head, anchor, anchorHash, difficulty, target, minAge, maxAge, maxPerBlock, pendingShares, domain}. Mine on anchor/anchorHash; a share is valid while the anchor is 4–12 blocks old.
nzc_submitShare({anchor, anchorHash, miner, nonce}) → true
Submits a share found externally. Errors: share hash above target, share anchor outside the allowed age window, share already included or known.
nzc_shares(blockNumber?) → {number, hash, shares: [{anchor, miner, nonce}], perShareWei, miners}
The shares a block paid and the payout per share (perShareWei is known on nodes that processed the block).
nzc_miningStatus()
The local node's share miner, same shape as agent_getMiningStatus. See Mining Shares.
agent namespace (loopback only)
See the Agent API Reference. Methods: agent_createWallet, agent_listWallets, agent_getBalance, agent_send, agent_sendTransaction, agent_deployContract, agent_callContract, agent_getTransactionReceipt, agent_startMining, agent_stopMining, agent_getMiningStatus, agent_shutdown.
Standard methods that behave differently
| Method | Difference |
|---|---|
eth_getBlockByNumber("finalized"), ("safe") | Supported; return the block finalised by validator votes, about one block behind head |
eth_getBlockByNumber → miner | Always the fee sink 0x…1006; the proposer seat is in extraData |
eth_getBlockByNumber → difficulty | 1 or 2 (out-of-turn / in-turn), not a work measure |
eth_gasPrice, eth_feeHistory | Base fee never below 1,000 gwei USDn |
eth_sendRawTransaction | Legacy (with chain ID), EIP-2930 and EIP-1559 transactions accepted; unprotected legacy transactions rejected |
eth_sendPrivateRawTransaction | Submits a transaction only to this node's block builder, never gossiped (only useful on a validator) |
Batch limits and safety
Batches are capped at 1,000 requests. Header queries are bounded. Public RPC operators should serve eth,net,web3,nzc only; the node enforces this for the sensitive namespaces.
