Skip to main content

Ethereum-Compatible Methods

OXN supports the standard Ethereum JSON-RPC surface with a few behavioral differences noted below.

Account and balance methods​

MethodSupportNotes
eth_accounts✅Returns configured accounts (mostly empty on public RPC).
eth_getBalance✅Standard.
eth_getTransactionCount✅Standard nonce lookup.
eth_getCode✅Returns deployed bytecode.
eth_getStorageAt✅Returns encrypted storage bytes (ciphertext).

Note: eth_getStorageAt returns the encrypted value from storage. To read decrypted state, call a view function that reads and returns the value — the runtime decrypts inside the enclave.

Block methods​

MethodSupportNotes
eth_blockNumber✅Latest block height.
eth_getBlockByNumber✅Standard block lookup.
eth_getBlockByHash✅Standard.
eth_getBlockTransactionCountByNumber✅Standard.
eth_getBlockTransactionCountByHash✅Standard.

Transaction methods​

MethodSupportNotes
eth_sendRawTransaction✅Standard. data can be plain or encrypted CBOR envelope.
eth_getTransactionByHash✅Returns encrypted data for encrypted transactions.
eth_getTransactionReceipt✅Standard. Logs are encrypted for encrypted transactions.
eth_getTransactionByBlockNumberAndIndex✅Standard.

Call and estimation​

MethodSupportNotes
eth_call✅Standard, plus signed-query and encrypted variants. See below.
eth_estimateGasSet gasLimit explicitly (recommended).See Gas and Fees.
eth_gasPrice✅Returns current gas price. 0 is accepted on testnet.

eth_call variants​

The single eth_call method serves three modes:

  1. Plain call. Standard parameters — data, from, to, etc. Returns plaintext result.
  2. Encrypted call. data is a CBOR envelope. Returns encrypted response.
  3. Signed query. data is a CBOR envelope with an embedded signature; from inside the envelope populates msg.sender.

The SDK handles selecting the right mode based on how you invoke it (wrapped provider vs bare provider, and whether you attached a signer).

Log and filter methods​

MethodSupportNotes
eth_getLogs✅Filter across blocks. Returns ciphertext for encrypted events.
eth_newFilter✅Standard.
eth_newBlockFilter✅Standard.
eth_newPendingTransactionFilter✅Standard.
eth_getFilterChanges✅Standard.
eth_uninstallFilter✅Standard.

Network and client identification​

MethodSupportNotes
eth_chainId✅Returns 0xba (186) for OXN Testnet.
eth_syncing✅Public RPC always returns false (fully synced).
net_version✅Same as eth_chainId value in decimal.
net_listening✅Always true.
net_peerCount✅Returns peer count on the node.
web3_clientVersion✅Node software version string.
web3_sha3✅Standard.

Debug and trace methods​

MethodSupportNotes
debug_traceTransactionPartialPublic RPC may disable under load. Returns opaque calldata for encrypted transactions.
debug_traceCallPartialSame as above.

What's not supported​

MethodReason
eth_signTransactionPublic RPC does not hold keys.
eth_signTypedData_v4Public RPC does not hold keys.
eth_getProofNot implemented in current runtime.
EIP-1559 maxFeePerGas / maxPriorityFeePerGas in eth_gasPriceOXN uses legacy fee model.
eth_feeHistoryLegacy fee model — no base fee history.

Next steps​