---
source: src/rpc/mod.rs
expression: spec
---
openrpc: 1.3.2
info:
title: forest
version: 0.33.7
methods:
- name: Filecoin.ChainGetTipSet
description: Returns the tipset with the specified CID.
params:
- name: tipsetSelector
required: true
schema:
$ref: "#/components/schemas/TipsetSelector"
result:
name: Filecoin.ChainGetTipSet.Result
required: true
schema:
$ref: "#/components/schemas/Tipset"
paramStructure: by-position
- name: Filecoin.ChainGetTipSetFinalityStatus
description: Returns a breakdown of how the node is currently determining finality.
params: []
result:
name: Filecoin.ChainGetTipSetFinalityStatus.Result
required: true
schema:
$ref: "#/components/schemas/ChainFinalityStatus"
paramStructure: by-position
- name: Forest.ChainExport
params:
- name: params
required: true
schema:
$ref: "#/components/schemas/ForestChainExportParams"
result:
name: Forest.ChainExport.Result
required: true
schema:
$ref: "#/components/schemas/ApiExportResult"
paramStructure: by-position
- name: Forest.ChainExportDiff
params:
- name: params
required: true
schema:
$ref: "#/components/schemas/ForestChainExportDiffParams"
result:
name: Forest.ChainExportDiff.Result
required: true
schema:
type: "null"
paramStructure: by-position
- name: Forest.ChainExportStatus
params: []
result:
name: Forest.ChainExportStatus.Result
required: true
schema:
$ref: "#/components/schemas/ApiExportStatus"
paramStructure: by-position
- name: Forest.ChainExportCancel
params: []
result:
name: Forest.ChainExportCancel.Result
required: true
schema:
type: boolean
paramStructure: by-position
- name: Filecoin.EthAccounts
description: Returns the list of addresses owned by the client; always empty since Forest does not manage private keys.
params: []
result:
name: Filecoin.EthAccounts.Result
required: false
schema:
type:
- array
- "null"
items:
type: string
paramStructure: by-position
- name: eth_accounts
description: Returns the list of addresses owned by the client; always empty since Forest does not manage private keys.
params: []
result:
name: eth_accounts.Result
required: false
schema:
type:
- array
- "null"
items:
type: string
paramStructure: by-position
- name: Filecoin.EthAddressToFilecoinAddress
description: Converts an EthAddress into an f410 Filecoin Address
params:
- name: ethAddress
required: true
schema:
$ref: "#/components/schemas/EthAddress"
result:
name: Filecoin.EthAddressToFilecoinAddress.Result
required: true
schema:
$ref: "#/components/schemas/Address"
paramStructure: by-position
- name: Filecoin.FilecoinAddressToEthAddress
description: Converts any Filecoin address to an EthAddress
params:
- name: filecoinAddress
required: true
schema:
$ref: "#/components/schemas/Address"
- name: blockParam
required: true
schema:
anyOf:
- $ref: "#/components/schemas/BlockNumberOrPredefined"
- type: "null"
result:
name: Filecoin.FilecoinAddressToEthAddress.Result
required: true
schema:
$ref: "#/components/schemas/EthAddress"
paramStructure: by-position
- name: Filecoin.EthBaseFee
description: Returns the calculated base fee of the upcoming tipset in attoFIL
params: []
result:
name: Filecoin.EthBaseFee.Result
required: true
schema:
$ref: "#/components/schemas/EthBigInt"
paramStructure: by-position
- name: eth_baseFee
description: Returns the calculated base fee of the upcoming tipset in attoFIL
params: []
result:
name: eth_baseFee.Result
required: true
schema:
$ref: "#/components/schemas/EthBigInt"
paramStructure: by-position
- name: Forest.BaseFeeByHeight
description: Returns the calculated upcoming base fee of the tipset at the given height in attoFIL
params:
- name: height
required: true
schema:
type: integer
format: int64
result:
name: Forest.BaseFeeByHeight.Result
required: true
schema:
$ref: "#/components/schemas/EthBigInt"
paramStructure: by-position
- name: Filecoin.EthBlockNumber
description: "Returns the height of the latest executed tipset, which is the parent of the current head."
params: []
result:
name: Filecoin.EthBlockNumber.Result
required: true
schema:
$ref: "#/components/schemas/EthUint64"
paramStructure: by-position
- name: eth_blockNumber
description: "Returns the height of the latest executed tipset, which is the parent of the current head."
params: []
result:
name: eth_blockNumber.Result
required: true
schema:
$ref: "#/components/schemas/EthUint64"
paramStructure: by-position
- name: Filecoin.EthCall
description: "Executes a read-only message call against the given block state without creating an on-chain transaction, returning the call output."
params:
- name: tx
required: true
schema:
$ref: "#/components/schemas/EthCallMessage"
- name: blockParam
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrHash"
result:
name: Filecoin.EthCall.Result
required: true
schema:
$ref: "#/components/schemas/EthBytes"
paramStructure: by-position
- name: eth_call
description: "Executes a read-only message call against the given block state without creating an on-chain transaction, returning the call output."
params:
- name: tx
required: true
schema:
$ref: "#/components/schemas/EthCallMessage"
- name: blockParam
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrHash"
result:
name: eth_call.Result
required: true
schema:
$ref: "#/components/schemas/EthBytes"
paramStructure: by-position
- name: Filecoin.EthChainId
description: Returns the EIP-155 chain ID of the current network.
params: []
result:
name: Filecoin.EthChainId.Result
required: true
schema:
type: string
paramStructure: by-position
- name: eth_chainId
description: Returns the EIP-155 chain ID of the current network.
params: []
result:
name: eth_chainId.Result
required: true
schema:
type: string
paramStructure: by-position
- name: Filecoin.EthEstimateGas
description: Estimates the amount of gas required to execute the given transaction.
params:
- name: tx
required: true
schema:
$ref: "#/components/schemas/EthCallMessage"
- name: blockParam
required: true
schema:
anyOf:
- $ref: "#/components/schemas/BlockNumberOrHash"
- type: "null"
result:
name: Filecoin.EthEstimateGas.Result
required: true
schema:
$ref: "#/components/schemas/EthUint64"
paramStructure: by-position
- name: eth_estimateGas
description: Estimates the amount of gas required to execute the given transaction.
params:
- name: tx
required: true
schema:
$ref: "#/components/schemas/EthCallMessage"
- name: blockParam
required: true
schema:
anyOf:
- $ref: "#/components/schemas/BlockNumberOrHash"
- type: "null"
result:
name: eth_estimateGas.Result
required: true
schema:
$ref: "#/components/schemas/EthUint64"
paramStructure: by-position
- name: Filecoin.EthFeeHistory
description: "Returns historical gas information for a range of blocks, including base fee per gas, gas used ratio, and priority fee percentiles."
params:
- name: blockCount
required: true
schema:
$ref: "#/components/schemas/EthUint64"
- name: newestBlockNumber
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrPredefined"
- name: rewardPercentiles
required: true
schema:
type:
- array
- "null"
items:
type: number
format: double
result:
name: Filecoin.EthFeeHistory.Result
required: true
schema:
$ref: "#/components/schemas/EthFeeHistoryResult"
paramStructure: by-position
- name: eth_feeHistory
description: "Returns historical gas information for a range of blocks, including base fee per gas, gas used ratio, and priority fee percentiles."
params:
- name: blockCount
required: true
schema:
$ref: "#/components/schemas/EthUint64"
- name: newestBlockNumber
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrPredefined"
- name: rewardPercentiles
required: true
schema:
type:
- array
- "null"
items:
type: number
format: double
result:
name: eth_feeHistory.Result
required: true
schema:
$ref: "#/components/schemas/EthFeeHistoryResult"
paramStructure: by-position
- name: Filecoin.EthGasPrice
description: Returns the current gas price in attoFIL
params: []
result:
name: Filecoin.EthGasPrice.Result
required: true
schema:
$ref: "#/components/schemas/EthBigInt"
paramStructure: by-position
- name: eth_gasPrice
description: Returns the current gas price in attoFIL
params: []
result:
name: eth_gasPrice.Result
required: true
schema:
$ref: "#/components/schemas/EthBigInt"
paramStructure: by-position
- name: Filecoin.EthGetBalance
description: Returns the balance of an Ethereum address at the specified block state
params:
- name: address
required: true
schema:
$ref: "#/components/schemas/EthAddress"
- name: blockParam
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrHash"
result:
name: Filecoin.EthGetBalance.Result
required: true
schema:
$ref: "#/components/schemas/EthBigInt"
paramStructure: by-position
- name: eth_getBalance
description: Returns the balance of an Ethereum address at the specified block state
params:
- name: address
required: true
schema:
$ref: "#/components/schemas/EthAddress"
- name: blockParam
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrHash"
result:
name: eth_getBalance.Result
required: true
schema:
$ref: "#/components/schemas/EthBigInt"
paramStructure: by-position
- name: Filecoin.EthGetBlockByHash
description: "Retrieves a block by its hash, optionally including full transaction objects."
params:
- name: blockHash
required: true
schema:
$ref: "#/components/schemas/EthHash"
- name: fullTxInfo
required: true
schema:
type: boolean
result:
name: Filecoin.EthGetBlockByHash.Result
required: true
schema:
$ref: "#/components/schemas/Block"
paramStructure: by-position
- name: eth_getBlockByHash
description: "Retrieves a block by its hash, optionally including full transaction objects."
params:
- name: blockHash
required: true
schema:
$ref: "#/components/schemas/EthHash"
- name: fullTxInfo
required: true
schema:
type: boolean
result:
name: eth_getBlockByHash.Result
required: true
schema:
$ref: "#/components/schemas/Block"
paramStructure: by-position
- name: Filecoin.EthGetBlockByNumber
description: Retrieves a block by its number or a special tag.
params:
- name: blockParam
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrPredefined"
- name: fullTxInfo
required: true
schema:
type: boolean
result:
name: Filecoin.EthGetBlockByNumber.Result
required: true
schema:
$ref: "#/components/schemas/Block"
paramStructure: by-position
- name: eth_getBlockByNumber
description: Retrieves a block by its number or a special tag.
params:
- name: blockParam
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrPredefined"
- name: fullTxInfo
required: true
schema:
type: boolean
result:
name: eth_getBlockByNumber.Result
required: true
schema:
$ref: "#/components/schemas/Block"
paramStructure: by-position
- name: Filecoin.EthGetBlockReceipts
description: "Retrieves all transaction receipts for a block by its number, hash or a special tag."
params:
- name: blockParam
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrHash"
result:
name: Filecoin.EthGetBlockReceipts.Result
required: false
schema:
type:
- array
- "null"
items:
$ref: "#/components/schemas/EthTxReceipt"
paramStructure: by-position
- name: eth_getBlockReceipts
description: "Retrieves all transaction receipts for a block by its number, hash or a special tag."
params:
- name: blockParam
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrHash"
result:
name: eth_getBlockReceipts.Result
required: false
schema:
type:
- array
- "null"
items:
$ref: "#/components/schemas/EthTxReceipt"
paramStructure: by-position
- name: Filecoin.EthGetBlockReceiptsLimited
description: "Retrieves all transaction receipts for a block identified by its number, hash or a special tag along with an optional limit on the chain epoch for state resolution."
params:
- name: blockParam
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrHash"
- name: limit
required: true
schema:
type: integer
format: int64
result:
name: Filecoin.EthGetBlockReceiptsLimited.Result
required: false
schema:
type:
- array
- "null"
items:
$ref: "#/components/schemas/EthTxReceipt"
paramStructure: by-position
- name: eth_getBlockReceiptsLimited
description: "Retrieves all transaction receipts for a block identified by its number, hash or a special tag along with an optional limit on the chain epoch for state resolution."
params:
- name: blockParam
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrHash"
- name: limit
required: true
schema:
type: integer
format: int64
result:
name: eth_getBlockReceiptsLimited.Result
required: false
schema:
type:
- array
- "null"
items:
$ref: "#/components/schemas/EthTxReceipt"
paramStructure: by-position
- name: Filecoin.EthGetBlockTransactionCountByHash
description: Returns the number of messages in the tipset identified by the given block hash.
params:
- name: blockHash
required: true
schema:
$ref: "#/components/schemas/EthHash"
result:
name: Filecoin.EthGetBlockTransactionCountByHash.Result
required: true
schema:
$ref: "#/components/schemas/EthUint64"
paramStructure: by-position
- name: eth_getBlockTransactionCountByHash
description: Returns the number of messages in the tipset identified by the given block hash.
params:
- name: blockHash
required: true
schema:
$ref: "#/components/schemas/EthHash"
result:
name: eth_getBlockTransactionCountByHash.Result
required: true
schema:
$ref: "#/components/schemas/EthUint64"
paramStructure: by-position
- name: Filecoin.EthGetBlockTransactionCountByNumber
description: Returns the number of transactions in a block identified by its block number or a special tag.
params:
- name: blockNumber
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrPredefined"
result:
name: Filecoin.EthGetBlockTransactionCountByNumber.Result
required: true
schema:
$ref: "#/components/schemas/EthUint64"
paramStructure: by-position
- name: eth_getBlockTransactionCountByNumber
description: Returns the number of transactions in a block identified by its block number or a special tag.
params:
- name: blockNumber
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrPredefined"
result:
name: eth_getBlockTransactionCountByNumber.Result
required: true
schema:
$ref: "#/components/schemas/EthUint64"
paramStructure: by-position
- name: Filecoin.EthGetCode
description: "Retrieves the contract code at a specific address and block state, identified by its number, hash, or a special tag."
params:
- name: ethAddress
required: true
schema:
$ref: "#/components/schemas/EthAddress"
- name: blockNumberOrHash
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrHash"
result:
name: Filecoin.EthGetCode.Result
required: true
schema:
$ref: "#/components/schemas/EthBytes"
paramStructure: by-position
- name: eth_getCode
description: "Retrieves the contract code at a specific address and block state, identified by its number, hash, or a special tag."
params:
- name: ethAddress
required: true
schema:
$ref: "#/components/schemas/EthAddress"
- name: blockNumberOrHash
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrHash"
result:
name: eth_getCode.Result
required: true
schema:
$ref: "#/components/schemas/EthBytes"
paramStructure: by-position
- name: Filecoin.EthGetLogs
description: Returns event logs matching the given filter specification.
params:
- name: ethFilter
required: true
schema:
$ref: "#/components/schemas/EthFilterSpec"
result:
name: Filecoin.EthGetLogs.Result
required: true
schema:
$ref: "#/components/schemas/EthFilterResult"
paramStructure: by-position
- name: eth_getLogs
description: Returns event logs matching the given filter specification.
params:
- name: ethFilter
required: true
schema:
$ref: "#/components/schemas/EthFilterSpec"
result:
name: eth_getLogs.Result
required: true
schema:
$ref: "#/components/schemas/EthFilterResult"
paramStructure: by-position
- name: Filecoin.EthGetFilterLogs
description: Returns event logs matching the filter with the given ID that have not been collected since the last poll.
params:
- name: filterId
required: true
schema:
$ref: "#/components/schemas/FilterID"
result:
name: Filecoin.EthGetFilterLogs.Result
required: true
schema:
$ref: "#/components/schemas/EthFilterResult"
paramStructure: by-position
- name: eth_getFilterLogs
description: Returns event logs matching the filter with the given ID that have not been collected since the last poll.
params:
- name: filterId
required: true
schema:
$ref: "#/components/schemas/FilterID"
result:
name: eth_getFilterLogs.Result
required: true
schema:
$ref: "#/components/schemas/EthFilterResult"
paramStructure: by-position
- name: Filecoin.EthGetFilterChanges
description: Returns event logs which occurred since the last poll
params:
- name: filterId
required: true
schema:
$ref: "#/components/schemas/FilterID"
result:
name: Filecoin.EthGetFilterChanges.Result
required: true
schema:
$ref: "#/components/schemas/EthFilterResult"
paramStructure: by-position
- name: eth_getFilterChanges
description: Returns event logs which occurred since the last poll
params:
- name: filterId
required: true
schema:
$ref: "#/components/schemas/FilterID"
result:
name: eth_getFilterChanges.Result
required: true
schema:
$ref: "#/components/schemas/EthFilterResult"
paramStructure: by-position
- name: Filecoin.EthGetMessageCidByTransactionHash
description: Returns the CID of the Filecoin message corresponding to the given Ethereum transaction hash.
params:
- name: txHash
required: true
schema:
$ref: "#/components/schemas/EthHash"
result:
name: Filecoin.EthGetMessageCidByTransactionHash.Result
required: false
schema:
anyOf:
- $ref: "#/components/schemas/Cid"
- type: "null"
paramStructure: by-position
- name: eth_getMessageCidByTransactionHash
description: Returns the CID of the Filecoin message corresponding to the given Ethereum transaction hash.
params:
- name: txHash
required: true
schema:
$ref: "#/components/schemas/EthHash"
result:
name: eth_getMessageCidByTransactionHash.Result
required: false
schema:
anyOf:
- $ref: "#/components/schemas/Cid"
- type: "null"
paramStructure: by-position
- name: Filecoin.EthGetStorageAt
description: "Retrieves the storage value at a specific position for a contract\n at a given block state, identified by its number, hash, or a special tag."
params:
- name: ethAddress
required: true
schema:
$ref: "#/components/schemas/EthAddress"
- name: position
required: true
schema:
$ref: "#/components/schemas/EthBytes"
- name: blockNumberOrHash
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrHash"
result:
name: Filecoin.EthGetStorageAt.Result
required: true
schema:
$ref: "#/components/schemas/EthBytes"
paramStructure: by-position
- name: eth_getStorageAt
description: "Retrieves the storage value at a specific position for a contract\n at a given block state, identified by its number, hash, or a special tag."
params:
- name: ethAddress
required: true
schema:
$ref: "#/components/schemas/EthAddress"
- name: position
required: true
schema:
$ref: "#/components/schemas/EthBytes"
- name: blockNumberOrHash
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrHash"
result:
name: eth_getStorageAt.Result
required: true
schema:
$ref: "#/components/schemas/EthBytes"
paramStructure: by-position
- name: Filecoin.EthGetTransactionByHash
description: Retrieves a transaction by its hash.
params:
- name: txHash
required: true
schema:
$ref: "#/components/schemas/EthHash"
result:
name: Filecoin.EthGetTransactionByHash.Result
required: false
schema:
anyOf:
- $ref: "#/components/schemas/ApiEthTx"
- type: "null"
paramStructure: by-position
- name: eth_getTransactionByHash
description: Retrieves a transaction by its hash.
params:
- name: txHash
required: true
schema:
$ref: "#/components/schemas/EthHash"
result:
name: eth_getTransactionByHash.Result
required: false
schema:
anyOf:
- $ref: "#/components/schemas/ApiEthTx"
- type: "null"
paramStructure: by-position
- name: Filecoin.EthGetTransactionByHashLimited
description: "Retrieves a transaction by its hash, limiting state resolution to the given chain epoch."
params:
- name: txHash
required: true
schema:
$ref: "#/components/schemas/EthHash"
- name: limit
required: true
schema:
type: integer
format: int64
result:
name: Filecoin.EthGetTransactionByHashLimited.Result
required: false
schema:
anyOf:
- $ref: "#/components/schemas/ApiEthTx"
- type: "null"
paramStructure: by-position
- name: eth_getTransactionByHashLimited
description: "Retrieves a transaction by its hash, limiting state resolution to the given chain epoch."
params:
- name: txHash
required: true
schema:
$ref: "#/components/schemas/EthHash"
- name: limit
required: true
schema:
type: integer
format: int64
result:
name: eth_getTransactionByHashLimited.Result
required: false
schema:
anyOf:
- $ref: "#/components/schemas/ApiEthTx"
- type: "null"
paramStructure: by-position
- name: Filecoin.EthGetTransactionCount
description: Returns the number of transactions sent from an address (its nonce) at the specified block state.
params:
- name: sender
required: true
schema:
$ref: "#/components/schemas/EthAddress"
- name: blockParam
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrHash"
result:
name: Filecoin.EthGetTransactionCount.Result
required: true
schema:
$ref: "#/components/schemas/EthUint64"
paramStructure: by-position
- name: eth_getTransactionCount
description: Returns the number of transactions sent from an address (its nonce) at the specified block state.
params:
- name: sender
required: true
schema:
$ref: "#/components/schemas/EthAddress"
- name: blockParam
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrHash"
result:
name: eth_getTransactionCount.Result
required: true
schema:
$ref: "#/components/schemas/EthUint64"
paramStructure: by-position
- name: Filecoin.EthGetTransactionHashByCid
description: Returns the Ethereum transaction hash for the given Filecoin message CID.
params:
- name: cid
required: true
schema:
$ref: "#/components/schemas/Cid"
result:
name: Filecoin.EthGetTransactionHashByCid.Result
required: false
schema:
anyOf:
- $ref: "#/components/schemas/EthHash"
- type: "null"
paramStructure: by-position
- name: eth_getTransactionHashByCid
description: Returns the Ethereum transaction hash for the given Filecoin message CID.
params:
- name: cid
required: true
schema:
$ref: "#/components/schemas/Cid"
result:
name: eth_getTransactionHashByCid.Result
required: false
schema:
anyOf:
- $ref: "#/components/schemas/EthHash"
- type: "null"
paramStructure: by-position
- name: Filecoin.EthGetTransactionByBlockNumberAndIndex
description: Retrieves a transaction by its block number and index.
params:
- name: blockParam
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrPredefined"
- name: txIndex
required: true
schema:
$ref: "#/components/schemas/EthUint64"
result:
name: Filecoin.EthGetTransactionByBlockNumberAndIndex.Result
required: false
schema:
anyOf:
- $ref: "#/components/schemas/ApiEthTx"
- type: "null"
paramStructure: by-position
- name: eth_getTransactionByBlockNumberAndIndex
description: Retrieves a transaction by its block number and index.
params:
- name: blockParam
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrPredefined"
- name: txIndex
required: true
schema:
$ref: "#/components/schemas/EthUint64"
result:
name: eth_getTransactionByBlockNumberAndIndex.Result
required: false
schema:
anyOf:
- $ref: "#/components/schemas/ApiEthTx"
- type: "null"
paramStructure: by-position
- name: Filecoin.EthGetTransactionByBlockHashAndIndex
description: Retrieves a transaction by its block hash and index.
params:
- name: blockHash
required: true
schema:
$ref: "#/components/schemas/EthHash"
- name: txIndex
required: true
schema:
$ref: "#/components/schemas/EthUint64"
result:
name: Filecoin.EthGetTransactionByBlockHashAndIndex.Result
required: false
schema:
anyOf:
- $ref: "#/components/schemas/ApiEthTx"
- type: "null"
paramStructure: by-position
- name: eth_getTransactionByBlockHashAndIndex
description: Retrieves a transaction by its block hash and index.
params:
- name: blockHash
required: true
schema:
$ref: "#/components/schemas/EthHash"
- name: txIndex
required: true
schema:
$ref: "#/components/schemas/EthUint64"
result:
name: eth_getTransactionByBlockHashAndIndex.Result
required: false
schema:
anyOf:
- $ref: "#/components/schemas/ApiEthTx"
- type: "null"
paramStructure: by-position
- name: Filecoin.EthMaxPriorityFeePerGas
description: "Returns an estimate of the priority fee per gas (tip) needed for timely inclusion, in attoFIL."
params: []
result:
name: Filecoin.EthMaxPriorityFeePerGas.Result
required: true
schema:
$ref: "#/components/schemas/EthBigInt"
paramStructure: by-position
- name: eth_maxPriorityFeePerGas
description: "Returns an estimate of the priority fee per gas (tip) needed for timely inclusion, in attoFIL."
params: []
result:
name: eth_maxPriorityFeePerGas.Result
required: true
schema:
$ref: "#/components/schemas/EthBigInt"
paramStructure: by-position
- name: Filecoin.EthProtocolVersion
description: "Returns the current Filecoin network version, reported as the Ethereum protocol version."
params: []
result:
name: Filecoin.EthProtocolVersion.Result
required: true
schema:
$ref: "#/components/schemas/EthUint64"
paramStructure: by-position
- name: eth_protocolVersion
description: "Returns the current Filecoin network version, reported as the Ethereum protocol version."
params: []
result:
name: eth_protocolVersion.Result
required: true
schema:
$ref: "#/components/schemas/EthUint64"
paramStructure: by-position
- name: Filecoin.EthGetTransactionReceipt
description: Returns the receipt of a transaction identified by its hash.
params:
- name: txHash
required: true
schema:
$ref: "#/components/schemas/EthHash"
result:
name: Filecoin.EthGetTransactionReceipt.Result
required: false
schema:
anyOf:
- $ref: "#/components/schemas/EthTxReceipt"
- type: "null"
paramStructure: by-position
- name: eth_getTransactionReceipt
description: Returns the receipt of a transaction identified by its hash.
params:
- name: txHash
required: true
schema:
$ref: "#/components/schemas/EthHash"
result:
name: eth_getTransactionReceipt.Result
required: false
schema:
anyOf:
- $ref: "#/components/schemas/EthTxReceipt"
- type: "null"
paramStructure: by-position
- name: Filecoin.EthGetTransactionReceiptLimited
description: "Returns the receipt of a transaction identified by its hash, limiting state resolution to the given chain epoch."
params:
- name: txHash
required: true
schema:
$ref: "#/components/schemas/EthHash"
- name: limit
required: true
schema:
type: integer
format: int64
result:
name: Filecoin.EthGetTransactionReceiptLimited.Result
required: false
schema:
anyOf:
- $ref: "#/components/schemas/EthTxReceipt"
- type: "null"
paramStructure: by-position
- name: eth_getTransactionReceiptLimited
description: "Returns the receipt of a transaction identified by its hash, limiting state resolution to the given chain epoch."
params:
- name: txHash
required: true
schema:
$ref: "#/components/schemas/EthHash"
- name: limit
required: true
schema:
type: integer
format: int64
result:
name: eth_getTransactionReceiptLimited.Result
required: false
schema:
anyOf:
- $ref: "#/components/schemas/EthTxReceipt"
- type: "null"
paramStructure: by-position
- name: Filecoin.EthNewFilter
description: Installs a persistent filter for matching event logs based on the given filter spec.
params:
- name: filterSpec
required: true
schema:
$ref: "#/components/schemas/EthFilterSpec"
result:
name: Filecoin.EthNewFilter.Result
required: true
schema:
$ref: "#/components/schemas/FilterID"
paramStructure: by-position
- name: eth_newFilter
description: Installs a persistent filter for matching event logs based on the given filter spec.
params:
- name: filterSpec
required: true
schema:
$ref: "#/components/schemas/EthFilterSpec"
result:
name: eth_newFilter.Result
required: true
schema:
$ref: "#/components/schemas/FilterID"
paramStructure: by-position
- name: Filecoin.EthNewPendingTransactionFilter
description: Installs a persistent filter that tracks new messages arriving in the message pool.
params: []
result:
name: Filecoin.EthNewPendingTransactionFilter.Result
required: true
schema:
$ref: "#/components/schemas/FilterID"
paramStructure: by-position
- name: eth_newPendingTransactionFilter
description: Installs a persistent filter that tracks new messages arriving in the message pool.
params: []
result:
name: eth_newPendingTransactionFilter.Result
required: true
schema:
$ref: "#/components/schemas/FilterID"
paramStructure: by-position
- name: Filecoin.EthNewBlockFilter
description: Installs a persistent filter that tracks the arrival of new blocks.
params: []
result:
name: Filecoin.EthNewBlockFilter.Result
required: true
schema:
$ref: "#/components/schemas/FilterID"
paramStructure: by-position
- name: eth_newBlockFilter
description: Installs a persistent filter that tracks the arrival of new blocks.
params: []
result:
name: eth_newBlockFilter.Result
required: true
schema:
$ref: "#/components/schemas/FilterID"
paramStructure: by-position
- name: Filecoin.EthUninstallFilter
description: Uninstalls the filter with the given ID.
params:
- name: filterId
required: true
schema:
$ref: "#/components/schemas/FilterID"
result:
name: Filecoin.EthUninstallFilter.Result
required: true
schema:
type: boolean
paramStructure: by-position
- name: eth_uninstallFilter
description: Uninstalls the filter with the given ID.
params:
- name: filterId
required: true
schema:
$ref: "#/components/schemas/FilterID"
result:
name: eth_uninstallFilter.Result
required: true
schema:
type: boolean
paramStructure: by-position
- name: Filecoin.EthUnsubscribe
description: Cancels an existing websocket subscription identified by its subscription ID.
params: []
result:
name: Filecoin.EthUnsubscribe.Result
required: true
schema:
type: "null"
paramStructure: by-position
- name: eth_unsubscribe
description: Cancels an existing websocket subscription identified by its subscription ID.
params: []
result:
name: eth_unsubscribe.Result
required: true
schema:
type: "null"
paramStructure: by-position
- name: Filecoin.EthSubscribe
description: "Creates a websocket subscription that streams events (new heads, pending transactions, or logs) to the client."
params: []
result:
name: Filecoin.EthSubscribe.Result
required: true
schema:
type: "null"
paramStructure: by-position
- name: eth_subscribe
description: "Creates a websocket subscription that streams events (new heads, pending transactions, or logs) to the client."
params: []
result:
name: eth_subscribe.Result
required: true
schema:
type: "null"
paramStructure: by-position
- name: Filecoin.EthSyncing
description: "Returns the node's sync status, or `false` if the node is not currently syncing."
params: []
result:
name: Filecoin.EthSyncing.Result
required: true
schema:
$ref: "#/components/schemas/EthSyncingResultLotusJson"
paramStructure: by-position
- name: eth_syncing
description: "Returns the node's sync status, or `false` if the node is not currently syncing."
params: []
result:
name: eth_syncing.Result
required: true
schema:
$ref: "#/components/schemas/EthSyncingResultLotusJson"
paramStructure: by-position
- name: Filecoin.EthTraceBlock
description: Returns traces created at given block.
params:
- name: blockParam
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrHash"
result:
name: Filecoin.EthTraceBlock.Result
required: false
schema:
type:
- array
- "null"
items:
$ref: "#/components/schemas/EthBlockTrace"
paramStructure: by-position
- name: trace_block
description: Returns traces created at given block.
params:
- name: blockParam
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrHash"
result:
name: trace_block.Result
required: false
schema:
type:
- array
- "null"
items:
$ref: "#/components/schemas/EthBlockTrace"
paramStructure: by-position
- name: Forest.EthTraceCall
description: Returns parity style trace results for the given transaction.
params:
- name: tx
required: true
schema:
$ref: "#/components/schemas/EthCallMessage"
- name: traceTypes
required: true
schema:
$ref: "#/components/schemas/NonEmpty_Array_of_EthTraceType"
- name: blockParam
required: false
schema:
anyOf:
- $ref: "#/components/schemas/BlockNumberOrHash"
- type: "null"
result:
name: Forest.EthTraceCall.Result
required: true
schema:
$ref: "#/components/schemas/EthTraceResults"
paramStructure: by-position
- name: trace_call
description: Returns parity style trace results for the given transaction.
params:
- name: tx
required: true
schema:
$ref: "#/components/schemas/EthCallMessage"
- name: traceTypes
required: true
schema:
$ref: "#/components/schemas/NonEmpty_Array_of_EthTraceType"
- name: blockParam
required: false
schema:
anyOf:
- $ref: "#/components/schemas/BlockNumberOrHash"
- type: "null"
result:
name: trace_call.Result
required: true
schema:
$ref: "#/components/schemas/EthTraceResults"
paramStructure: by-position
- name: Filecoin.EthTraceFilter
description: Returns the traces for transactions matching the filter criteria.
params:
- name: filter
required: true
schema:
$ref: "#/components/schemas/EthTraceFilterCriteria"
result:
name: Filecoin.EthTraceFilter.Result
required: false
schema:
type:
- array
- "null"
items:
$ref: "#/components/schemas/EthBlockTrace"
paramStructure: by-position
- name: trace_filter
description: Returns the traces for transactions matching the filter criteria.
params:
- name: filter
required: true
schema:
$ref: "#/components/schemas/EthTraceFilterCriteria"
result:
name: trace_filter.Result
required: false
schema:
type:
- array
- "null"
items:
$ref: "#/components/schemas/EthBlockTrace"
paramStructure: by-position
- name: Filecoin.EthTraceTransaction
description: Returns the traces for a specific transaction.
params:
- name: txHash
required: true
schema:
type: string
result:
name: Filecoin.EthTraceTransaction.Result
required: false
schema:
type:
- array
- "null"
items:
$ref: "#/components/schemas/EthBlockTrace"
paramStructure: by-position
- name: trace_transaction
description: Returns the traces for a specific transaction.
params:
- name: txHash
required: true
schema:
type: string
result:
name: trace_transaction.Result
required: false
schema:
type:
- array
- "null"
items:
$ref: "#/components/schemas/EthBlockTrace"
paramStructure: by-position
- name: Forest.EthDebugTraceTransaction
description: Replays a transaction and returns execution traces in Geth-compatible format.
params:
- name: txHash
required: true
schema:
type: string
- name: opts
required: true
schema:
anyOf:
- $ref: "#/components/schemas/GethDebugTracingOptions"
- type: "null"
result:
name: Forest.EthDebugTraceTransaction.Result
required: true
schema:
$ref: "#/components/schemas/GethTrace"
paramStructure: by-position
- name: debug_traceTransaction
description: Replays a transaction and returns execution traces in Geth-compatible format.
params:
- name: txHash
required: true
schema:
type: string
- name: opts
required: true
schema:
anyOf:
- $ref: "#/components/schemas/GethDebugTracingOptions"
- type: "null"
result:
name: debug_traceTransaction.Result
required: true
schema:
$ref: "#/components/schemas/GethTrace"
paramStructure: by-position
- name: Filecoin.EthTraceReplayBlockTransactions
description: Replays all transactions in a block returning the requested traces for each transaction.
params:
- name: blockParam
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrHash"
- name: traceTypes
required: true
schema:
type:
- array
- "null"
items:
type: string
result:
name: Filecoin.EthTraceReplayBlockTransactions.Result
required: false
schema:
type:
- array
- "null"
items:
$ref: "#/components/schemas/EthReplayBlockTransactionTrace"
paramStructure: by-position
- name: trace_replayBlockTransactions
description: Replays all transactions in a block returning the requested traces for each transaction.
params:
- name: blockParam
required: true
schema:
$ref: "#/components/schemas/BlockNumberOrHash"
- name: traceTypes
required: true
schema:
type:
- array
- "null"
items:
type: string
result:
name: trace_replayBlockTransactions.Result
required: false
schema:
type:
- array
- "null"
items:
$ref: "#/components/schemas/EthReplayBlockTransactionTrace"
paramStructure: by-position
- name: Filecoin.Web3ClientVersion
description: Returns the client version string of the running node.
params: []
result:
name: Filecoin.Web3ClientVersion.Result
required: true
schema:
type: string
paramStructure: by-position
- name: web3_clientVersion
description: Returns the client version string of the running node.
params: []
result:
name: web3_clientVersion.Result
required: true
schema:
type: string
paramStructure: by-position
- name: Filecoin.EthSendRawTransaction
description: Submits a signed raw transaction to the message pool and returns its transaction hash.
params:
- name: rawTx
required: true
schema:
$ref: "#/components/schemas/EthBytes"
result:
name: Filecoin.EthSendRawTransaction.Result
required: true
schema:
$ref: "#/components/schemas/EthHash"
paramStructure: by-position
- name: eth_sendRawTransaction
description: Submits a signed raw transaction to the message pool and returns its transaction hash.
params:
- name: rawTx
required: true
schema:
$ref: "#/components/schemas/EthBytes"
result:
name: eth_sendRawTransaction.Result
required: true
schema:
$ref: "#/components/schemas/EthHash"
paramStructure: by-position
- name: Filecoin.EthSendRawTransactionUntrusted
description: Submits a signed raw transaction from an untrusted source to the message pool and returns its transaction hash.
params:
- name: rawTx
required: true
schema:
$ref: "#/components/schemas/EthBytes"
result:
name: Filecoin.EthSendRawTransactionUntrusted.Result
required: true
schema:
$ref: "#/components/schemas/EthHash"
paramStructure: by-position
- name: eth_sendRawTransactionUntrusted
description: Submits a signed raw transaction from an untrusted source to the message pool and returns its transaction hash.
params:
- name: rawTx
required: true
schema:
$ref: "#/components/schemas/EthBytes"
result:
name: eth_sendRawTransactionUntrusted.Result
required: true
schema:
$ref: "#/components/schemas/EthHash"
paramStructure: by-position
- name: Filecoin.NetListening
description: "Returns whether the node is listening for network connections (always `true`)."
params: []
result:
name: Filecoin.NetListening.Result
required: true
schema:
type: boolean
paramStructure: by-position
- name: net_listening
description: "Returns whether the node is listening for network connections (always `true`)."
params: []
result:
name: net_listening.Result
required: true
schema:
type: boolean
paramStructure: by-position
- name: Filecoin.NetVersion
description: Returns the current network ID (the EIP-155 chain ID) as a decimal string.
params: []
result:
name: Filecoin.NetVersion.Result
required: true
schema:
type: string
paramStructure: by-position
- name: net_version
description: Returns the current network ID (the EIP-155 chain ID) as a decimal string.
params: []
result:
name: net_version.Result
required: true
schema:
type: string
paramStructure: by-position
- name: Forest.NetChainExchange
description: Internal API for debugging chain exchange.
params:
- name: startTipsetKey
required: true
schema:
type:
- array
- "null"
items:
$ref: "#/components/schemas/Cid"
- name: len
required: true
schema:
type: integer
format: uint64
minimum: 0
- name: options
required: true
schema:
type: integer
format: uint64
minimum: 0
result:
name: Forest.NetChainExchange.Result
required: true
schema:
type: string
paramStructure: by-position
- name: Filecoin.StateGetActor
description: Returns the nonce and balance for the specified actor.
params:
- name: address
required: true
schema:
$ref: "#/components/schemas/Address"
- name: tipsetSelector
required: true
schema:
$ref: "#/components/schemas/TipsetSelector"
result:
name: Filecoin.StateGetActor.Result
required: false
schema:
anyOf:
- $ref: "#/components/schemas/ActorState"
- type: "null"
paramStructure: by-position
- name: Filecoin.StateGetID
description: Retrieves the ID address for the specified address at the selected tipset.
params:
- name: address
required: true
schema:
$ref: "#/components/schemas/Address"
- name: tipsetSelector
required: true
schema:
$ref: "#/components/schemas/TipsetSelector"
result:
name: Filecoin.StateGetID.Result
required: true
schema:
$ref: "#/components/schemas/Address"
paramStructure: by-position
components:
schemas:
AccountDiff:
description: "Account state diff after transaction execution.\nTracks changes to balance, nonce, code, and storage."
type: object
properties:
balance:
$ref: "#/components/schemas/Delta"
code:
$ref: "#/components/schemas/Delta2"
nonce:
$ref: "#/components/schemas/Delta3"
storage:
description: All touched/changed storage values (key -> delta)
type: object
additionalProperties:
$ref: "#/components/schemas/Delta4"
required:
- balance
- code
- nonce
- storage
AccountState:
description: "Snapshot of a single account's state at a point in time.\nAll fields are optional; absent means \"not relevant\" or \"default\"."
type: object
properties:
balance:
anyOf:
- $ref: "#/components/schemas/EthBigInt"
- type: "null"
code:
anyOf:
- $ref: "#/components/schemas/EthBytes"
- type: "null"
nonce:
anyOf:
- $ref: "#/components/schemas/EthUint64"
- type: "null"
storage:
type: object
additionalProperties:
$ref: "#/components/schemas/EthHash"
ActorState:
type: object
properties:
Balance:
$ref: "#/components/schemas/TokenAmount"
Code:
$ref: "#/components/schemas/Cid"
DelegatedAddress:
$ref: "#/components/schemas/Nullable_Address"
Head:
$ref: "#/components/schemas/Cid"
Nonce:
type: integer
format: uint64
minimum: 0
required:
- Code
- Head
- Nonce
- Balance
Address:
type: string
ApiEthTx:
type: object
properties:
accessList:
type:
- array
- "null"
items:
$ref: "#/components/schemas/EthHash"
blockHash:
$ref: "#/components/schemas/EthHash"
blockNumber:
$ref: "#/components/schemas/EthInt64"
chainId:
$ref: "#/components/schemas/EthUint64"
from:
$ref: "#/components/schemas/EthAddress"
gas:
$ref: "#/components/schemas/EthUint64"
gasPrice:
anyOf:
- $ref: "#/components/schemas/EthBigInt"
- type: "null"
hash:
$ref: "#/components/schemas/EthHash"
input:
$ref: "#/components/schemas/EthBytes"
maxFeePerGas:
anyOf:
- $ref: "#/components/schemas/EthBigInt"
- type: "null"
maxPriorityFeePerGas:
anyOf:
- $ref: "#/components/schemas/EthBigInt"
- type: "null"
nonce:
$ref: "#/components/schemas/EthUint64"
r:
$ref: "#/components/schemas/EthBigInt"
s:
$ref: "#/components/schemas/EthBigInt"
to:
anyOf:
- $ref: "#/components/schemas/EthAddress"
- type: "null"
transactionIndex:
$ref: "#/components/schemas/EthUint64"
type:
$ref: "#/components/schemas/EthUint64"
v:
$ref: "#/components/schemas/EthBigInt"
value:
$ref: "#/components/schemas/EthBigInt"
required:
- chainId
- nonce
- hash
- blockHash
- blockNumber
- transactionIndex
- from
- value
- type
- input
- gas
- v
- r
- s
ApiExportResult:
oneOf:
- type: string
enum:
- Cancelled
- type: object
properties:
Done:
type:
- string
- "null"
additionalProperties: false
required:
- Done
ApiExportStatus:
type: object
properties:
cancelled:
type: boolean
current_epoch:
type: integer
format: int64
exporting:
type: boolean
progress:
type: number
format: double
start_epoch:
type: integer
format: int64
start_time:
type:
- string
- "null"
format: date-time
required:
- progress
- exporting
- cancelled
- start_epoch
- current_epoch
Base64String:
type:
- string
- "null"
BeaconEntry:
type: object
properties:
Data:
$ref: "#/components/schemas/Base64String"
Round:
type: integer
format: uint64
minimum: 0
required:
- Round
- Data
BigInt:
type: string
Block:
type: object
properties:
baseFeePerGas:
$ref: "#/components/schemas/EthBigInt"
difficulty:
$ref: "#/components/schemas/EthUint64"
extraData:
$ref: "#/components/schemas/EthBytes"
gasLimit:
$ref: "#/components/schemas/EthUint64"
gasUsed:
$ref: "#/components/schemas/EthUint64"
hash:
$ref: "#/components/schemas/EthHash"
logsBloom:
$ref: "#/components/schemas/Bloom"
miner:
$ref: "#/components/schemas/EthAddress"
mixHash:
$ref: "#/components/schemas/EthHash"
nonce:
$ref: "#/components/schemas/Nonce"
number:
$ref: "#/components/schemas/EthInt64"
parentHash:
$ref: "#/components/schemas/EthHash"
receiptsRoot:
$ref: "#/components/schemas/EthHash"
sha3Uncles:
$ref: "#/components/schemas/EthHash"
size:
$ref: "#/components/schemas/EthUint64"
stateRoot:
$ref: "#/components/schemas/EthHash"
timestamp:
$ref: "#/components/schemas/EthUint64"
totalDifficulty:
$ref: "#/components/schemas/EthUint64"
transactions:
$ref: "#/components/schemas/Transactions"
transactionsRoot:
$ref: "#/components/schemas/EthHash"
uncles:
type: array
items:
$ref: "#/components/schemas/EthHash"
required:
- hash
- parentHash
- sha3Uncles
- miner
- stateRoot
- transactionsRoot
- receiptsRoot
- logsBloom
- difficulty
- totalDifficulty
- number
- gasLimit
- gasUsed
- timestamp
- extraData
- mixHash
- nonce
- baseFeePerGas
- size
- transactions
- uncles
BlockHash:
type: object
properties:
blockHash:
$ref: "#/components/schemas/EthHash"
requireCanonical:
type: boolean
default: false
required:
- blockHash
BlockHeader:
type: object
properties:
BLSAggregate:
$ref: "#/components/schemas/Nullable_Signature"
BeaconEntries:
$ref: "#/components/schemas/Nullable_Array_of_BeaconEntry"
BlockSig:
$ref: "#/components/schemas/Nullable_Signature"
ElectionProof:
$ref: "#/components/schemas/Nullable_ElectionProof"
ForkSignaling:
type: integer
format: uint64
minimum: 0
Height:
type: integer
format: int64
Messages:
$ref: "#/components/schemas/Cid"
Miner:
$ref: "#/components/schemas/Address"
ParentBaseFee:
$ref: "#/components/schemas/TokenAmount"
ParentMessageReceipts:
$ref: "#/components/schemas/Cid"
ParentStateRoot:
$ref: "#/components/schemas/Cid"
ParentWeight:
$ref: "#/components/schemas/BigInt"
Parents:
$ref: "#/components/schemas/NonEmpty_Array_of_Cid"
Ticket:
$ref: "#/components/schemas/Nullable_Ticket"
Timestamp:
type: integer
format: uint64
minimum: 0
WinPoStProof:
$ref: "#/components/schemas/Nullable_Array_of_PoStProof"
required:
- Miner
- BeaconEntries
- WinPoStProof
- Parents
- ParentWeight
- Height
- ParentStateRoot
- ParentMessageReceipts
- Messages
- Timestamp
- ForkSignaling
- ParentBaseFee
BlockNumber:
type: object
properties:
blockNumber:
$ref: "#/components/schemas/EthInt64"
required:
- blockNumber
BlockNumberOrHash:
anyOf:
- type: string
- $ref: "#/components/schemas/EthInt64"
- $ref: "#/components/schemas/EthHash"
- $ref: "#/components/schemas/BlockNumber"
- $ref: "#/components/schemas/BlockHash"
BlockNumberOrPredefined:
anyOf:
- type: string
- $ref: "#/components/schemas/EthInt64"
Bloom:
type: string
ChainFinalityStatus:
description: "Describes how the node is currently determining finality,\ncombining probabilistic EC finality (based on observed chain health) with\nF3 fast finality when available."
type: object
properties:
ecFinalityThresholdDepth:
description: "The shallowest epoch depth at which the\nprobability of a chain reorganization drops below 2^-30 (~one in a\nbillion). A value of -1 indicates the threshold was not met within the\nsearch range, which suggests degraded chain health."
type: integer
format: int64
ecFinalizedTipSet:
description: "The most recent tipset where the reorg probability\nis below 2^-30, based on observed block production. [`None`] if the\nthreshold is not met."
$ref: "#/components/schemas/Nullable_Tipset"
f3FinalizedTipSet:
description: "The tipset finalized by F3 (Fast Finality), if F3\nis running and has issued a certificate. [`None`] if F3 is not available."
$ref: "#/components/schemas/Nullable_Tipset"
finalizedTipSet:
description: "The overall finalized tipset used by the node,\ntaking the most recent of F3 and EC calculator results."
$ref: "#/components/schemas/Nullable_Tipset"
head:
description: The current chain head used for the computation.
$ref: "#/components/schemas/Tipset"
required:
- ecFinalityThresholdDepth
- ecFinalizedTipSet
- f3FinalizedTipSet
- finalizedTipSet
- head
ChangedType:
description: Represents a changed value with before and after states.
type: object
properties:
from:
description: Value before the change
$ref: "#/components/schemas/EthBigInt"
to:
description: Value after the change
$ref: "#/components/schemas/EthBigInt"
required:
- from
- to
ChangedType2:
description: Represents a changed value with before and after states.
type: object
properties:
from:
description: Value before the change
$ref: "#/components/schemas/EthBytes"
to:
description: Value after the change
$ref: "#/components/schemas/EthBytes"
required:
- from
- to
ChangedType3:
description: Represents a changed value with before and after states.
type: object
properties:
from:
description: Value before the change
$ref: "#/components/schemas/EthUint64"
to:
description: Value after the change
$ref: "#/components/schemas/EthUint64"
required:
- from
- to
ChangedType4:
description: Represents a changed value with before and after states.
type: object
properties:
from:
description: Value before the change
$ref: "#/components/schemas/EthHash"
to:
description: Value after the change
$ref: "#/components/schemas/EthHash"
required:
- from
- to
Cid:
type: object
properties:
/:
type: string
required:
- /
Delta:
description: Represents how a value changed during transaction execution.
oneOf:
- description: "Existing value didn't change."
type: string
const: "="
- description: A new value was added (account/storage created).
type: object
properties:
+:
$ref: "#/components/schemas/EthBigInt"
additionalProperties: false
required:
- +
- description: The existing value was removed (account/storage deleted).
type: object
properties:
"-":
$ref: "#/components/schemas/EthBigInt"
additionalProperties: false
required:
- "-"
- description: The existing value changed from one value to another.
type: object
properties:
"*":
$ref: "#/components/schemas/ChangedType"
additionalProperties: false
required:
- "*"
Delta2:
description: Represents how a value changed during transaction execution.
oneOf:
- description: "Existing value didn't change."
type: string
const: "="
- description: A new value was added (account/storage created).
type: object
properties:
+:
$ref: "#/components/schemas/EthBytes"
additionalProperties: false
required:
- +
- description: The existing value was removed (account/storage deleted).
type: object
properties:
"-":
$ref: "#/components/schemas/EthBytes"
additionalProperties: false
required:
- "-"
- description: The existing value changed from one value to another.
type: object
properties:
"*":
$ref: "#/components/schemas/ChangedType2"
additionalProperties: false
required:
- "*"
Delta3:
description: Represents how a value changed during transaction execution.
oneOf:
- description: "Existing value didn't change."
type: string
const: "="
- description: A new value was added (account/storage created).
type: object
properties:
+:
$ref: "#/components/schemas/EthUint64"
additionalProperties: false
required:
- +
- description: The existing value was removed (account/storage deleted).
type: object
properties:
"-":
$ref: "#/components/schemas/EthUint64"
additionalProperties: false
required:
- "-"
- description: The existing value changed from one value to another.
type: object
properties:
"*":
$ref: "#/components/schemas/ChangedType3"
additionalProperties: false
required:
- "*"
Delta4:
description: Represents how a value changed during transaction execution.
oneOf:
- description: "Existing value didn't change."
type: string
const: "="
- description: A new value was added (account/storage created).
type: object
properties:
+:
$ref: "#/components/schemas/EthHash"
additionalProperties: false
required:
- +
- description: The existing value was removed (account/storage deleted).
type: object
properties:
"-":
$ref: "#/components/schemas/EthHash"
additionalProperties: false
required:
- "-"
- description: The existing value changed from one value to another.
type: object
properties:
"*":
$ref: "#/components/schemas/ChangedType4"
additionalProperties: false
required:
- "*"
DiffMode:
description: "Account state differences between the transaction's pre and post-state."
type: object
properties:
post:
description: account state after the transaction is executed.
type: object
additionalProperties:
$ref: "#/components/schemas/AccountState"
pre:
description: account state before the transaction is executed.
type: object
additionalProperties:
$ref: "#/components/schemas/AccountState"
required:
- pre
- post
ElectionProof:
type: object
properties:
VRFProof:
$ref: "#/components/schemas/Base64String"
WinCount:
type: integer
format: int64
required:
- VRFProof
- WinCount
EthAddress:
type: string
EthAddressList:
description: "Represents an [`EthAddress`] or a collection of thereof. This allows the caller to either use,\ne.g., `0x1234...` or `[\"0x1234...\", \"0x5678...\"]` as the address parameter."
anyOf:
- type: array
items:
$ref: "#/components/schemas/EthAddress"
- $ref: "#/components/schemas/EthAddress"
EthBigInt:
type: string
EthBlockTrace:
type: object
properties:
action:
$ref: "#/components/schemas/TraceAction"
blockHash:
$ref: "#/components/schemas/EthHash"
blockNumber:
type: integer
format: int64
error:
type:
- string
- "null"
result:
$ref: "#/components/schemas/TraceResult"
subtraces:
type: integer
format: int64
traceAddress:
type: array
items:
type: integer
format: int64
transactionHash:
$ref: "#/components/schemas/EthHash"
transactionPosition:
type: integer
format: int64
type:
type: string
required:
- type
- subtraces
- traceAddress
- action
- result
- blockHash
- blockNumber
- transactionHash
- transactionPosition
EthBytes:
type: string
EthCallMessage:
type: object
properties:
data:
anyOf:
- $ref: "#/components/schemas/EthBytes"
- type: "null"
from:
anyOf:
- $ref: "#/components/schemas/EthAddress"
- type: "null"
gas:
anyOf:
- $ref: "#/components/schemas/EthUint64"
- type: "null"
gasPrice:
anyOf:
- $ref: "#/components/schemas/EthBigInt"
- type: "null"
input:
anyOf:
- $ref: "#/components/schemas/EthBytes"
- type: "null"
to:
anyOf:
- $ref: "#/components/schemas/EthAddress"
- type: "null"
value:
anyOf:
- $ref: "#/components/schemas/EthBigInt"
- type: "null"
EthCallTraceAction:
type: object
properties:
callType:
type: string
from:
$ref: "#/components/schemas/EthAddress"
gas:
$ref: "#/components/schemas/EthUint64"
input:
$ref: "#/components/schemas/EthBytes"
to:
anyOf:
- $ref: "#/components/schemas/EthAddress"
- type: "null"
value:
$ref: "#/components/schemas/EthBigInt"
required:
- callType
- from
- gas
- value
- input
EthCallTraceResult:
type: object
properties:
gasUsed:
$ref: "#/components/schemas/EthUint64"
output:
$ref: "#/components/schemas/EthBytes"
required:
- gasUsed
- output
EthCreateTraceAction:
type: object
properties:
from:
$ref: "#/components/schemas/EthAddress"
gas:
$ref: "#/components/schemas/EthUint64"
init:
$ref: "#/components/schemas/EthBytes"
value:
$ref: "#/components/schemas/EthBigInt"
required:
- from
- gas
- value
- init
EthCreateTraceResult:
type: object
properties:
address:
anyOf:
- $ref: "#/components/schemas/EthAddress"
- type: "null"
code:
$ref: "#/components/schemas/EthBytes"
gasUsed:
$ref: "#/components/schemas/EthUint64"
required:
- gasUsed
- code
EthFeeHistoryResult:
type: object
properties:
baseFeePerGas:
type: array
items:
$ref: "#/components/schemas/EthBigInt"
gasUsedRatio:
type: array
items:
type: number
format: double
oldestBlock:
$ref: "#/components/schemas/EthUint64"
reward:
type:
- array
- "null"
items:
type: array
items:
$ref: "#/components/schemas/EthBigInt"
required:
- oldestBlock
- baseFeePerGas
- gasUsedRatio
EthFilterResult:
description: "`EthFilterResult` represents the response from executing a filter:\n- A list of block hashes\n- A list of transaction hashes\n- Or a list of logs"
anyOf:
- type: array
items:
$ref: "#/components/schemas/EthHash"
- type: array
items:
$ref: "#/components/schemas/EthLog"
EthFilterSpec:
description: "Represents a filter specification for querying Ethereum event logs.\nThis struct can be used to specify criteria for filtering Ethereum event logs based on block range,\naddress, topics, and block hash. It is useful for making requests to Ethereum nodes to fetch logs\nthat match certain conditions.\n\n# Fields\n\n* `from_block` - Optional field interpreted as an epoch (in hex):\n - `\"latest\"`: latest mined block.\n - `\"earliest\"`: first block.\n - `\"pending\"`: blocks that have not yet been mined.\n If omitted, the default value is `\"latest\"`.\n This field is skipped during serialization if `None`.\n\n* `to_block` - Optional field interpreted as an epoch (in hex):\n - `\"latest\"`: latest mined block.\n - `\"earliest\"`: first block.\n - `\"pending\"`: blocks that have not yet been mined.\n If omitted, the default value is `\"latest\"`.\n This field is skipped during serialization if `None`.\n\n* `address` - Optional field interpreted as Actor address or a list of addresses (`Vec<EthAddress>`) from which event logs should originate.\n If the filter needs to match a single address, it can be specified as a single element vector.\n This field is required and cannot be omitted.\n\n* `topics` - List of topics (`EthTopicSpec`) to be matched in the event logs. \n\n* `block_hash` - Optional field specifying a block hash (`Hash`)\n Restricts event logs returned to those emitted from messages contained in this tipset. When `block_hash` is provided,\n neither `from_block` nor `to_block` can be specified.\n This field is skipped during serialization if `None`.\n [the spec](https://github.com/filecoin-project/lotus/blob/475139ff95407ed9d55d3a2ef87e28da66512937/chain/types/ethtypes/eth_types.go#L602-L627)."
type: object
properties:
address:
anyOf:
- $ref: "#/components/schemas/EthAddressList"
- type: "null"
blockHash:
anyOf:
- $ref: "#/components/schemas/EthHash"
- type: "null"
fromBlock:
type:
- string
- "null"
toBlock:
type:
- string
- "null"
topics:
anyOf:
- $ref: "#/components/schemas/EthTopicSpec"
- type: "null"
EthHash:
type: string
EthHashList:
description: "`EthHashList` represents a topic filter that can take one of two forms:\n- `List`: Matches if the hash is present in the vector.\n- `Single`: An optional hash, where:\n - `Some(hash)`: Matches exactly this hash.\n - `None`: Acts as a wildcard."
anyOf:
- type: array
items:
$ref: "#/components/schemas/EthHash"
- anyOf:
- $ref: "#/components/schemas/EthHash"
- type: "null"
EthInt64:
type: string
EthLog:
description: Represents the results of an event filter execution.
type: object
properties:
address:
description: The address of the actor that produced the event log.
$ref: "#/components/schemas/EthAddress"
blockHash:
description: The hash of the tipset containing the message that produced the log.
$ref: "#/components/schemas/EthHash"
blockNumber:
description: The epoch of the tipset containing the message.
$ref: "#/components/schemas/EthUint64"
data:
description: "The value of the event log, excluding topics."
$ref: "#/components/schemas/EthBytes"
logIndex:
description: "The index of the event log in the sequence of events produced by the message execution.\n(this is the index in the events AMT on the message receipt)"
$ref: "#/components/schemas/EthUint64"
removed:
description: Indicates whether the log was removed due to a chain reorganization.
type: boolean
topics:
description: List of topics associated with the event log.
type: array
items:
$ref: "#/components/schemas/EthHash"
transactionHash:
description: The hash of the RLP message that produced the event log.
$ref: "#/components/schemas/EthHash"
transactionIndex:
description: "The index in the tipset of the transaction that produced the event log.\nThe index corresponds to the sequence of messages produced by `ChainGetParentMessages`"
$ref: "#/components/schemas/EthUint64"
required:
- address
- data
- topics
- removed
- logIndex
- transactionIndex
- transactionHash
- blockHash
- blockNumber
EthReplayBlockTransactionTrace:
description: "Result payload returned by `trace_call`."
type: object
properties:
output:
description: Output bytes from the transaction execution.
$ref: "#/components/schemas/EthBytes"
stateDiff:
description: State diff showing all account changes.
anyOf:
- $ref: "#/components/schemas/StateDiff"
- type: "null"
trace:
description: Call trace hierarchy (empty when not requested).
type: array
default: []
items:
$ref: "#/components/schemas/EthTrace"
transactionHash:
$ref: "#/components/schemas/EthHash"
vmTrace:
description: "`None` because FVM does not support opcode-level VM traces."
type:
- string
- "null"
required:
- output
- transactionHash
EthSyncingResultLotusJson:
anyOf:
- type: boolean
- type: object
properties:
currentBlock:
type: integer
format: int64
highestBlock:
type: integer
format: int64
startingBlock:
type: integer
format: int64
required:
- startingBlock
- currentBlock
- highestBlock
EthTopicSpec:
type: array
items:
$ref: "#/components/schemas/EthHashList"
EthTrace:
type: object
properties:
action:
$ref: "#/components/schemas/TraceAction"
error:
type:
- string
- "null"
result:
$ref: "#/components/schemas/TraceResult"
subtraces:
type: integer
format: int64
traceAddress:
type: array
items:
type: integer
format: int64
type:
type: string
required:
- type
- subtraces
- traceAddress
- action
- result
EthTraceFilterCriteria:
type: object
properties:
after:
description: "After specifies the offset for pagination of trace results. The number of traces to skip before returning results.\nOptional, default: None."
anyOf:
- $ref: "#/components/schemas/EthUint64"
- type: "null"
count:
description: "Limits the number of traces returned.\nOptional, default: all traces."
anyOf:
- $ref: "#/components/schemas/EthUint64"
- type: "null"
fromAddress:
description: "Actor address or a list of addresses from which transactions that generate traces should originate.\nOptional, default: None.\nThe JSON decoding must treat a string as equivalent to an array with one value, for example\n\"0x8888f1f195afa192cfee86069858\" must be decoded as [ \"0x8888f1f195afa192cfee86069858\" ]"
anyOf:
- $ref: "#/components/schemas/EthAddressList"
- type: "null"
fromBlock:
description: "Interpreted as an epoch (in hex) or one of \"latest\" for last mined block, \"pending\" for not yet committed messages.\nOptional, default: \"latest\".\nNote: \"earliest\" is not a permitted value."
type:
- string
- "null"
toAddress:
description: "Actor address or a list of addresses to which transactions that generate traces are sent.\nOptional, default: None.\nThe JSON decoding must treat a string as equivalent to an array with one value, for example\n\"0x8888f1f195afa192cfee86069858\" must be decoded as [ \"0x8888f1f195afa192cfee86069858\" ]"
anyOf:
- $ref: "#/components/schemas/EthAddressList"
- type: "null"
toBlock:
description: "Interpreted as an epoch (in hex) or one of \"latest\" for last mined block, \"pending\" for not yet committed messages.\nOptional, default: \"latest\".\nNote: \"earliest\" is not a permitted value."
type:
- string
- "null"
EthTraceResults:
description: "Result payload returned by `trace_call`."
type: object
properties:
output:
description: Output bytes from the transaction execution.
$ref: "#/components/schemas/EthBytes"
stateDiff:
description: State diff showing all account changes.
anyOf:
- $ref: "#/components/schemas/StateDiff"
- type: "null"
trace:
description: Call trace hierarchy (empty when not requested).
type: array
default: []
items:
$ref: "#/components/schemas/EthTrace"
required:
- output
EthTraceType:
description: "Selects which trace outputs to include in the `trace_call` response."
oneOf:
- description: "Requests a structured call graph, showing the hierarchy of calls (e.g., `call`, `create`, `reward`)\nwith details like `from`, `to`, `gas`, `input`, `output`, and `subtraces`."
type: string
const: trace
- description: "Requests a state difference object, detailing changes to account states (e.g., `balance`, `nonce`, `storage`, `code`)\ncaused by the simulated transaction.\n\nIt shows `\"from\"` and `\"to\"` values for modified fields, using `\"+\"`, `\"-\"`, or `\"=\"` for code changes."
type: string
const: stateDiff
EthTxReceipt:
type: object
properties:
blockHash:
$ref: "#/components/schemas/EthHash"
blockNumber:
$ref: "#/components/schemas/EthInt64"
contractAddress:
anyOf:
- $ref: "#/components/schemas/EthAddress"
- type: "null"
cumulativeGasUsed:
$ref: "#/components/schemas/EthUint64"
effectiveGasPrice:
$ref: "#/components/schemas/EthBigInt"
from:
$ref: "#/components/schemas/EthAddress"
gasUsed:
$ref: "#/components/schemas/EthUint64"
logs:
type: array
items:
$ref: "#/components/schemas/EthLog"
logsBloom:
$ref: "#/components/schemas/EthBytes"
root:
$ref: "#/components/schemas/EthHash"
status:
$ref: "#/components/schemas/EthUint64"
to:
anyOf:
- $ref: "#/components/schemas/EthAddress"
- type: "null"
transactionHash:
$ref: "#/components/schemas/EthHash"
transactionIndex:
$ref: "#/components/schemas/EthUint64"
type:
$ref: "#/components/schemas/EthUint64"
required:
- transactionHash
- transactionIndex
- blockHash
- blockNumber
- from
- root
- status
- cumulativeGasUsed
- gasUsed
- effectiveGasPrice
- logsBloom
- logs
- type
EthUint64:
type: string
FilecoinSnapshotVersion:
type: string
enum:
- V1
- V2
FilterID:
$ref: "#/components/schemas/EthHash"
ForestChainExportDiffParams:
type: object
properties:
depth:
type: integer
format: int64
from:
type: integer
format: int64
output_path:
type: string
to:
type: integer
format: int64
required:
- from
- to
- depth
- output_path
ForestChainExportParams:
type: object
properties:
dry_run:
type: boolean
epoch:
type: integer
format: int64
include_events:
type: boolean
default: false
include_receipts:
type: boolean
default: false
include_tipset_keys:
type: boolean
default: false
output_path:
type: string
recent_roots:
type: integer
format: int64
skip_checksum:
type: boolean
tipset_keys:
$ref: "#/components/schemas/Nullable_Array_of_Cid"
version:
$ref: "#/components/schemas/FilecoinSnapshotVersion"
required:
- version
- epoch
- recent_roots
- output_path
- tipset_keys
- skip_checksum
- dry_run
GethCallFrame:
description: "Geth-style nested call frame returned by the `callTracer`."
type: object
properties:
calls:
type:
- array
- "null"
items:
$ref: "#/components/schemas/GethCallFrame"
error:
type:
- string
- "null"
from:
$ref: "#/components/schemas/EthAddress"
gas:
$ref: "#/components/schemas/EthUint64"
gasUsed:
$ref: "#/components/schemas/EthUint64"
input:
$ref: "#/components/schemas/EthBytes"
output:
anyOf:
- $ref: "#/components/schemas/EthBytes"
- type: "null"
revertReason:
type:
- string
- "null"
to:
anyOf:
- $ref: "#/components/schemas/EthAddress"
- type: "null"
type:
$ref: "#/components/schemas/GethCallType"
value:
anyOf:
- $ref: "#/components/schemas/EthBigInt"
- type: "null"
required:
- type
- from
- gas
- gasUsed
- input
GethCallType:
description: "EVM call/create operation type for Geth-style trace frames.\n\nMaps to the EVM opcodes: CALL, STATICCALL, DELEGATECALL, CREATE, CREATE2.\nUsed as the `type` field in [`GethCallFrame`]."
type: string
enum:
- CALL
- STATICCALL
- DELEGATECALL
- CREATE
- CREATE2
GethDebugBuiltInTracerType:
description: The Available built-in tracer.
oneOf:
- description: "The call tracer builds a hierarchical call tree, showing the hierarchy of calls (e.g., `call`, `create`, `reward`)"
type: string
const: callTracer
- description: "The flat call tracer builds a flat list of all calls, showing the hierarchy of calls (e.g., `call`, `create`, `reward`)"
type: string
const: flatCallTracer
- description: "The prestate tracer builds a state snapshot of the accounts necessary to execute the transaction, and the state after the transaction."
type: string
const: prestateTracer
- description: The noop tracer does not build any traces.
type: string
const: noopTracer
GethDebugTracingOptions:
description: "Options for the `debug_traceTransaction` API."
type: object
properties:
tracer:
description: The tracer to use for the transaction.
anyOf:
- $ref: "#/components/schemas/GethDebugBuiltInTracerType"
- type: "null"
tracerConfig:
description: "The configuration for the provided tracer.\nThe configuration is a JSON object that is specific to the tracer."
anyOf:
- $ref: "#/components/schemas/TracerConfig"
- type: "null"
GethTrace:
description: Tracing response objects
anyOf:
- description: Response object for the call tracer.
$ref: "#/components/schemas/GethCallFrame"
- description: Response object for the flat call tracer.
type: array
items:
$ref: "#/components/schemas/EthBlockTrace"
- description: Response object for the prestate tracer.
$ref: "#/components/schemas/PreStateFrame"
- description: Response object for the noop tracer.
$ref: "#/components/schemas/NoopFrame"
NonEmpty_Array_of_BlockHeader:
type: array
items:
$ref: "#/components/schemas/BlockHeader"
minItems: 1
NonEmpty_Array_of_Cid:
type: array
items:
$ref: "#/components/schemas/Cid"
minItems: 1
NonEmpty_Array_of_EthTraceType:
type: array
items:
$ref: "#/components/schemas/EthTraceType"
minItems: 1
Nonce:
type: string
NoopFrame:
description: "Empty frame returned by the `noopTracer`."
type: object
Nullable_Address:
anyOf:
- $ref: "#/components/schemas/Address"
- type: "null"
Nullable_Array_of_BeaconEntry:
type:
- array
- "null"
items:
$ref: "#/components/schemas/BeaconEntry"
Nullable_Array_of_Cid:
type:
- array
- "null"
items:
$ref: "#/components/schemas/Cid"
Nullable_Array_of_PoStProof:
type:
- array
- "null"
items:
$ref: "#/components/schemas/PoStProof"
Nullable_ElectionProof:
anyOf:
- $ref: "#/components/schemas/ElectionProof"
- type: "null"
Nullable_Signature:
anyOf:
- $ref: "#/components/schemas/Signature"
- type: "null"
Nullable_Ticket:
anyOf:
- $ref: "#/components/schemas/Ticket"
- type: "null"
Nullable_Tipset:
anyOf:
- $ref: "#/components/schemas/Tipset"
- type: "null"
PoStProof:
type: object
properties:
PoStProof:
$ref: "#/components/schemas/int64"
ProofBytes:
$ref: "#/components/schemas/Base64String"
required:
- PoStProof
- ProofBytes
PreStateFrame:
description: "Return type for the `prestateTracer`."
anyOf:
- description: "Default mode: returns the accounts necessary to execute a given transaction."
$ref: "#/components/schemas/PreStateMode"
- description: "Diff mode: returns the differences between the transaction's pre and post-state."
$ref: "#/components/schemas/DiffMode"
PreStateMode:
description: Returns the account states necessary to execute a given transaction.
type: object
additionalProperties:
$ref: "#/components/schemas/AccountState"
Signature:
type: object
properties:
Data:
$ref: "#/components/schemas/Base64String"
Type:
$ref: "#/components/schemas/SignatureTypeLotusJson"
required:
- Type
- Data
SignatureType:
description: Signature variants for Filecoin signatures.
type: string
enum:
- Secp256k1
- Bls
- Delegated
SignatureTypeLotusJson:
anyOf:
- type: integer
format: uint8
maximum: 255
minimum: 0
- $ref: "#/components/schemas/SignatureType"
StateDiff:
description: State diff containing all account changes from a transaction.
type: object
additionalProperties:
$ref: "#/components/schemas/AccountDiff"
Ticket:
type: object
properties:
VRFProof:
$ref: "#/components/schemas/Base64String"
required:
- VRFProof
Tipset:
$ref: "#/components/schemas/TipsetInner"
TipsetAnchor:
type: object
properties:
key:
$ref: "#/components/schemas/NonEmpty_Array_of_Cid"
tag:
anyOf:
- $ref: "#/components/schemas/TipsetTag"
- type: "null"
TipsetHeight:
type: object
properties:
anchor:
anyOf:
- $ref: "#/components/schemas/TipsetAnchor"
- type: "null"
at:
type: integer
format: int64
previous:
type: boolean
required:
- at
- previous
TipsetInner:
type: object
properties:
Blocks:
$ref: "#/components/schemas/NonEmpty_Array_of_BlockHeader"
Cids:
$ref: "#/components/schemas/NonEmpty_Array_of_Cid"
Height:
type: integer
format: int64
required:
- Cids
- Blocks
- Height
TipsetSelector:
type: object
properties:
height:
anyOf:
- $ref: "#/components/schemas/TipsetHeight"
- type: "null"
key:
$ref: "#/components/schemas/NonEmpty_Array_of_Cid"
tag:
anyOf:
- $ref: "#/components/schemas/TipsetTag"
- type: "null"
TipsetTag:
type: string
enum:
- latest
- finalized
- safe
TokenAmount:
$ref: "#/components/schemas/BigInt"
TraceAction:
anyOf:
- $ref: "#/components/schemas/EthCallTraceAction"
- $ref: "#/components/schemas/EthCreateTraceAction"
TraceResult:
anyOf:
- $ref: "#/components/schemas/EthCallTraceResult"
- $ref: "#/components/schemas/EthCreateTraceResult"
TracerConfig:
description: Opaque JSON blob for per-tracer configuration.
Transactions:
anyOf:
- type: array
items:
type: string
- type: array
items:
$ref: "#/components/schemas/ApiEthTx"
int64:
type: integer
format: int64