Cardano Address
Detects Cardano Shelley-era payment addresses: bech32-encoded with the mainnet human-readable prefix "addr1" (CIP-19 / CIP-5). The bech32 body varies with address type — enterprise (payment only) ~53 body chars, base (payment + stake) ~98 body chars, pointer in between — so the total ranges roughly 58-103 characters. The distinctive "addr1" prefix plus a long bech32 body is strong structure, gated at 85. Legacy Byron base58 (Ae2.../DdzFF...) and reward "stake1" addresses are not implemented (see report). Prefix/lengths verified against the CIP-19 test vectors.
- Type
- regex
- Engine
- universal
- Confidence
- medium
- Confidence justification
- Gated 85: the fixed "addr1" mainnet HRP combined with a long bech32 body (roughly 58-103 chars) is highly distinctive and unlikely to occur by chance, so it earns the high tier — but only when AND-gated by cryptocurrency/wallet domain context plus the noise exclusion. The bech32 checksum cannot be validated in a Purview-safe regex, so context gating is retained rather than exporting a bare tier.
- Jurisdictions
- global
- Regulations
- FATF Recommendations, AML/CTF Act (Cth)
- Frameworks
- ISO 27001, ISO 27701, SOC 2
- Data categories
- financial
- Scope
- narrow
- Platform compatibility
- Purview: Compatible, GCP DLP: Compatible, Macie: Compatible, Zscaler: Compatible, Palo Alto: Compatible, Netskope: Compatible
Pattern
\baddr1[ac-hj-np-z02-9]{50,100}\b
Corroborative evidence keywords
identifier, number, ID, transaction, transfer, payment, deposit, withdrawal, debit, credit, data record, database record, record set, data extract, data export, database table, spreadsheet, data registry, registry entry, master data (+14 more)
Proximity: 300 characters
Should match
addr1qx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzer3n0d3vllmyqwsx5wktcd8cc3sq835lu7drv2xwl2wywfgse35a3x— CIP-19 type-00 base address (payment + stake key hash), 103 chars — upper boundaddr1gx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzer5pnz75xxcrzqf96k— CIP-19 type-04 pointer address, 67 charsaddr1vx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzers66hrl8— CIP-19 type-06 enterprise address (payment only), 58 chars — near lower bound
Should not match
stake1uyehkck0lajq8gr28t9uxnuvgcqrc6070x3k9r8048z8y5gh6ffgw— Reward/stake address (stake1 HRP) — not a payment address, excluded (wrong prefix)addr1qx2fxv2— Too short (body below the 50-char minimum)addr1qx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5-pxj3jhsydzer3n0d3vllmyqwsx5wktcd8cc3sq835lu7drv2xwl2wywfgse35a3x— Hyphen breaks the run so no contiguous addr1 body exists — rejectedcardano wallet address example placeholder— Template/placeholder context should be excluded even when domain anchor words are present
Known false positives
- A long bech32 string beginning "addr1" is highly distinctive, but the bech32 checksum cannot be validated in a Purview-safe regex, so a crafted or corrupted "addr1..." string of the right length and charset would still match structurally. Mitigation: The tier is AND-gated by cryptocurrency/wallet domain context (crypto-wallet-context) within the proximity window plus a template/sample noise NOT-group. The distinctive prefix and length keep the residual collision rate very low.
References
- CIP-19 Cardano Addresses (Shelley bech32, addr1 HRP, address-type test vectors)
- CIP-5 Common Bech32 Prefixes (addr = mainnet payment address)