FilOz Blog
The F3 Journey: Now that F3 is active on Mainnet, there are follow-up steps to take…

Steve Loeppky (@big_lep)
As of epoch 4919580, F3 is active on Mainnet! Finality is now just a couple of minutes away — a huge step forward for the Filecoin network.
🎬 Action Required
As a result, node operators should set the initial power table CID so that they don’t need to rely on past blockchain state to compute this. Failure to do so will cause nodes without historical state leading up to the bootstrap epoch 2025-04-29T10:00:00Z to not participate in F3. Setting the initial power table CID can be accomplished via two means:
- Upgrade to the Lotus 1.32.3 on your Lotus Chain Node. This small patch sets the initial power table in the build constants (diff).
Storage providers only need to upgrade their Lotus chain node to this release. - Set the
F3_INITIAL_POWERTABLE_CIDenvironment variable to:export F3_INITIAL_POWERTABLE_CID="bafy2bzacecklgxd2eksmodvhgurqvorkg3wamgqkrunir3al2gchv2cikgmbu"before starting your node.
❓ Why is this necessary?
During the bootstrap process, F3 began its operation at epoch 4918680, taking the power table from the state at that epoch to start finalising tipsets. The first certificate refers to the above power table by CID, but there can be many first certificates, and their distinguishing factor is which power table they were created by. The above CID is the genesis information of F3 for Filecoin’s Mainnet, and thus the node requires it to distinguish it from any other possible certificate sequence.
As long as the node possesses the full state for epoch 4918680, it can use that state to begin following the certificate sequence, but without it, the node needs a direction telling it “F3 started with power table with this CID”.
❓ Why wasn’t this included in the f3 activation contract, where all the other F3 activation parameters were set?
The F3 activation contract was designed with the mindset to “have as small a scope as necessary”. As a result, the initial power table CID wasn’t included. In retrospect, it may have been wise for the contract to have a second method to allow the implementers to set-once-and-only-once the power table CID after the bootstrap epoch.
❓ Does the F3 engineering team have the ability to perform any kind of passive testing or parameter adjusting on mainnet?
No, we are back to the permissionless network that we know and love. Per FRC-0099, the F3 activation contract was a use-once mechanism. Given that the bootstrap epoch has passed, the contract is now immutable.
👀 Looking ahead
With F3 active on Mainnet, it’s time for builders to start planning to take advantage of these new capabilities. The upcoming Lotus 1.33.0 release (RC1 targeting 2025–05–01) exposes v2 APIs that are F3-aware. Your input on these APIs is welcome in the #fil-implementers Slack channel or this issue.
F3 implementers are active on various post-activation cleanup tasks, including inlining all the activation parameters, removing dead code, and augmenting snapshots with F3 information.
As always, please don’t hesitate to reach out in #fil-fast-finality if you have questions! 🙏
