It's mainly related to GRIN Hardforks, such as EPIC and XBG.
When you are engaged with this issue, even you have made several transactions before, you may find how to solve it.
A probable reason is your wallet was not online when you made withdrawal operation.
You can check your wallet status by the following command:
curl -X POST \
-H 'content-type: application/json' \
Replace your address with your own wallet address.
You need to keep the wallet online for several minutes to finish the process. It's recommended to keep it online for 20-30minutes.
Q: Why is my withdrawal Status “Failed”
A1: Make sure you entered the correct password.
Also empty passwords or simple passwords (like “x”) are blocked from withdrawing for your own security! (see the “Important” Section in “How to mine”)
A2: Currently withdraws only support the http listener method. This means using the CLI wallet, or an exchange such as ViteX.
A3: If you are doing a Local Withdrawal to your CLI Wallet;
is Ngrok running and listening for port 3415?
Is your Server(Node) synced?
Your wallet open and listening?
And your Wallet configuration updated so it listens to 0.0.0.0?
Honestly, then I don’t know might be time to hop on Discord and have some nice Community members help you instead =)
More Referrence cound be found and thanks to The Cool Pool.