This very short and direct note comes (as many others) from repeating the same answer in our discord server. If you are looking to learn how withdrawals work you can take a look at the many writeups out there, like this one by Paul Harris from the Teku team. If you're interested in how to perform a withdrawal, you can read our official documentation. In this note, I will only tell you when to submit your withdrawal.
In order to withdraw any funds from the beacon chain into the execution layer (an usual Ethereum address) a validator needs to change its withdrawal credentials from a BLS type address, of the form 0x00 (31 bytes follow) to an address of the form 0x01… This message is called a BLS_TO_EXECUTION_CHANGE
henceforth referred as withdrawal or address change. The guide linked above will explain you how to generate this message, whether you need to send one (you may already have a 0x01… address) and the tools you need to gather before. This message is better generated on an airgapped computer.
What I will describe in this note is when to broadcast this message to the world and not how.
There are two parts into getting your new shinny withdrawal 0x01.. address into the beacon chain
Here are the points you need to know about this process
Deciding when to submit your address change will depend on your particular preferences. If you think your mnemonic may have been hacked, and therefore there is a risk than a hacker will try to change the withdrawal address of your validator to an Ethereum address of their choice, then you want to be in as many nodes' memory as early as possible (since these nodes will reject any hacker message by 1 above) therefore you will want to submit your change before the fork. Given point 4, if you restart your node, you will want to resubmit your message immediately after.
Notice that if you do so, you are maximizing the chances that your message will be in as many nodes' memories as possible, but these nodes will delay in including these messages in blocks (per point 6 above) and thus you will most probably see your address change latest.
If on the other hand you have kept your mnemonic safe and was never online, and you feel no one has peeked at your mnemonic, then you can safely send your address change after the fork, wait a few minutes/hours, and submit at your leisure. Because of 6) above, your address change is almost guaranteed to be included seconds after you submitted your change, and thus you will be withdrawn and enjoying your freshly minted ETH in no time. This will also give you peace of mind that you see quick confirmation on chain that you succeeded in the operation.