eth_capabilities
Returns information about the data available on this node, including the current head block and retention policies for each resource type. This is useful for RPC routers to determine which historical queries a node can serve.
Returns effective capabilities for routing decisions.
Parameters (by position)
This method does not accept any parameters.
Result
Capabilities object
Describes the data available on the node. Each resource reports the oldest available block and the deletion strategy, allowing RPC routers to determine which historical queries a node can serve.
Show Capabilities object
Capabilities objectCapabilities fields
-
blocks
objectrequiredBlock headers and bodies including transactions and uncles. Determines the available range for block retrieval. Affects: eth_getBlockByHash, eth_getBlockByNumber, eth_getBlockTransactionCountByHash, eth_getBlockTransactionCountByNumber, eth_getUncleCountByBlockHash, eth_getUncleCountByBlockNumber.
Show
blocksobjectblocksfieldsBlock headers and bodies including transactions and uncles. Determines the available range for block retrieval. Affects: eth_getBlockByHash, eth_getBlockByNumber, eth_getBlockTransactionCountByHash, eth_getBlockTransactionCountByNumber, eth_getUncleCountByBlockHash, eth_getUncleCountByBlockNumber.
-
deleteStrategy
object
Show Option 1
Sliding window deletionobject -
disabled
booleanrequired
-
oldestBlock
stringhex encoded unsigned integer
Match pattern:
^0x(0|[1-9a-f][0-9a-f]*)$
-
additionalProperties
false
-
-
head
objectrequiredThe latest block known to the node, useful for determining sync status.
Show
headobjectheadfieldsThe latest block known to the node, useful for determining sync status.
-
hash
stringrequiredHead block hash
Match pattern:
^0x[0-9a-f]{64}$
-
number
stringrequiredHead block number
Match pattern:
^0x(0|[1-9a-f][0-9a-f]*)$
-
additionalProperties
false
-
-
logs
objectrequiredEvent logs emitted by smart contracts. Determines the available block range for log queries and filters. Affects: eth_getLogs, eth_getFilterLogs, eth_getFilterChanges, eth_newFilter.
Show
logsobjectlogsfieldsEvent logs emitted by smart contracts. Determines the available block range for log queries and filters. Affects: eth_getLogs, eth_getFilterLogs, eth_getFilterChanges, eth_newFilter.
-
deleteStrategy
object
Show Option 1
Sliding window deletionobject -
disabled
booleanrequired
-
oldestBlock
stringhex encoded unsigned integer
Match pattern:
^0x(0|[1-9a-f][0-9a-f]*)$
-
additionalProperties
false
-
-
receipts
objectrequiredTransaction execution receipts including status, gas used, and logs bloom. Determines the available range for receipt lookups. Affects: eth_getTransactionReceipt, eth_getBlockReceipts.
Show
receiptsobjectreceiptsfieldsTransaction execution receipts including status, gas used, and logs bloom. Determines the available range for receipt lookups. Affects: eth_getTransactionReceipt, eth_getBlockReceipts.
-
deleteStrategy
object
Show Option 1
Sliding window deletionobject -
disabled
booleanrequired
-
oldestBlock
stringhex encoded unsigned integer
Match pattern:
^0x(0|[1-9a-f][0-9a-f]*)$
-
additionalProperties
false
-
-
state
objectrequiredAccount and contract state including balances, nonces, code, and storage. Determines the available range for historical state queries. Affects: eth_getBalance, eth_getCode, eth_getStorageAt, eth_getTransactionCount, eth_call, eth_estimateGas, eth_createAccessList.
Show
stateobjectstatefieldsAccount and contract state including balances, nonces, code, and storage. Determines the available range for historical state queries. Affects: eth_getBalance, eth_getCode, eth_getStorageAt, eth_getTransactionCount, eth_call, eth_estimateGas, eth_createAccessList.
-
deleteStrategy
object
Show Option 1
Sliding window deletionobject -
disabled
booleanrequired
-
oldestBlock
stringhex encoded unsigned integer
Match pattern:
^0x(0|[1-9a-f][0-9a-f]*)$
-
additionalProperties
false
-
-
stateproofs
objectrequiredMerkle proofs for account and storage state. Determines the available range for proof generation. Affects: eth_getProof.
Show
stateproofsobjectstateproofsfieldsMerkle proofs for account and storage state. Determines the available range for proof generation. Affects: eth_getProof.
-
deleteStrategy
object
Show Option 1
Sliding window deletionobject -
disabled
booleanrequired
-
oldestBlock
stringhex encoded unsigned integer
Match pattern:
^0x(0|[1-9a-f][0-9a-f]*)$
-
additionalProperties
false
-
-
tx
objectrequiredTransaction data and lookup indices. Determines the available range for transaction lookups by hash or block position. Affects: eth_getTransactionByHash, eth_getTransactionByBlockHashAndIndex, eth_getTransactionByBlockNumberAndIndex.
Show
txobjecttxfieldsTransaction data and lookup indices. Determines the available range for transaction lookups by hash or block position. Affects: eth_getTransactionByHash, eth_getTransactionByBlockHashAndIndex, eth_getTransactionByBlockNumberAndIndex.
-
deleteStrategy
object
Show Option 1
Sliding window deletionobject -
disabled
booleanrequired
-
oldestBlock
stringhex encoded unsigned integer
Match pattern:
^0x(0|[1-9a-f][0-9a-f]*)$
-
additionalProperties
false
-
-
additionalProperties
false
Examples
eth_capabilities example
Request
{
"params": []
}
Response
{
"blocks": {
"disabled": false,
"oldestBlock": "0x0"
},
"head": {
"hash": "0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3",
"number": "0x13f8e3a"
},
"logs": {
"deleteStrategy": {
"retentionBlocks": "0x23dbb0",
"type": "window"
},
"disabled": false,
"oldestBlock": "0x11b340a"
},
"receipts": {
"deleteStrategy": {
"retentionBlocks": "0x23dbb0",
"type": "window"
},
"disabled": false,
"oldestBlock": "0x11b340a"
},
"state": {
"deleteStrategy": {
"retentionBlocks": "0x15f90",
"type": "window"
},
"disabled": false,
"oldestBlock": "0x13e022a"
},
"stateproofs": {
"deleteStrategy": {
"retentionBlocks": "0x15f90",
"type": "window"
},
"disabled": false,
"oldestBlock": "0x13e022a"
},
"tx": {
"deleteStrategy": {
"retentionBlocks": "0x23dbb0",
"type": "window"
},
"disabled": false,
"oldestBlock": "0x11b340a"
}
}