Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
237 changes: 237 additions & 0 deletions docs/docs/users/reports/api_conformance/report_2026-03-06.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,237 @@
# 2026-03-06 - API Parity Report

## Legend

This report shows the status of Forest RPC methods compared to Lotus.

- ✅ **Tested**: Method has conformance tests against Lotus and passes
- ➖ **Not tested**: Method is present in both Forest and Lotus but lacks conformance tests
- N/A: Forest-specific method (not in Lotus)

**Note**: Methods without a ✅ are still fully functional in Forest but haven't been tested for conformance with Lotus, or are internal/deprecated methods.

For a complete list of all available Forest RPC methods, see [Forest JSON-RPC API Documentation](https://docs.forest.chainsafe.io/reference/json-rpc/methods).

| Method | Lotus-conformance check |
| ------------------------------------------------- | ----------------------- |
| `F3.ExportLatestSnapshot` | ➖ |
| `F3.Finalize` | ➖ |
| `F3.GetHead` | ➖ |
| `F3.GetParent` | ➖ |
| `F3.GetParticipatingMinerIDs` | ➖ |
| `F3.GetPowerTable` | ➖ |
| `F3.GetRawNetworkName` | ➖ |
| `F3.GetTipset` | ➖ |
| `F3.GetTipsetByEpoch` | ➖ |
| `F3.ProtectPeer` | ➖ |
| `F3.SignMessage` | ➖ |
| `Filecoin.AuthNew` | ✅ |
| `Filecoin.AuthVerify` | ➖ |
| `Filecoin.BeaconGetEntry` | ✅ |
| `Filecoin.ChainExport` | ➖ |
| `Filecoin.ChainGetBlock` | ✅ |
| `Filecoin.ChainGetBlockMessages` | ✅ |
| `Filecoin.ChainGetEvents` | ✅ |
| `Filecoin.ChainGetFinalizedTipSet` | ✅ |
| `Filecoin.ChainGetGenesis` | ✅ |
| `Filecoin.ChainGetMessage` | ✅ |
| `Filecoin.ChainGetMessagesInTipset` | ✅ |
| `Filecoin.ChainGetParentMessages` | ✅ |
| `Filecoin.ChainGetParentReceipts` | ✅ |
| `Filecoin.ChainGetPath` | ✅ |
| `Filecoin.ChainGetTipSet` | ✅ |
| `Filecoin.ChainGetTipSetAfterHeight` | ✅ |
| `Filecoin.ChainGetTipSetByHeight` | ✅ |
| `Filecoin.ChainHasObj` | ✅ |
| `Filecoin.ChainHead` | ✅ |
| `Filecoin.ChainReadObj` | ✅ |
| `Filecoin.ChainSetHead` | ✅ |
| `Filecoin.ChainStatObj` | ✅ |
| `Filecoin.ChainTipSetWeight` | ✅ |
| `Filecoin.EthAccounts` | ✅ |
| `Filecoin.EthAddressToFilecoinAddress` | ✅ |
| `Filecoin.EthBlockNumber` | ✅ |
| `Filecoin.EthCall` | ✅ |
| `Filecoin.EthChainId` | ✅ |
| `Filecoin.EthEstimateGas` | ✅ |
| `Filecoin.EthFeeHistory` | ✅ |
| `Filecoin.EthGasPrice` | ✅ |
| `Filecoin.EthGetBalance` | ✅ |
| `Filecoin.EthGetBlockByHash` | ✅ |
| `Filecoin.EthGetBlockByNumber` | ✅ |
| `Filecoin.EthGetBlockReceipts` | ✅ |
| `Filecoin.EthGetBlockReceiptsLimited` | ✅ |
| `Filecoin.EthGetBlockTransactionCountByHash` | ✅ |
| `Filecoin.EthGetBlockTransactionCountByNumber` | ✅ |
| `Filecoin.EthGetCode` | ✅ |
| `Filecoin.EthGetFilterChanges` | ✅ |
| `Filecoin.EthGetFilterLogs` | ✅ |
| `Filecoin.EthGetLogs` | ✅ |
| `Filecoin.EthGetMessageCidByTransactionHash` | ✅ |
| `Filecoin.EthGetStorageAt` | ✅ |
| `Filecoin.EthGetTransactionByBlockHashAndIndex` | ✅ |
| `Filecoin.EthGetTransactionByBlockNumberAndIndex` | ✅ |
| `Filecoin.EthGetTransactionByHash` | ✅ |
| `Filecoin.EthGetTransactionByHashLimited` | ✅ |
| `Filecoin.EthGetTransactionCount` | ✅ |
| `Filecoin.EthGetTransactionHashByCid` | ✅ |
| `Filecoin.EthGetTransactionReceipt` | ✅ |
| `Filecoin.EthGetTransactionReceiptLimited` | ✅ |
| `Filecoin.EthMaxPriorityFeePerGas` | ✅ |
| `Filecoin.EthNewBlockFilter` | ✅ |
| `Filecoin.EthNewFilter` | ✅ |
| `Filecoin.EthNewPendingTransactionFilter` | ✅ |
| `Filecoin.EthProtocolVersion` | ✅ |
| `Filecoin.EthSendRawTransaction` | ➖ |
| `Filecoin.EthSendRawTransactionUntrusted` | ➖ |
| `Filecoin.EthSubscribe` | ➖ |
| `Filecoin.EthSyncing` | ✅ |
| `Filecoin.EthTraceBlock` | ✅ |
| `Filecoin.EthTraceFilter` | ✅ |
| `Filecoin.EthTraceReplayBlockTransactions` | ✅ |
| `Filecoin.EthTraceTransaction` | ✅ |
| `Filecoin.EthUninstallFilter` | ✅ |
| `Filecoin.EthUnsubscribe` | ➖ |
| `Filecoin.F3GetCertificate` | ✅ |
| `Filecoin.F3GetECPowerTable` | ✅ |
| `Filecoin.F3GetF3PowerTable` | ✅ |
| `Filecoin.F3GetF3PowerTableByInstance` | ➖ |
| `Filecoin.F3GetLatestCertificate` | ✅ |
| `Filecoin.F3GetManifest` | ✅ |
| `Filecoin.F3GetOrRenewParticipationTicket` | ✅ |
| `Filecoin.F3GetProgress` | ✅ |
| `Filecoin.F3IsRunning` | ✅ |
| `Filecoin.F3ListParticipants` | ✅ |
| `Filecoin.F3Participate` | ➖ |
| `Filecoin.FilecoinAddressToEthAddress` | ✅ |
| `Filecoin.GasEstimateFeeCap` | ➖ |
| `Filecoin.GasEstimateGasLimit` | ✅ |
| `Filecoin.GasEstimateGasPremium` | ➖ |
| `Filecoin.GasEstimateMessageGas` | ✅ |
| `Filecoin.GetActorEventsRaw` | ✅ |
| `Filecoin.MarketAddBalance` | ➖ |
| `Filecoin.MinerCreateBlock` | ✅ |
| `Filecoin.MinerGetBaseInfo` | ✅ |
| `Filecoin.MpoolBatchPush` | ➖ |
| `Filecoin.MpoolBatchPushUntrusted` | ➖ |
| `Filecoin.MpoolGetNonce` | ✅ |
| `Filecoin.MpoolPending` | ✅ |
| `Filecoin.MpoolPush` | ➖ |
| `Filecoin.MpoolPushMessage` | ➖ |
| `Filecoin.MpoolPushUntrusted` | ➖ |
| `Filecoin.MpoolSelect` | ✅ |
| `Filecoin.MsigGetAvailableBalance` | ✅ |
| `Filecoin.MsigGetPending` | ✅ |
| `Filecoin.MsigGetVested` | ✅ |
| `Filecoin.MsigGetVestingSchedule` | ✅ |
| `Filecoin.NetAddrsListen` | ✅ |
| `Filecoin.NetAgentVersion` | ✅ |
| `Filecoin.NetAutoNatStatus` | ✅ |
| `Filecoin.NetConnect` | ➖ |
| `Filecoin.NetDisconnect` | ➖ |
| `Filecoin.NetFindPeer` | ➖ |
| `Filecoin.NetListening` | ✅ |
| `Filecoin.NetPeers` | ✅ |
| `Filecoin.NetProtectAdd` | ✅ |
| `Filecoin.NetProtectList` | ✅ |
| `Filecoin.NetProtectRemove` | ✅ |
| `Filecoin.NetVersion` | ✅ |
| `Filecoin.NodeStatus` | ➖ |
| `Filecoin.Session` | ✅ |
| `Filecoin.Shutdown` | ➖ |
| `Filecoin.StartTime` | ✅ |
| `Filecoin.StateAccountKey` | ✅ |
| `Filecoin.StateCall` | ✅ |
| `Filecoin.StateCirculatingSupply` | ✅ |
| `Filecoin.StateCompute` | ✅ |
| `Filecoin.StateDealProviderCollateralBounds` | ✅ |
| `Filecoin.StateDecodeParams` | ✅ |
| `Filecoin.StateGetActor` | ✅ |
| `Filecoin.StateGetAllAllocations` | ✅ |
| `Filecoin.StateGetAllClaims` | ✅ |
| `Filecoin.StateGetAllocation` | ✅ |
| `Filecoin.StateGetAllocationForPendingDeal` | ✅ |
| `Filecoin.StateGetAllocationIdForPendingDeal` | ✅ |
| `Filecoin.StateGetAllocations` | ✅ |
| `Filecoin.StateGetBeaconEntry` | ✅ |
| `Filecoin.StateGetClaim` | ✅ |
| `Filecoin.StateGetClaims` | ✅ |
| `Filecoin.StateGetID` | ✅ |
| `Filecoin.StateGetNetworkParams` | ✅ |
| `Filecoin.StateGetRandomnessDigestFromBeacon` | ✅ |
| `Filecoin.StateGetRandomnessDigestFromTickets` | ✅ |
| `Filecoin.StateGetRandomnessFromBeacon` | ✅ |
| `Filecoin.StateGetRandomnessFromTickets` | ✅ |
| `Filecoin.StateGetReceipt` | ➖ |
| `Filecoin.StateListActors` | ✅ |
| `Filecoin.StateListMessages` | ✅ |
| `Filecoin.StateListMiners` | ✅ |
| `Filecoin.StateLookupID` | ✅ |
| `Filecoin.StateLookupRobustAddress` | ✅ |
| `Filecoin.StateMarketBalance` | ✅ |
| `Filecoin.StateMarketDeals` | ✅ |
| `Filecoin.StateMarketParticipants` | ✅ |
| `Filecoin.StateMarketStorageDeal` | ✅ |
| `Filecoin.StateMinerActiveSectors` | ✅ |
| `Filecoin.StateMinerAllocated` | ✅ |
| `Filecoin.StateMinerAvailableBalance` | ✅ |
| `Filecoin.StateMinerDeadlines` | ✅ |
| `Filecoin.StateMinerFaults` | ✅ |
| `Filecoin.StateMinerInfo` | ✅ |
| `Filecoin.StateMinerInitialPledgeCollateral` | ✅ |
| `Filecoin.StateMinerInitialPledgeForSector` | ✅ |
| `Filecoin.StateMinerPartitions` | ✅ |
| `Filecoin.StateMinerPower` | ✅ |
| `Filecoin.StateMinerPreCommitDepositForPower` | ✅ |
| `Filecoin.StateMinerProvingDeadline` | ✅ |
| `Filecoin.StateMinerRecoveries` | ✅ |
| `Filecoin.StateMinerSectorAllocated` | ✅ |
| `Filecoin.StateMinerSectorCount` | ✅ |
| `Filecoin.StateMinerSectors` | ✅ |
| `Filecoin.StateNetworkName` | ✅ |
| `Filecoin.StateNetworkVersion` | ✅ |
| `Filecoin.StateReadState` | ✅ |
| `Filecoin.StateReplay` | ✅ |
| `Filecoin.StateSearchMsg` | ✅ |
| `Filecoin.StateSearchMsgLimited` | ✅ |
| `Filecoin.StateSectorExpiration` | ✅ |
| `Filecoin.StateSectorGetInfo` | ✅ |
| `Filecoin.StateSectorPartition` | ✅ |
| `Filecoin.StateSectorPreCommitInfo` | ✅ |
| `Filecoin.StateVMCirculatingSupplyInternal` | ✅ |
| `Filecoin.StateVerifiedClientStatus` | ✅ |
| `Filecoin.StateVerifiedRegistryRootKey` | ✅ |
| `Filecoin.StateVerifierStatus` | ✅ |
| `Filecoin.StateWaitMsg` | ✅ |
| `Filecoin.SyncCheckBad` | ➖ |
| `Filecoin.SyncMarkBad` | ➖ |
| `Filecoin.SyncSubmitBlock` | ➖ |
| `Filecoin.Version` | ✅ |
| `Filecoin.WalletBalance` | ✅ |
| `Filecoin.WalletDefaultAddress` | ➖ |
| `Filecoin.WalletDelete` | ➖ |
| `Filecoin.WalletExport` | ➖ |
| `Filecoin.WalletHas` | ➖ |
| `Filecoin.WalletImport` | ➖ |
| `Filecoin.WalletList` | ➖ |
| `Filecoin.WalletNew` | ➖ |
| `Filecoin.WalletSetDefault` | ➖ |
| `Filecoin.WalletSign` | ✅ |
| `Filecoin.WalletSignMessage` | ✅ |
| `Filecoin.WalletValidateAddress` | ✅ |
| `Filecoin.WalletVerify` | ✅ |
| `Filecoin.Web3ClientVersion` | ✅ |
| `Forest.ChainExport` | N/A (Forest-specific) |
| `Forest.ChainExportCancel` | N/A (Forest-specific) |
| `Forest.ChainExportDiff` | N/A (Forest-specific) |
| `Forest.ChainExportStatus` | N/A (Forest-specific) |
| `Forest.ChainGetMinBaseFee` | N/A (Forest-specific) |
| `Forest.ChainGetTipsetByParentState` | N/A (Forest-specific) |
| `Forest.EthTraceCall` | N/A (Forest-specific) |
| `Forest.NetInfo` | N/A (Forest-specific) |
| `Forest.SnapshotGC` | N/A (Forest-specific) |
| `Forest.StateActorInfo` | N/A (Forest-specific) |
| `Forest.StateCompute` | N/A (Forest-specific) |
| `Forest.StateFetchRoot` | N/A (Forest-specific) |
| `Forest.SyncSnapshotProgress` | N/A (Forest-specific) |
| `Forest.SyncStatus` | N/A (Forest-specific) |
Loading