Ethereum JSON-RPC
v1.0.0https://fil.nownodes.ioAuthentication
api-keyAuthapiKeyAPI Key: api-key in header
MAINNET / EVM
eth_accounts
Ethereum method - eth_accounts
Returns an array of addresses controlled by the client.
Body
jsonrpcstringrequiredJSON-RPC version identifier
methodstringrequiredName of the JSON-RPC method
paramsarrayrequiredNo parameters are required for this method. This must be an empty array.
idintegerrequiredUnique identifier for the JSON-RPC request
Response
A list of Ethereum addresses
Authorization
api-keyAuthapiKey in headereth_blockNumber
Ethereum method - eth_blockNumber
Returns the number of the latest block on the chain in hexadecimal format.
Body
jsonrpcstringrequiredThe JSON-RPC protocol version
methodstringrequiredName of the method being called
paramsarrayrequiredThis method does not take parameters; always send an empty array.
idintegerrequiredA unique ID for the request
Response
The latest block number
Authorization
api-keyAuthapiKey in headereth_call
Ethereum method - eth_call
Executes a call to a contract or address and returns the result without broadcasting a transaction.
Body
jsonrpcstringrequiredmethodstringrequiredparamsArray<object | string>requiredThe first object specifies the call transaction object. The second (optional) parameter specifies the block context.
idintegerrequiredResponse
Result of the call
Authorization
api-keyAuthapiKey in headereth_chainId
Ethereum method - eth_chainId
Returns the hexadecimal string of the current chain ID.
Body
jsonrpcstringrequiredJSON-RPC protocol version
methodstringrequiredName of the method to call
paramsarrayrequiredThis method does not require parameters. Use an empty array.
idintegerrequiredUnique identifier for the request
Response
Chain ID response
Authorization
api-keyAuthapiKey in headereth_coinbase
eth_coinbase
Returns the Ethereum coinbase address (i.e., the address that receives mining rewards).
Body
jsonrpcstringrequiredmethodstringeth_coinbaserequiredparamsarrayrequiredThis method takes no parameters.
idintegerrequiredResponse
JSON-RPC Response with the coinbase address
Authorization
api-keyAuthapiKey in headereth_estimateGas
Estimate Gas for Transaction
Simulates a transaction and returns an estimate of how much gas would be used.
Body
jsonrpcstringrequiredJSON-RPC protocol version
methodstringrequiredThe method name
paramsArray<object | string>requiredThe transaction call object and an optional block tag.
idintegerrequiredRequest identifier
Response
Estimated gas amount
Authorization
api-keyAuthapiKey in headereth_feeHistory
eth_feeHistory
Returns fee market information for a range of blocks. This is typically used by wallets and other tools to estimate appropriate gas prices.
Body
jsonrpcstringrequiredmethodstringrequiredparamsArray<string | integer | Array<number>>requiredParameters:
blockCount— number of blocks in the requested range.newestBlock— highest block number in the requested range (can be "latest").rewardPercentiles— list of percentile values to sample priority fees from each block (optional).
idintegerrequiredResponse
JSON-RPC Response with fee history data
Authorization
api-keyAuthapiKey in headereth_gasPrice
Get Suggested Gas Price
Returns the current gas price in wei as a hexadecimal string. This value is a node estimate based on recent blocks and mempool activity.
Body
jsonrpcstringrequiredJSON-RPC version
methodstringrequiredJSON-RPC method name
paramsarrayrequiredThis method takes an empty array.
idintegerrequiredRequest identifier
Response
Suggested gas price in wei
Authorization
api-keyAuthapiKey in headereth_getBalance
Get ETH Balance of an Address
Retrieves the balance (in wei) of a given Ethereum address. You can specify the block parameter to get the balance at a specific block.
Body
jsonrpcstringrequiredJSON-RPC version
methodstringrequiredJSON-RPC method name
paramsArray<string>requiredArray with 2 parameters:
- Address (20-byte hex string with '0x' prefix)
- Block tag (e.g., 'latest', 'earliest', 'pending', or block number in hex)
idintegerrequiredRequest ID
Response
Balance (in wei) as hex string
Authorization
api-keyAuthapiKey in headereth_getBlockByHash
Get Block by Hash
Returns the block information for the specified block hash. The second parameter indicates whether to return full transaction objects or just transaction hashes.
Body
jsonrpcstringrequiredJSON-RPC version
methodstringrequiredJSON-RPC method name
paramsArray<string>requiredArray of parameters:
- Block hash (string)
- Boolean flag — if true, return full transactions; if false, only hashes.
idintegerrequiredRequest ID
Response
Block information
Authorization
api-keyAuthapiKey in headereth_getBlockByNumber
Get Block by Number
Returns the block information for the specified block number. The second parameter indicates whether to return full transaction objects or just transaction hashes.
Body
jsonrpcstringrequiredJSON-RPC version
methodstringrequiredJSON-RPC method name
paramsArray<string>requiredArray of parameters:
- Block number (hex string, e.g., "0x1b4") or special tags ("latest", "earliest", "pending")
- Boolean flag — if true, return full transactions; if false, only hashes.
idintegerrequiredRequest ID
Response
Block information
Authorization
api-keyAuthapiKey in headereth_getBlockReceipts
Get All Transaction Receipts for a Block
Returns an array of transaction receipts for every transaction in the block specified by block number or block hash.
Body
jsonrpcstringrequiredJSON-RPC version
methodstringrequiredJSON-RPC method name
paramsArray<string>requiredOne parameter:
- Block identifier, which can be either:
- block number as hex string (e.g. "0x10d4f")
- or block hash as hex string (0x-prefixed)
idintegerrequiredRequest identifier
Response
Array of transaction receipts in the block
Authorization
api-keyAuthapiKey in headereth_getBlockTransactionCountByHash
Get Transaction Count by Block Hash
Returns the number of transactions contained in the block with the given hash.
Body
jsonrpcstringrequiredJSON-RPC version
methodstringrequiredJSON-RPC method name
paramsArray<string>requiredArray containing a single parameter:
- Block hash as a hex string (32 bytes with 0x prefix)
idintegerrequiredRequest ID
Response
Number of transactions in the block
Authorization
api-keyAuthapiKey in headereth_getBlockTransactionCountByNumber
Get Transaction Count by Block Number
Returns the number of transactions contained in the block with the given block number.
Body
jsonrpcstringrequiredJSON-RPC version
methodstringrequiredJSON-RPC method name
paramsArray<string>requiredArray containing a single parameter:
- Block number as a hex string (e.g. "0x10d4f" for block 69007) or
- predefined block tags such as "latest", "earliest", or "pending"
idintegerrequiredRequest ID
Response
Number of transactions in the block
Authorization
api-keyAuthapiKey in headereth_getCode
Get Contract Bytecode at Address
Returns the contract code stored at a given address. If the address is an externally owned account (EOA), it returns "0x".
Body
jsonrpcstringrequiredJSON-RPC version.
methodstringrequiredJSON-RPC method name.
paramsArray<string>requiredParameters array with two elements:
- The address to get the code for (hex string, 0x-prefixed).
- The block number or block tag (e.g., "latest", "earliest", "pending").
idintegerrequiredRequest identifier.
Response
Contract bytecode in hex format
Authorization
api-keyAuthapiKey in headereth_getFilterChanges
Get Filter Changes
Returns an array of logs that occurred since the last poll for the specified filter ID. The filter must have been previously created with eth_newFilter or eth_newBlockFilter or eth_newPendingTransactionFilter.
Body
jsonrpcstringrequiredJSON-RPC version.
methodstringrequiredJSON-RPC method name.
paramsArray<string>requiredParameters array with a single element:
- The filter ID (hex string).
idintegerrequiredRequest identifier.
Response
Array of log objects or transaction hashes depending on filter type
Authorization
api-keyAuthapiKey in headereth_getFilterLogs
Get Filter Logs
Returns all logs matching a filter with the specified filter ID. The filter must have been previously created with eth_newFilter.
Body
jsonrpcstringrequiredJSON-RPC version.
methodstringrequiredJSON-RPC method name.
paramsArray<string>requiredParameters array with one element:
- The filter ID (hex string).
idintegerrequiredRequest identifier.
Response
Array of log objects matching the filter
Authorization
api-keyAuthapiKey in headereth_getLogs
Get Logs
Returns an array of logs that match the filter criteria specified in the params. The filter object supports filtering by block range, addresses, and topics.
Body
jsonrpcstringrequiredJSON-RPC version.
methodstringrequiredJSON-RPC method name.
paramsArray<object>requiredParameters array with one element: the filter object.
idintegerrequiredRequest identifier.
Response
Array of log objects matching the filter
Authorization
api-keyAuthapiKey in headereth_getStorageAt
Get Storage At
Returns the value stored at position in the storage of the contract at address at the given blockNumber.
Body
jsonrpcstringrequiredJSON-RPC version.
methodstringrequiredJSON-RPC method name.
paramsArray<string>requiredParameters array:
- address: string - Contract address to query storage from.
- position: string - Storage slot position (hex string).
- block number: string - Block number or keywords ("latest", "earliest", "pending").
idintegerrequiredRequest identifier.
Response
Storage slot value at the specified position
Authorization
api-keyAuthapiKey in headereth_getTransactionByBlockHashAndIndex
Get Transaction by Block Hash and Index
Retrieves the transaction from a block using the block's hash and the transaction's index position within the block.
Body
jsonrpcstringrequiredmethodstringrequiredparamsArray<string>requiredParameters:
- blockHash (string): The 32-byte hash of the block.
- transactionIndex (string): The transaction index (hex).
idintegerrequiredResponse
A transaction object or null if no transaction was found.
Authorization
api-keyAuthapiKey in headereth_getTransactionByBlockNumberAndIndex
Get Transaction by Block Number and Index
Returns the information about a transaction using the block number and the transaction index within the block.
Body
jsonrpcstringrequiredmethodstringrequiredparamsArray<string>requiredParameters:
- Block number in hex format (e.g., "0x5daf3b")
- Transaction index in the block (e.g., "0x0")
idintegerrequiredResponse
A transaction object, or null if not found.
Authorization
api-keyAuthapiKey in headereth_getTransactionByHash
Get transaction by hash
Body
jsonrpcstringrequiredmethodstringrequiredparamsArray<string>requiredArray containing a single transaction hash
idintegerrequiredResponse
Transaction object or null
Authorization
api-keyAuthapiKey in headereth_getTransactionCount
Get transaction count (nonce) for address
Body
jsonrpcstringrequiredmethodstringrequiredparamsArray<string>required- address: The address to check for transaction count.
- block: The block parameter (e.g., "latest", "earliest", "pending").
idintegerrequiredResponse
Hex encoded nonce (transaction count)
Authorization
api-keyAuthapiKey in headereth_getTransactionReceipt
Get transaction receipt by hash
Body
jsonrpcstringrequiredmethodstringrequiredparamsArray<string>requiredidintegerrequiredResponse
Transaction receipt if mined, otherwise null
Authorization
api-keyAuthapiKey in headereth_getUncleByBlockHashAndIndex
Get uncle block by block hash and index
Body
jsonrpcstringrequiredmethodstringrequiredparamsArray<string>requiredblockHash: 32-byte block hashindex: the uncle index as hex (e.g., "0x0" for the first uncle)
idintegerrequiredResponse
Uncle block object or null
Authorization
api-keyAuthapiKey in headereth_getUncleByBlockNumberAndIndex
Get uncle block by block number and index
Body
jsonrpcstringrequiredmethodstringrequiredparamsArray<string>requiredblockNumber: The block number as hex string (e.g., "0x10fb78"), or "latest", "earliest", "pending".index: The uncle index as hex (e.g., "0x0" for the first uncle).
idintegerrequiredResponse
Uncle block object or null
Authorization
api-keyAuthapiKey in headereth_getUncleCountByBlockHash
Get the number of uncle blocks by block hash
Body
jsonrpcstringrequiredmethodstringrequiredparamsArray<string>requiredAn array containing the block hash.
idintegerrequiredResponse
Number of uncles in the block
Authorization
api-keyAuthapiKey in headereth_getUncleCountByBlockNumber
Get the number of uncle blocks by block number
Body
jsonrpcstringrequiredmethodstringrequiredparamsArray<string>requiredAn array containing the block number as a hex string.
idintegerrequiredResponse
Number of uncle blocks in the block
Authorization
api-keyAuthapiKey in headereth_hashrate
eth_hashrate
Returns the current mining hashrate reported by the client.
Body
jsonrpcstringrequiredmethodstringeth_hashraterequiredparamsarrayrequiredThis method takes no parameters.
idintegerrequiredResponse
JSON-RPC response with the current mining hashrate
Authorization
api-keyAuthapiKey in headereth_maxPriorityFeePerGas
Get recommended maxPriorityFeePerGas value
Body
jsonrpcstringrequiredmethodstringrequiredparamsarrayrequiredNo parameters are required.
idintegerrequiredResponse
Returns the suggested maxPriorityFeePerGas value
Authorization
api-keyAuthapiKey in headereth_mining
eth_mining
Checks whether the Ethereum client is actively mining.
Body
jsonrpcstringrequiredmethodstringeth_miningrequiredparamsarrayrequiredThis method does not accept parameters.
idintegerrequiredResponse
JSON-RPC Response indicating mining status
Authorization
api-keyAuthapiKey in headereth_newBlockFilter
Create a new block filter
Body
jsonrpcstringrequiredmethodstringrequiredparamsArray<any>requiredThis method does not require any parameters.
idintegerrequiredResponse
Filter ID created successfully
Authorization
api-keyAuthapiKey in headereth_newFilter
Create a new log filter
Body
jsonrpcstringrequiredmethodstringrequiredparamsArray<object>requiredArray with one object describing the filter options.
idintegerrequiredResponse
Filter ID created successfully
Authorization
api-keyAuthapiKey in headereth_newPendingTransactionFilter
Create a filter for pending transactions
Body
jsonrpcstringrequiredJSON-RPC version
methodstringrequiredJSON-RPC method name
paramsArray<any>requiredNo parameters required for this method
idintegerrequiredRequest identifier
Response
Filter ID created successfully
Authorization
api-keyAuthapiKey in headereth_sendRawTransaction
Send a raw signed transaction
Body
jsonrpcstringrequiredJSON-RPC version
methodstringrequiredMethod name
paramsArray<string>requiredArray containing a single signed transaction data (hex string)
idintegerrequiredRequest ID
Response
Transaction successfully sent
Authorization
api-keyAuthapiKey in headereth_sendTransaction
Send a transaction using node-managed account
Body
jsonrpcstringrequiredmethodstringrequiredparamsArray<object>requiredTransaction object
idintegerrequiredResponse
Transaction successfully sent
Authorization
api-keyAuthapiKey in headereth_sign
Sign arbitrary data using eth_sign
Body
jsonrpcstringrequiredmethodstringrequiredparamsArray<string>required[address, data]
- address: The account that will sign the data
- data: The data to be signed (must be a hex string)
idintegerrequiredResponse
Returns the signature of the message
Authorization
api-keyAuthapiKey in headereth_signTransaction
eth_signTransaction
Signs a transaction locally with the private key of the specified account.
Body
jsonrpcstringrequiredmethodstringeth_signTransactionrequiredparamsArray<object>requiredArray with a single object representing the transaction to sign.
idintegerrequiredResponse
JSON-RPC response with the signed transaction data
Authorization
api-keyAuthapiKey in headereth_syncing
Check if node is syncing
Body
jsonrpcstringrequiredmethodstringrequiredparamsarrayrequiredMust be an empty array.
idintegerrequiredResponse
Returns sync status object or false
Authorization
api-keyAuthapiKey in headereth_uninstallFilter
Uninstall an existing filter
Body
jsonrpcstringrequiredmethodstringrequiredparamsArray<string>requiredidintegerrequiredResponse
Success or failure of the uninstall operation
Authorization
api-keyAuthapiKey in headernet_listening
net_listening
Checks if the client is listening for network connections.
Body
jsonrpcstringrequiredmethodstringnet_listeningrequiredparamsarrayrequiredThis method takes no parameters.
idintegerrequiredResponse
JSON-RPC response with listening status
Authorization
api-keyAuthapiKey in headernet_peerCount
net_peerCount
Returns the number of peers currently connected to the client.
Body
jsonrpcstringrequiredmethodstringnet_peerCountrequiredparamsarrayrequiredThis method takes no parameters.
idintegerrequiredResponse
JSON-RPC response with the number of connected peers
Authorization
api-keyAuthapiKey in headernet_version
net_version
Returns the current network ID of the Ethereum client.
Body
jsonrpcstringrequiredmethodstringnet_versionrequiredparamsarrayrequiredThis method takes no parameters.
idintegerrequiredResponse
JSON-RPC response with the current network ID
Authorization
api-keyAuthapiKey in headerweb3_clientVersion
web3_clientVersion
Returns the current Ethereum client version.
Body
jsonrpcstringrequiredmethodstringweb3_clientVersionrequiredparamsarrayrequiredThis method takes no parameters.
idintegerrequiredResponse
JSON-RPC response with the client version string
Authorization
api-keyAuthapiKey in headerweb3_sha3
web3_sha3
Computes the Keccak-256 (SHA-3) hash of the given hex-encoded data.
Body
jsonrpcstringrequiredmethodstringweb3_sha3requiredparamsArray<string>requiredArray containing a single hex-encoded data string to hash.
idintegerrequiredResponse
JSON-RPC response with the Keccak-256 hash of the input data
Authorization
api-keyAuthapiKey in headerMAINNET / LOTUS
BeaconGetEntry
Filecoin.BeaconGetEntry
Returns the drand beacon entry that corresponds to the given Filecoin chain epoch. Each epoch maps to a specific drand round, and the returned entry contains the round number and the randomness data (signature) produced by the drand network.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<integer>requiredOrdered list of parameters. Contains a single element: the Filecoin chain epoch (block height) for which to retrieve the beacon entry.
idintegerrequiredAn identifier for this JSON-RPC request. The same value is echoed back in the response so the caller can correlate requests with responses.
Response
Successful response containing the beacon entry for the requested epoch.
Authorization
api-keyAuthapiKey in headerChainBlockstoreInfo
Filecoin.ChainBlockstoreInfo
Returns some basic operational information about the underlying blockstore used by the Lotus node for storing chain and state data. This is useful for monitoring disk usage and compaction activity.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<any>requiredThis method takes no parameters. The params array must be empty.
idintegerrequiredAn identifier for this JSON-RPC request. The same value is echoed back in the response.
Response
Successful response containing blockstore information.
Authorization
api-keyAuthapiKey in headerChainGetBlock
Filecoin.ChainGetBlock
Returns the block header identified by the given CID. The block header contains all consensus-critical fields including miner address, tickets, election proof, parent links, state roots, and signatures.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<object>requiredOrdered list of parameters. Contains a single CID object identifying the block to retrieve.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing the full block header.
Authorization
api-keyAuthapiKey in headerChainGetBlockMessages
Filecoin.ChainGetBlockMessages
Returns all messages that were included in the block identified by the given CID. Messages are separated into BLS-signed and SECP256K1-signed categories. A combined list of all message CIDs is also returned.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<object>requiredOrdered list of parameters. Contains a single CID object identifying the block whose messages to retrieve.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing BLS messages, SECP256K1 signed messages, and a combined CID list.
Authorization
api-keyAuthapiKey in headerChainGetGenesis
Filecoin.ChainGetGenesis
Returns the genesis tipset, which is the very first tipset at epoch 0 that bootstraps the entire Filecoin blockchain. The genesis block contains the initial state of the network including the initial actor balances, verified registry, and system actors.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<any>requiredThis method takes no parameters. The params array must be empty.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing the genesis tipset.
Authorization
api-keyAuthapiKey in headerChainGetMessage
Filecoin.ChainGetMessage
Reads a message from the chain blockstore by its CID. This returns the unsigned message body regardless of whether it was originally signed with BLS or SECP256K1. The message contains all fields necessary for execution including sender, recipient, value transfer, gas parameters, and actor method invocation details.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<object>requiredOrdered list of parameters. Contains a single CID object identifying the message to retrieve.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing the message.
Authorization
api-keyAuthapiKey in headerChainGetMessagesInTipset
Filecoin.ChainGetMessagesInTipset
Returns all unique messages from all blocks in the specified tipset. Messages that appear in multiple blocks within the same tipset are de-duplicated (each message is returned only once). Each entry includes the message itself and its CID.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<Array<object>>requiredOrdered list of parameters. Contains a single tipset key (array of block CIDs) identifying the tipset.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing de-duplicated messages from the tipset.
Authorization
api-keyAuthapiKey in headerChainGetNode
Filecoin.ChainGetNode
Fetches an IPLD (InterPlanetary Linked Data) node from the blockstore using a CID-based path. The path starts with a CID and may include slash-separated field names to traverse deeper into the CBOR DAG structure. Returns both the resolved CID and the deserialized object.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<string>requiredOrdered list of parameters. Contains a single string: the IPLD path starting with a CID, optionally followed by slash-separated field names to traverse.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing the resolved IPLD node.
Authorization
api-keyAuthapiKey in headerChainGetParentMessages
Filecoin.ChainGetParentMessages
Returns all messages from the parent tipset of the given block CID. These are the messages that were executed to produce the state that the given block builds on top of. Each entry includes the message CID and the full message body.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<object>requiredOrdered list of parameters. Contains a single CID object identifying the block whose parent messages to retrieve.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing the parent tipset's messages.
Authorization
api-keyAuthapiKey in headerChainGetParentReceipts
Filecoin.ChainGetParentReceipts
Returns the message execution receipts for all messages in the parent tipset of the given block. The receipts are ordered to correspond one-to-one with the messages returned by ChainGetParentMessages for the same block CID.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<object>requiredOrdered list of parameters. Contains a single CID object identifying the block whose parent receipts to retrieve.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing an array of message execution receipts.
Authorization
api-keyAuthapiKey in headerChainGetPath
Filecoin.ChainGetPath
Computes the path of tipset changes (revert and apply operations) required to traverse from one tipset to another. This is useful for determining what state transitions need to be undone and re-applied when the chain head changes, particularly during chain reorganizations.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<Array<object>>requiredOrdered list of parameters containing two tipset keys. The first is the source tipset and the second is the destination tipset.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing the path of head changes between the two tipsets.
Authorization
api-keyAuthapiKey in headerChainGetRandomnessFromBeacon
Filecoin.ChainGetRandomnessFromBeacon
Returns randomness derived from the drand beacon at the specified epoch. The randomness is computed by hashing the beacon entry with a domain separation tag (personalization) and optional additional entropy. This is used for various protocol operations such as sector sealing and proof generation.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<Array<object> | integer | integer | string>requiredOrdered list of parameters: tipset key, domain separation tag, epoch, and additional entropy.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing the derived randomness value.
Authorization
api-keyAuthapiKey in headerChainGetRandomnessFromTickets
Filecoin.ChainGetRandomnessFromTickets
Returns randomness derived from the chain tickets at the specified epoch. Ticket-based randomness uses the VRF ticket from block headers as the entropy source. The randomness is mixed with a domain separation tag and optional additional entropy for protocol-specific use.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<Array<object> | integer | integer | string>requiredOrdered list of parameters: tipset key, domain separation tag, epoch, and additional entropy.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing the derived randomness value.
Authorization
api-keyAuthapiKey in headerChainGetTipSet
Filecoin.ChainGetTipSet
Returns the tipset identified by the given tipset key (array of block CIDs). A tipset is the set of blocks that were mined at the same chain height by different miners. The returned object contains the CIDs, full block headers, and the epoch height.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<Array<object>>requiredOrdered list of parameters. Contains a single tipset key (array of block CIDs).
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing the full tipset.
Authorization
api-keyAuthapiKey in headerChainGetTipSetAfterHeight
Filecoin.ChainGetTipSetAfterHeight
Returns the first non-null tipset at or after the specified epoch. If no blocks were mined at the exact requested height (a null round), it searches forward until it finds a tipset with blocks. The search starts from the given reference tipset.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<integer | Array<object>>requiredOrdered list of parameters: the target epoch and a reference tipset key.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing the tipset at or after the requested height.
Authorization
api-keyAuthapiKey in headerChainGetTipSetByHeight
Filecoin.ChainGetTipSetByHeight
Returns the tipset at the specified chain epoch (height). If the tipset at the requested height is null (no blocks were mined at that epoch), it returns the most recent non-null tipset below the requested height. When the tipset key parameter is null, the current chain head is used as the reference point.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<integer | Array<object>>requiredOrdered list of parameters: the target epoch and an optional reference tipset key.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing the tipset at the requested height.
Authorization
api-keyAuthapiKey in headerChainHasObj
Filecoin.ChainHasObj
Checks whether a CBOR object identified by the given CID exists in the node's chain blockstore. Returns true if the object is present, false otherwise. This can be used to verify data availability before attempting to read it.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<object>requiredOrdered list of parameters. Contains a single CID object to check.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response indicating whether the object exists.
Authorization
api-keyAuthapiKey in headerChainHead
Filecoin.ChainHead
Returns the current heaviest tipset (chain head) as tracked by this node. The chain head represents the latest consensus state of the Filecoin blockchain. It is updated every ~30 seconds as new blocks are produced.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<any>requiredThis method takes no parameters.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing the current chain head tipset.
Authorization
api-keyAuthapiKey in headerChainReadObj
Filecoin.ChainReadObj
Reads the raw CBOR-encoded bytes of an object from the chain blockstore identified by its CID. Returns the raw bytes as a base64-encoded string. This is a low-level method useful for debugging or when you need the raw serialized form of an on-chain object.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<object>requiredOrdered list of parameters. Contains a single CID object.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing the raw CBOR bytes of the object.
Authorization
api-keyAuthapiKey in headerChainStatObj
Filecoin.ChainStatObj
Computes statistics (total size in bytes and number of IPLD links) for the DAG (Directed Acyclic Graph) rooted at the first CID parameter. If a second CID is provided, it returns the stats for the difference between the two DAGs (i.e., objects reachable from the first CID but not from the second).
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<object>requiredOrdered list of parameters: the target CID and a base CID for computing the diff.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing DAG statistics.
Authorization
api-keyAuthapiKey in headerChainTipSetWeight
Filecoin.ChainTipSetWeight
Computes and returns the chain weight of the specified tipset. Weight is a measure of the total amount of work contributed to the chain up to and including this tipset. It is used by the expected consensus protocol to determine the heaviest (canonical) chain.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<Array<object>>requiredOrdered list of parameters. Contains a single tipset key.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing the tipset weight.
Authorization
api-keyAuthapiKey in headerDiscover
Filecoin.Discover
Returns the OpenRPC service discovery document for the Lotus RPC API. This document describes all available methods, their parameters, result types, and links to source code. It follows the OpenRPC specification and can be used by tools to auto-generate client libraries or documentation.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<any>requiredThis method takes no parameters.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing the OpenRPC discovery document.
Authorization
api-keyAuthapiKey in headerID
Filecoin.ID
Returns the libp2p peer identity (Peer ID) of this Filecoin node. The Peer ID is a unique cryptographic identifier derived from the node's public key and is used for peer-to-peer network communication, peer discovery, and connection authentication.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<any>requiredThis method takes no parameters.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing the node's libp2p peer ID.
Authorization
api-keyAuthapiKey in headerMinerGetBaseInfo
Filecoin.MinerGetBaseInfo
Returns mining base information for a specific miner at a given epoch, looking back from the provided tipset. This includes the miner's power, the sectors eligible for winning PoSt, and the beacon entries needed to construct a valid block. Returns null if the miner has no power at the given tipset.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<string | integer | Array<object>>requiredOrdered list of parameters: miner address, target epoch, and reference tipset key.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing mining base info, or null if the miner has no eligible power.
Authorization
api-keyAuthapiKey in headerMpoolGetNonce
Filecoin.MpoolGetNonce
Returns the next available nonce for the specified address. This takes into account both the confirmed on-chain nonce and any pending messages in the local message pool (mempool). The returned nonce is the value that should be used for the next message from this address.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<string>requiredOrdered list of parameters. Contains a single address string.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing the next nonce.
Authorization
api-keyAuthapiKey in headerMpoolPending
Filecoin.MpoolPending
Returns all pending messages in the message pool that are valid for the specified tipset. The message pool (mpool) is a local cache of pending messages that miners use to select transactions for inclusion in new blocks. Messages remain in the pool until they are included in a block, replaced by a higher gas message, or pruned.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<Array<object>>requiredOrdered list of parameters. Contains a single tipset key which specifies the chain state for message validity check.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing array of pending signed messages.
Authorization
api-keyAuthapiKey in headerStateAccountKey
Filecoin.StateAccountKey
Returns the public key address (f1 or f3) associated with an account actor. This method resolves ID addresses (f0) to their corresponding public key addresses. It only works for account actors; calling it on non-account actors (miners, multisigs, etc.) will result in an error.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<string | array>requiredOrdered list of parameters containing the address to lookup and an optional tipset key.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing the public key address.
Authorization
api-keyAuthapiKey in headerStateCall
Filecoin.StateCall
Performs a dry-run execution of a message against the specified chain state without persisting any changes. This is useful for gas estimation, testing contract calls, debugging failed transactions, and validating message parameters before actual submission.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<object | array>requiredOrdered list containing the message to simulate and an optional tipset key for state context.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response with detailed execution results.
Authorization
api-keyAuthapiKey in headerStateLookupID
Filecoin.StateLookupID
Resolves any Filecoin address to its corresponding on-chain ID address (f0 format). ID addresses are compact numeric identifiers assigned to actors when they are created on-chain. This method is useful for normalizing addresses, optimizing message size, and looking up actor state. Returns an error if the address does not exist on-chain.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<string | array>requiredOrdered list containing the address to resolve and an optional tipset key for state context.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing the ID address.
Authorization
api-keyAuthapiKey in headerStateReadState
Filecoin.StateReadState
Reads the complete state of an actor from the chain state tree. Returns the actor's balance, code CID (which determines the actor type), and internal state data. The state structure varies depending on the actor type (account, miner, multisig, payment channel, etc.).
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<string | array>requiredOrdered list containing the actor address and an optional tipset key for state context.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing the actor's state.
Authorization
api-keyAuthapiKey in headerStateReplay
Filecoin.StateReplay
Re-executes a message that was already included in the chain to retrieve detailed execution information including traces and gas costs. Unlike StateSearchMsg which returns the stored receipt, StateReplay actually re-runs the execution providing full traces for debugging and analysis.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<Array<object> | object>requiredOrdered list containing the tipset key for execution context and the message CID to replay.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response with execution replay results. Structure is identical to StateCall response including message, receipt, gas costs, and full execution traces.
Authorization
api-keyAuthapiKey in headerStateSearchMsg
Filecoin.StateSearchMsg
Searches the blockchain for a message by its CID and returns the message receipt along with the tipset where it was included. The search starts from the specified tipset and proceeds backwards. Can optionally find messages that were replaced by another message with the same nonce but higher gas.
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<array | object | integer | boolean>requiredOrdered list containing tipset key, message CID, lookback limit, and allowReplaced flag.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing message lookup result. Returns null if the message was not found within the search range.
Authorization
api-keyAuthapiKey in headerWalletBalance
Filecoin.WalletBalance
Returns the current FIL balance for any Filecoin address. The balance is returned in attoFIL (the smallest unit, where 1 FIL = 10^18 attoFIL). Supports all address types including f0 (ID), f1 (SECP256K1), f2 (Actor), f3 (BLS), and f4 (Delegated/Ethereum-compatible).
Body
jsonrpcstringrequiredJSON-RPC protocol version. Must always be "2.0".
methodstringrequiredThe name of the JSON-RPC method to invoke.
paramsArray<string>requiredOrdered list of parameters. Contains a single address string.
idintegerrequiredAn identifier for this JSON-RPC request.
Response
Successful response containing the account balance.
Authorization
api-keyAuthapiKey in header