The observation
| Address | Last eight characters | Final character |
|---|---|---|
| 5yymslrt···qum3apqd | qum3apqd | d |
| 77x6lmfa···xgkmasad | xgkmasad | d |
| 7iaj3wjp···muhcdjad | muhcdjad | d |
| atmqbitg···fuj3usqd | fuj3usqd | d |
| dgkozv5m···345mopyd | 345mopyd | d |
| evwigej4···npeuosad | npeuosad | d |
| fr6bvsrc···uams2tad | uams2tad | d |
| h3h66vql···ey6gslqd | ey6gslqd | d |
| jcyjjcu4···vogxwqyd | vogxwqyd | d |
| ncmebaso···hjlf44ad | hjlf44ad | d |
| otw35cxf···i7gt5lyd | i7gt5lyd | d |
| torzon4v···qn76kiid | qn76kiid | d |
Why it happens
A version 3 onion address is not just a key. It is the key, followed by a checksum, followed by a version number, and the whole thing is then encoded in base32. The version number is a single byte and it is the same for every address of this generation ever created.
Base32 turns every five bits into one character. The version byte lands at the very end of the input, so it dominates the final character of the output. Since the version byte never changes, the final character never changes. Every version 3 onion address in existence ends the same way, not just these twelve and not just this market.
That is why the openings look nothing alike while the endings are identical. The first character comes from key material, which is random. The last comes from a constant that was decided when the address format was designed.
What it means for checking an address
It means the last character is worth nothing as a check. It matches on every genuine address and on every forged one, because a forger does not choose it either. Anybody comparing the tails of two addresses is comparing seven characters and one guaranteed match.
That sounds like a small deduction and in isolation it is. It matters because the informal check people actually perform is first four characters and last four characters, which is eight characters of a 56 character string, and now it is seven. A check that was already weak is slightly weaker than it looked.
The wider point is the one this site keeps returning to. Parts of these strings carry information and parts do not, and the parts that do not are invisible unless somebody tells you. The checksum page covers what else is hiding in there.
Questions
Do all onion addresses end with the same letter?
All version 3 addresses do, which is every address currently in use. The retired 16 character generation used a different format and did not have this property.
Can I use the ending to check an address is real?
Only in the negative. A wrong ending means the string is malformed. A right ending means nothing, because every address including a forged one has it.