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
- Risk rating
- 5
- 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— Exact 65 discovery probe using a CIP-19 base addressaddr1gx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzer5pnz75xxcrzqf96k— CIP-19 type-04 pointer address, 67 charsaddr1vx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzers66hrl8— CIP-19 type-06 enterprise address (payment only), 58 chars — near lower boundCardano address addr1vx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzers66hrl8— Exact 75 probe with explicit Cardano contextCardano withdrawal address addr1vx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzers66hrl8— Exact 85 probe with chain-specific and transfer-destination context
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 presentDatabase key addr1vx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzers66hrl8— Valid-shaped non-wallet key must remain discovery-only
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)