Skip to main content
Leafage has four kinds of RPC endpoints. Clients usually only need to access nodex-proxy; the rest are inter-component or operations interfaces. See Sending RPC requests for copy-and-paste examples.

leafage-evm

eth namespace

Two differences from standard Geth:
  • Block queries return only the header; transactions and uncles are always empty arrays, and the full parameter does not change this.
  • There is no eth_estimateGas; use estimateGas below for gas estimation.

DeBank namespace

Method names have no prefix. This group of APIs targets batch and simulation scenarios and offers more control than eth_*.

blockCtx parameter

Omitting blockCtx is equivalent to latest.

DebankBlock return structure

pre namespace

This does not require the overhead of a full node’s debug API.

blockx namespace

blockx_stateReadBatch accepts a hex-encoded BSRB/1 binary payload and resolves getAddressCode / getStorageAt / getAddressBalance / getAddressNonce in batch on a single state view of a fixed block. It is designed for internal services and is not part of the public SDK API, but it is subject to the same validation and rate limiting constraints.

Error codes

-39006 and -39008 trigger automatic retries in nodex-proxy; see interface contracts.

consistency-checker

The listen address is determined by the configured listen (default :8663); GET /metrics is served on the same port.
All errors are returned as -39005.
These method names are the same as in leafage-evm’s DeBank namespace, but the semantics differ: the checker returns confirmed blocks (replicas have converged), while leafage-evm returns this node’s current view.

nodex-proxy

Data API

  • The request body is standard JSON-RPC; batches are supported.
  • A hexadecimal chainId is normalized to decimal.
  • In version mode, the base chain ID is automatically rewritten to the versioned node pool according to {chainId}/version in etcd.
Common request headers:

Admin API

Shares port 8663 with JSON-RPC; expose it only on trusted operations paths.

Write node

trace_debankBlock

Returns the complete execution output of a single block: BlockFile, Header, StateDiff, ValidationHash.
The parameter accepts a block number (hexadecimal), a block hash, or a tag such as latest / earliest. The trace namespace must be enabled (--http.api=...,trace). At height 0, it returns the genesis block’s synthetic transactions and trace.