Matching wallet addresses by shared string

I’m working on a scipt that watches for payments based on a whitelist of ADA addresses. The issue I’m looking to resolve is, someone sends an agreed amount from Daedalus, it may or may not send from the address they provided for the whitelist. I noticed however, that all 103 length addresses within a single wallet, share a common string of characters.

What I’m wondering is where I can find documentation on this and particularly on when and why this is the case, and parameters around it…like always the characters 4 from the end and 60 from the beginning will always match, so I can use a trim mechanism in my app to trip down 103 length addresses and whitelist their shared quality.

The constant character string is most of the Bech32 encoding of the hash on the stake public key. See CIPs/ at master · cardano-foundation/CIPs · GitHub.


This precisely got me all squared away, thank you again for your help @bwbush



I came across this similar problem while trying out some new stuff for automating minting transactions. I’m also just a beginner when it comes to coding and still learning everything bit by bit. Would you care to elaborate on how you did this?

I tried to read the link sent by @bwbush but it seems too advanced for me. Any response would be very much appreciated. Cheers!