- site/build.html and site/grants.html rendered by site/build.mjs from docs/build/build.md and docs/build/grants.md (the gate's site-only copy keeps the committed pages, as for /bench); site-relative links in the markdown renderer - the nav's fourth group, Build (/build, /faucet, /grants), in the partial, the sheet, the footer, the sitemap and tools/ci/site-nav-check.mjs; the faucet leaves the Mine panel - site/faucet.html is the Devnet 3 faucet: 10 IGN per address per day, 500 a day, chain id 4463, no value, resets without notice; the page posts to https://faucet.igneum.network/api/faucet and shows the balance - infra/build-server/faucet: faucet.mjs (zero dependencies, signs with site/lib/eth.mjs, limiter self-test known-failed first, 100 IGN cap on the amount), the unit, faucet.sh install/status; live on build-1 behind Caddy since 10:16Z, funded 2,000 IGN by the fleet's funder at 10:01Z; first drip 0x8620e9d8 at 10:17Z - docs/build: README, first-contract.md with its test script and the PASS line (24 s end to end through the public RPC and faucet, Foundry 1.8.5, Counter deployed at block 27055), rpc.md read from the node (75 methods probed, served and not served), faucet.md, verify-a-block.md, grants.md - .forgejo/issue_template/grant.md: the grant application template on git.igneum.network Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
5.2 KiB
The JSON-RPC a Devnet 3 node serves
Read from the node, not from a spec: every method below was sent to a Devnet 3 node on 8 October 2026 (web3_clientVersion answered igneumd/2.1.0/execution-layer-v3, eth_chainId 0x116f, block 26,666) and sorted by what came back. A method the node does not know answers JSON-RPC error -32601. The probe is at the end; run it against your own node to refresh this file.
Transport: HTTP POST, JSON-RPC 2.0, one request per call, no batches tested. The public endpoint is https://rpc.devnet.igneum.network; a node you run serves http://127.0.0.1:26790. The DAG side of the node (blocks, the mempool, the vote table) speaks the Kaspa-style gRPC and wRPC on their own ports; the explorer and the observer use those, a contract developer needs only what is here.
Served: the Ethereum set
| Method | Note |
|---|---|
web3_clientVersion |
igneumd/<version>/execution-layer-v3 |
net_version |
the chain id as a decimal string, "4463" |
net_listening, net_peerCount |
|
eth_chainId |
0x116f (4463) on Devnet 3; 0x1170 after its class v5 floor |
eth_blockNumber |
the executed chain tip |
eth_syncing |
false when the executor is at the tip |
eth_mining |
false from the RPC's point of view: mining is the miner's, not the node's |
eth_accounts |
always []: the node holds no keys |
eth_protocolVersion |
0x41 |
eth_gasPrice, eth_maxPriorityFeePerGas, eth_feeHistory |
EIP-1559 pricing; the proving dimension is folded into the quoted price |
eth_getBalance, eth_getTransactionCount, eth_getCode, eth_getStorageAt |
by block tag or number |
eth_getBlockByNumber, eth_getBlockByHash |
the EVM view of a chain block; null for an unknown hash |
eth_getBlockTransactionCountByNumber |
|
eth_getTransactionByHash, eth_getTransactionByBlockNumberAndIndex |
|
eth_getTransactionReceipt, eth_getBlockReceipts |
|
eth_getLogs |
by block range, address and topics |
eth_call, eth_estimateGas |
as on Ethereum |
eth_sendRawTransaction |
a signed EIP-155, EIP-1559 or legacy envelope; the chain id must match |
Served: Igneum's own
| Method | What the answer carries (from the probe) |
|---|---|
igneum_getExecStatus |
the executed tip, a continuity break if any, what the executor is blocked on |
igneum_getProvingStatus |
whether proving is active, its activation height, assignees per shard, the dust rule |
igneum_getShardPlan |
a block's shard plan: the DAA score, eligible keys, the epoch seed, the assignments |
igneum_getProofRecords |
the proof records a block carries and claims |
igneum_getTransactionStatus |
per transaction: in the mempool, included in, executed, locked |
igneum_estimateGas |
both gas dimensions, the base fee, and exceedsProvingLimit |
igneum_getBudgets |
the proving budgets: backlog depth, the base fee, chain blocks |
igneum_getAssignedShards |
the shards assigned to this node's prover |
igneum_getSegment, igneum_getSegmentRecords, igneum_getSegmentStatement |
a segment's executed blocks, records and statement |
igneum_getSegmentProofBytes, igneum_getProofBytes |
the proof bytes for a key hash (keyHash is required) |
igneum_exportSegments |
a range of segments with their accounts |
igneum_exportExecSnapshot |
writes a snapshot to a path on the node's own disk |
igneum_submitProofRecord, igneum_submitSegmentRecord |
the prover's submissions; a record is required |
Not served
Each of these answered -32601 on 8 October 2026. Where a tool wants one, the note says what to do instead.
| Method | Instead |
|---|---|
eth_newFilter, eth_newBlockFilter, eth_newPendingTransactionFilter, eth_getFilterChanges, eth_getFilterLogs, eth_uninstallFilter |
poll eth_blockNumber and eth_getLogs |
eth_subscribe, eth_unsubscribe |
no WebSocket subscriptions; poll |
eth_sendTransaction, eth_sign, eth_signTransaction |
the node holds no keys; sign on your side and use eth_sendRawTransaction |
eth_getProof |
not yet |
eth_getTransactionByBlockHashAndIndex, eth_getBlockTransactionCountByHash |
use the by-number forms |
eth_getUncleByBlockHashAndIndex, eth_getUncleByBlockNumberAndIndex, eth_getUncleCountByBlockHash, eth_getUncleCountByBlockNumber |
there are no uncles; the DAG's merged blocks are not EVM blocks |
eth_createAccessList, eth_simulateV1, eth_blobBaseFee |
not yet; no blobs |
eth_coinbase, eth_hashrate |
the miner's, not the node's |
txpool_content, txpool_status |
igneum_getTransactionStatus for one transaction |
debug_traceTransaction, debug_traceBlockByNumber, trace_block |
no tracing yet |
web3_sha3 |
hash on your side |
The probe
Every method with a harmless argument; the verdict is served, not-found (-32601) or error (the node knows the method and refused the argument, which counts as served).
URL=http://127.0.0.1:26790
call() { curl -s -X POST -H 'content-type: application/json' \
--data "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"$1\",\"params\":${2:-[]}}" "$URL"; }
for m in web3_clientVersion eth_chainId eth_blockNumber eth_newFilter eth_subscribe; do
printf '%-32s %s\n' "$m" "$(call $m | cut -c1-80)"
done
Devnet 3 resets without notice and its coins have no value.