/ DEVELOPERS / SPEC
Method Spec
Every JSON-RPC method the chain exposes. Click Try it on any row to open the API explorer with the form pre-filled.
| Namespace | Method | Description | Category | Try it |
|---|---|---|---|---|
| qw_* | qw_chainId | Returns the QuantumWing chain identifier as a human-readable slug (e.g. 'qgen-mainnet'). | Meta | → |
| qw_* | qw_blockNumber | Returns the height of the most recently sealed block as a hex-encoded uint. | Block | → |
| qw_* | qw_gasPrice | Returns the recommended gas price in Wei (10 Gwei standard tier) as a hex string. | Gas | → |
| qw_* | qw_getBalance | Get account balance in Wei. Identical to eth_getBalance, but without an optional block-tag parameter (always 'latest'). | Account | → |
| qw_* | qw_getTransactionCount | Returns the next nonce expected from this account (i.e. number of mined + queued txs from this sender). | Account | → |
| qw_* | qw_getBlockByNumber | Get a block by number or tag. Returns the QuantumWing-native block envelope (with merkleRoot, validator ID and full Dilithium tx envelopes). | Block | → |
| qw_* | qw_getTransactionByHash | Get a transaction by hash. Returns the canonical QuantumWing tx (Dilithium signature + public key, base64 encoded). Falls back to the mempool for pending txs. | Transaction | → |
| qw_* | qw_getTransactionReceipt | Get the receipt for a confirmed transaction (Ethereum-shaped, with logs / status / gasUsed). Returns null while the tx is unknown or still pending. | Transaction | → |
| qw_* | qw_sendTransaction | Submit a Dilithium-signed transaction to the mempool. Params is a single object with from/to/value/gas/gasPrice/nonce plus base64-encoded Dilithium signature & public key. | Transaction | → |
| qw_* | qw_verifyTypedData | Server-side EIP-712 typed-data signature check. Useful for permits / meta-tx flows. Optionally enforces an expected signer. | Wallet | → |
| eth_* | eth_chainId | Returns the chain ID as a hex-encoded uint (used by EIP-155 for replay protection). | Meta | → |
| eth_* | eth_blockNumber | Returns the latest sealed block height. | Block | → |
| eth_* | eth_gasPrice | Returns the suggested legacy gas price (head base fee + 1 Gwei tip). Wallets that don't speak EIP-1559 can use this directly. | Gas | → |
| eth_* | eth_maxPriorityFeePerGas | Returns the suggested miner-tip portion for EIP-1559 transactions (default 1 Gwei). | Gas | → |
| eth_* | eth_feeHistory | Returns base fee, gas-used ratio and (optional) reward percentiles for the most recent N blocks. Used by wallets to suggest priority fees. | Gas | → |
| eth_* | eth_getBalance | Get account balance in Wei. | Account | → |
| eth_* | eth_getTransactionCount | Get the nonce (next expected) for an account. | Account | → |
| eth_* | eth_getBlockByNumber | Ethereum-shaped block envelope (parentHash, transactionsRoot, baseFeePerGas, etc.). | Block | → |
| eth_* | eth_getBlockByHash | Same as getBlockByNumber, but keyed off block hash. | Block | → |
| eth_* | eth_getTransactionByHash | Get a transaction by hash, in Ethereum hex format. | Transaction | → |
| eth_* | eth_getTransactionReceipt | Get the mined receipt for a tx, including event logs (Ethereum log format). | Transaction | → |
| eth_* | eth_sendRawTransaction | Submit an RLP-encoded ECDSA-signed transaction. The sender's ECDSA key must be authorized via the chain's authorisation registry first. | Transaction | → |
| eth_* | eth_call | Read-only contract call. Today QWVM contracts return -32601 (use qw_callContract); EOAs return '0x'. EVM contracts will fully support this in Phase B. | Contract | → |
| eth_* | eth_estimateGas | Estimate gas for a tx by classifying it (transfer / contract deploy / contract call / data-to-EOA) and adding a 10% safety buffer. | Gas | → |
| eth_* | eth_getLogs | Scan the chain for event logs matching an address/topic filter. Limited to 10,000 results and a 10,000-block range per call. | Logs | → |
| eth_* | eth_getStorageAt | Read a 32-byte storage slot from a QWVM contract. Slots that don't exist return all zeros. | Contract | → |
| eth_* | eth_getCode | Get the contract bytecode at an address, or '0x' for EOAs. dApps use the empty response to detect 'this is a wallet, not a contract'. | Contract | → |
| eth_* | eth_getProof | EIP-1186 Merkle proof for an account + optional storage slots. Light clients use this to verify state without trusting the RPC. | Account | → |
| eth_* | eth_accounts | Returns the list of accounts the node manages. QuantumWing never custody-signs — always returns []. | Wallet | → |
| eth_* | eth_signTypedData_v4 | Returns method-not-found: typed-data signing happens client-side in the wallet. Use qw_verifyTypedData server-side instead. | Wallet | → |
| web3_* | web3_clientVersion | Returns the client version string. | Meta | → |
| net_* | net_version | Returns the network ID as a decimal string. Older tooling uses this in place of eth_chainId. | Meta | → |
| net_* | net_listening | Returns true if the node is actively listening for peers. | Meta | → |
| net_* | net_peerCount | Returns the number of currently connected peers as a hex uint. | Meta | → |
| eth_* | eth_subscribe:newHeadsWS | WS-only. Streams a new event every time a block is sealed (head update). Requires connecting to /ws — over HTTP this is rejected. | Subscription | → |
| eth_* | eth_subscribe:newPendingTransactionsWS | WS-only. Streams tx hashes as they arrive in the mempool, before they're mined. | Subscription | → |
| eth_* | eth_subscribe:logsWS | WS-only. Streams logs that match an optional address+topics filter. Each emitted log has the same shape as eth_getLogs. | Subscription | → |
| eth_* | eth_subscribe:validatorStatusWS | WS-only. QuantumWing-specific stream: per-slot validator status updates (proposer, attestations). | Subscription | → |
38 of 38 methods