When including a payment ID with a transaction, what is the minimum length of that payment ID? And since it's only input in hexadecimal format, does that mean it only accepts A-F and 0-9 characters?
There are two kinds of Payment IDs:
- the original kind is 32 bytes long, and are plaintext on the blockchain.
- the new kind of 8 bytes long, and are encrypted on the blockchain.
The new kind are normally embedded in the address, forming an integrated address. The old kind is not, and is specified manually.
They're usually input as hexadecimal, so indeed only [0-9a-fA-F] are allowed (and a byte is represented by two hexadecimal characters, so 32 bytes -> 64 hexadecimal characters, and 8 bytes -> 16 hexadecimal characters).
Note that since payment IDs' purpose is to convey some information to the recipient (hey, this payment is from me, Alice), if you're receiving your own monero to your own wallet, you don't need one.