There is two main reasons why either SimpleWallet or GUI wallet rejects a transaction even if there is enough unlocked coins in the wallet:
- The transaction contains too many inputs
This can be caused either by too high anonymization level (mixin) or the wallet hasn’t been optimized recently.
To fix this, first optimize the wallet (either enable wallet optimization in settings of GUI wallet and wait until the optimization status in the settings says the wallet is optimized, or open the wallet in SimpleWallet and run “full_optimize” command).
If optimization doesn’t remote the error, lower anonymization level until the daemon accepts the transaction. If it still fails at level 0, continue to next step.
- The wallet is out of sync
This can be usually fixed by resetting the wallet and making sure the node daemon can be connected from other nodes. Daemon needs port 33802 open from internet through any firewalls (including NAT) and routers. If you can’t open ports, you need to use remote daemon to synchronize the wallet. IPv4 must be enabled and DHCP must give valid IPv4 address to the machines running node daemon and wallets.
If you have multiple machines in local area network running wallets, use single machine for the node daemon and connect to that instance from all wallets. Both SimpleWallet and GUI wallet allow using remote daemons. Compare the blockchain height displayed by wallet with blockchain height reported by official blockchain explorer. In SimpleWallet, you can see blockchain height with command “bc_height”.