> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aultblockchain.com/llms.txt
> Use this file to discover all available pages before exploring further.

# JSON-RPC API

This page summarizes Ethereum JSON-RPC method compatibility on Ault in a single table.

This compatibility matrix is based on:

* [cosmos/evm v0.5.1](https://github.com/cosmos/evm/tree/v0.5.1)
* [JSON-RPC simulator](https://github.com/cosmos/evm/tree/v0.5.1/tests/jsonrpc/simulator)
* [Geth v1.16.3 comparison context](https://github.com/cosmos/evm/blob/v0.5.1/tests/jsonrpc/scripts/geth/start-geth.sh)
* [Ethereum Execution APIs](https://github.com/ethereum/execution-apis)

## Legend

* **✅**: Functional
* **🟡**: Compatibility response (null/empty/zero)
* **❌**: Not implemented or unavailable
* **🌐**: Publicly exposed
* **🔒**: Not publicly exposed

## Full Method Matrix

| Namespace  | Method                                       | Status | Public | Notes                                            |
| ---------- | -------------------------------------------- | ------ | ------ | ------------------------------------------------ |
| `web3`     | `web3_clientVersion`                         | ✅      | 🌐     |                                                  |
| `web3`     | `web3_sha3`                                  | ✅      | 🌐     |                                                  |
| `net`      | `net_version`                                | ✅      | 🌐     |                                                  |
| `net`      | `net_peerCount`                              | ✅      | 🌐     |                                                  |
| `net`      | `net_listening`                              | ✅      | 🌐     |                                                  |
| `eth`      | `eth_protocolVersion`                        | ✅      | 🌐     |                                                  |
| `eth`      | `eth_syncing`                                | ✅      | 🌐     |                                                  |
| `eth`      | `eth_gasPrice`                               | ✅      | 🌐     |                                                  |
| `eth`      | `eth_accounts`                               | ✅      | 🌐     |                                                  |
| `eth`      | `eth_blockNumber`                            | ✅      | 🌐     |                                                  |
| `eth`      | `eth_getBalance`                             | ✅      | 🌐     |                                                  |
| `eth`      | `eth_getStorageAt`                           | ✅      | 🌐     |                                                  |
| `eth`      | `eth_getTransactionCount`                    | ✅      | 🌐     |                                                  |
| `eth`      | `eth_getBlockTransactionCountByNumber`       | ✅      | 🌐     |                                                  |
| `eth`      | `eth_getBlockTransactionCountByHash`         | ✅      | 🌐     |                                                  |
| `eth`      | `eth_getCode`                                | ✅      | 🌐     |                                                  |
| `eth`      | `eth_sign`                                   | ✅      | 🔒     |                                                  |
| `eth`      | `eth_sendTransaction`                        | ❌      | 🔒     | Not implemented                                  |
| `eth`      | `eth_sendRawTransaction`                     | ✅      | 🌐     |                                                  |
| `eth`      | `eth_call`                                   | ✅      | 🌐     |                                                  |
| `eth`      | `eth_createAccessList`                       | ✅      | 🌐     | EIP-2930                                         |
| `eth`      | `eth_estimateGas`                            | ✅      | 🌐     |                                                  |
| `eth`      | `eth_getBlockByNumber`                       | ✅      | 🌐     |                                                  |
| `eth`      | `eth_getBlockByHash`                         | ✅      | 🌐     |                                                  |
| `eth`      | `eth_getTransactionByHash`                   | ✅      | 🌐     | Returns null in some contexts                    |
| `eth`      | `eth_getTransactionByBlockHashAndIndex`      | ✅      | 🌐     | Returns null in some contexts                    |
| `eth`      | `eth_getTransactionReceipt`                  | ✅      | 🌐     | Returns null in some contexts                    |
| `eth`      | `eth_newFilter`                              | ✅      | 🌐     |                                                  |
| `eth`      | `eth_newBlockFilter`                         | ✅      | 🌐     |                                                  |
| `eth`      | `eth_newPendingTransactionFilter`            | ✅      | 🌐     |                                                  |
| `eth`      | `eth_uninstallFilter`                        | ✅      | 🌐     |                                                  |
| `eth`      | `eth_getFilterChanges`                       | ✅      | 🌐     | Can return empty array depending on filter state |
| `eth`      | `eth_getFilterLogs`                          | ✅      | 🌐     | Can return empty array depending on filter state |
| `eth`      | `eth_getLogs`                                | ✅      | 🌐     |                                                  |
| `eth`      | `eth_getTransactionByBlockNumberAndIndex`    | ✅      | 🌐     |                                                  |
| `eth`      | `eth_getWork`                                | ❌      | 🌐     | Deprecated in geth                               |
| `eth`      | `eth_submitWork`                             | ❌      | 🌐     | Deprecated in geth                               |
| `eth`      | `eth_submitHashrate`                         | ❌      | 🌐     | Deprecated in geth                               |
| `eth`      | `eth_getCompilers`                           | ❌      | 🔒     | Deprecated in geth                               |
| `eth`      | `eth_compileLLL`                             | ❌      | 🔒     | Deprecated in geth                               |
| `eth`      | `eth_compileSolidity`                        | ❌      | 🔒     | Deprecated in geth                               |
| `eth`      | `eth_compileSerpent`                         | ❌      | 🔒     | Deprecated in geth                               |
| `eth`      | `eth_signTransaction`                        | ❌      | 🔒     | Not implemented                                  |
| `eth`      | `eth_mining`                                 | ❌      | 🌐     | Deprecated in geth                               |
| `eth`      | `eth_coinbase`                               | ❌      | 🌐     | Deprecated in geth                               |
| `eth`      | `eth_hashrate`                               | ❌      | 🔒     | Deprecated in geth                               |
| `eth`      | `eth_getUncleCountByBlockHash`               | 🟡     | 🌐     | Always `0x0`                                     |
| `eth`      | `eth_getUncleCountByBlockNumber`             | 🟡     | 🌐     | Always `0x0`                                     |
| `eth`      | `eth_getUncleByBlockHashAndIndex`            | 🟡     | 🌐     | Always `null`                                    |
| `eth`      | `eth_getUncleByBlockNumberAndIndex`          | 🟡     | 🌐     | Always `null`                                    |
| `eth`      | `eth_getProof`                               | ✅      | 🌐     |                                                  |
| `eth`      | `eth_feeHistory`                             | ✅      | 🌐     | EIP-1559                                         |
| `eth`      | `eth_maxPriorityFeePerGas`                   | ✅      | 🌐     |                                                  |
| `eth`      | `eth_chainId`                                | ✅      | 🌐     |                                                  |
| `eth`      | `eth_getBlockReceipts`                       | ✅      | 🌐     |                                                  |
| `eth`      | `eth_resend`                                 | ❌      | 🌐     | Requires nonce param                             |
| `eth`      | `eth_blobBaseFee`                            | ❌      | 🌐     | EIP-4844 not implemented                         |
| `eth`      | `eth_fillTransaction`                        | ✅      | 🌐     |                                                  |
| `eth`      | `eth_signTypedData`                          | ✅      | 🔒     | Requires domain param                            |
| `eth`      | `eth_signTypedData_v3`                       | ❌      | 🔒     | Not implemented                                  |
| `eth`      | `eth_signTypedData_v4`                       | ❌      | 🔒     | Not implemented                                  |
| `eth`      | `eth_pendingTransactions`                    | ❌      | 🌐     | Not implemented                                  |
| `eth`      | `eth_getPendingTransactions`                 | ✅      | 🌐     | Deprecated in geth                               |
| `eth`      | `eth_getHeaderByHash`                        | ✅      | 🌐     |                                                  |
| `eth`      | `eth_getHeaderByNumber`                      | ✅      | 🌐     |                                                  |
| `eth`      | `eth_simulateV1`                             | ❌      | 🌐     | Geth-specific, not implemented                   |
| `eth`      | `eth_getRawTransactionByHash`                | ❌      | 🌐     | Not implemented                                  |
| `eth`      | `eth_getRawTransactionByBlockNumberAndIndex` | ❌      | 🌐     | Not implemented                                  |
| `eth`      | `eth_getRawTransactionByBlockHashAndIndex`   | ❌      | 🌐     | Not implemented                                  |
| `eth`      | `eth_getTransactionLogs`                     | ✅      | 🌐     |                                                  |
| `eth`      | `eth_subscribe`                              | ✅      | 🌐     | WebSocket only                                   |
| `eth`      | `eth_unsubscribe`                            | ✅      | 🌐     | WebSocket only                                   |
| `debug`    | `debug_backtraceAt`                          | ❌      | 🔒     | Returns undefined                                |
| `debug`    | `debug_blockProfile`                         | ✅      | 🔒     |                                                  |
| `debug`    | `debug_cpuProfile`                           | ✅      | 🔒     |                                                  |
| `debug`    | `debug_dumpBlock`                            | ❌      | 🔒     | Returns undefined                                |
| `debug`    | `debug_gcStats`                              | ✅      | 🔒     |                                                  |
| `debug`    | `debug_getBlockRlp`                          | ✅      | 🔒     | Deprecated in geth                               |
| `debug`    | `debug_goTrace`                              | ✅      | 🔒     |                                                  |
| `debug`    | `debug_freeOSMemory`                         | ✅      | 🔒     |                                                  |
| `debug`    | `debug_memStats`                             | ✅      | 🔒     |                                                  |
| `debug`    | `debug_mutexProfile`                         | ✅      | 🔒     |                                                  |
| `debug`    | `debug_seedHash`                             | ❌      | 🔒     | Not implemented                                  |
| `debug`    | `debug_setHead`                              | ❌      | 🔒     | Not implemented                                  |
| `debug`    | `debug_setBlockProfileRate`                  | ✅      | 🔒     |                                                  |
| `debug`    | `debug_setGCPercent`                         | ✅      | 🔒     |                                                  |
| `debug`    | `debug_setMutexProfileFraction`              | ✅      | 🔒     |                                                  |
| `debug`    | `debug_stacks`                               | ✅      | 🔒     |                                                  |
| `debug`    | `debug_startCPUProfile`                      | ✅      | 🔒     |                                                  |
| `debug`    | `debug_startGoTrace`                         | ✅      | 🔒     |                                                  |
| `debug`    | `debug_stopCPUProfile`                       | ✅      | 🔒     |                                                  |
| `debug`    | `debug_stopGoTrace`                          | ✅      | 🔒     |                                                  |
| `debug`    | `debug_traceBlock`                           | ✅      | 🔒     |                                                  |
| `debug`    | `debug_traceBlockByNumber`                   | ✅      | 🔒     |                                                  |
| `debug`    | `debug_traceBlockByHash`                     | ✅      | 🔒     |                                                  |
| `debug`    | `debug_traceBlockFromFile`                   | ❌      | 🔒     | Not implemented                                  |
| `debug`    | `debug_standardTraceBlockToFile`             | ❌      | 🔒     | Not implemented                                  |
| `debug`    | `debug_standardTraceBadBlockToFile`          | ❌      | 🔒     | Not implemented                                  |
| `debug`    | `debug_traceTransaction`                     | ✅      | 🔒     |                                                  |
| `debug`    | `debug_traceCall`                            | ✅      | 🔒     |                                                  |
| `debug`    | `debug_traceChain`                           | ❌      | 🔒     | Not implemented                                  |
| `debug`    | `debug_traceBadBlock`                        | ❌      | 🔒     | Not implemented                                  |
| `debug`    | `debug_verbosity`                            | ❌      | 🔒     | Not implemented                                  |
| `debug`    | `debug_vmodule`                              | ❌      | 🔒     | Not implemented                                  |
| `debug`    | `debug_writeBlockProfile`                    | ✅      | 🔒     |                                                  |
| `debug`    | `debug_writeMemProfile`                      | ✅      | 🔒     |                                                  |
| `debug`    | `debug_writeMutexProfile`                    | ✅      | 🔒     |                                                  |
| `debug`    | `debug_getRawBlock`                          | ❌      | 🔒     | Not implemented                                  |
| `debug`    | `debug_getRawHeader`                         | ❌      | 🔒     | Not implemented                                  |
| `debug`    | `debug_getRawReceipts`                       | ❌      | 🔒     | Not implemented                                  |
| `debug`    | `debug_getRawTransaction`                    | ❌      | 🔒     | Not implemented                                  |
| `debug`    | `debug_printBlock`                           | ✅      | 🔒     |                                                  |
| `debug`    | `debug_getHeaderRlp`                         | ✅      | 🔒     | Deprecated in geth                               |
| `debug`    | `debug_intermediateRoots`                    | ✅      | 🔒     | Returns nil                                      |
| `debug`    | `debug_getBadBlocks`                         | ❌      | 🔒     | Not implemented                                  |
| `debug`    | `debug_storageRangeAt`                       | ❌      | 🔒     | Not implemented                                  |
| `debug`    | `debug_getModifiedAccountsByNumber`          | ❌      | 🔒     | Not implemented                                  |
| `debug`    | `debug_getModifiedAccountsByHash`            | ❌      | 🔒     | Not implemented                                  |
| `txpool`   | `txpool_content`                             | ✅      | 🌐     | See Cosmos EVM experimental mempool docs         |
| `txpool`   | `txpool_contentFrom`                         | ✅      | 🌐     | See Cosmos EVM experimental mempool docs         |
| `txpool`   | `txpool_inspect`                             | ✅      | 🌐     | See Cosmos EVM experimental mempool docs         |
| `txpool`   | `txpool_status`                              | ✅      | 🌐     | See Cosmos EVM experimental mempool docs         |
| `personal` | `personal_importRawKey`                      | ❌      | 🔒     | Requires valid hex key                           |
| `personal` | `personal_listAccounts`                      | ✅      | 🔒     |                                                  |
| `personal` | `personal_lockAccount`                       | 🟡     | 🔒     | Always false                                     |
| `personal` | `personal_newAccount`                        | ✅      | 🔒     |                                                  |
| `personal` | `personal_unlockAccount`                     | 🟡     | 🔒     | Always false                                     |
| `personal` | `personal_sendTransaction`                   | ❌      | 🔒     | Not implemented                                  |
| `personal` | `personal_sign`                              | ✅      | 🔒     |                                                  |
| `personal` | `personal_ecRecover`                         | ❌      | 🔒     | Requires 65-byte signature                       |
| `personal` | `personal_initializeWallet`                  | ❌      | 🔒     | Not implemented                                  |
| `personal` | `personal_unpair`                            | ❌      | 🔒     | Not implemented                                  |
| `personal` | `personal_listWallets`                       | 🟡     | 🔒     | Returns null                                     |
| `personal` | `personal_signTransaction`                   | ❌      | 🔒     | Not implemented                                  |
| `personal` | `personal_signAndSendTransaction`            | ❌      | 🔒     | Not implemented                                  |
| `personal` | `personal_openWallet`                        | ❌      | 🔒     | Not implemented                                  |
| `personal` | `personal_deriveAccount`                     | ❌      | 🔒     | Not implemented                                  |
| `shh`      | `shh_*`                                      | ❌      | 🔒     | Whisper APIs are deprecated                      |
| `admin`    | `admin_*`                                    | ❌      | 🔒     | Not supported                                    |
| `clique`   | `clique_*`                                   | ❌      | 🔒     | Deprecated in geth                               |
| `les`      | `les_*`                                      | ❌      | 🔒     | LES/light client APIs not used                   |
| `miner`    | `miner_*`                                    | ❌      | 🔒     | Ault is not PoW                                  |
| `db`       | `db_*`                                       | ❌      | 🔒     | Deprecated in geth                               |
| `engine`   | `engine_*`                                   | ❌      | 🔒     | CometBFT does not use Engine API                 |
| `trace`    | `trace_*`                                    | ❌      | 🔒     | Use `debug_*` instead                            |

## Notes

* Two entries were duplicated in the source list (`eth_createAccessList`, `eth_fillTransaction`) and are represented once in this matrix.
* Some methods marked as supported may still return empty or null values depending on state, filter lifecycle, or query context.
* Revalidate behavior against your deployment before production rollout.
