Say that I want to send money to address 46ABCD, but I incorrectly input 46ABCF, and 46ABCF is an invalid address that no seed will ever generate. Does the protocol automatically reject the transaction, or will the money be burnt?
2 Answers
Monero (and Cryptonote) addresses include a simple (32 bit) checksum, so a simple typo in the address will be detected. The checksum is embedded inside the base 58 layer, after the public keys.
If, however, you ended up making a typo which keeps the CRC identical [1], the monero would be essentially lost, since it'd require a brute force search to find the private key corresponding to that address.
[1] If we assume equiprobability, a 32 bit CRC has one chance in about 4 billion to verify on an incorrect input.
I managed to accidentally do this before, the wallet just rejected the outgoing transaction. However the address I managed to input wasn't the correct length, so it was a simple error for the wallet to detect.
I'm not sure if it would or even could check if the output address is valid from a seed. The only way to check this (that I can think of) would be an exhaustive search.
So if Monero was sent to this invalid address, the coin would likely just be trapped in the address unless someone happened to generate its keys.