Skip to content
HeartBadge docs

Badge Identifier

Live

Your 20-digit ID: what it means, how it's structured, and why you can share it safely.

Every badge has a unique 20-digit identifier. This identifier is the canonical way to reference a badge — in scans, in rewards transactions, in API calls, and in any communication between members. It's safe to share, verifiable offline, and designed to be hard to mistype.

What it looks like

A badge identifier looks like this:

8470 2613 9854 1200 37

It's displayed in groups of 4 digits for readability, but the underlying value is a single 20-digit number.

Luhn checksum

The last digit of the identifier is a Luhn check digit — the same algorithm used in credit card numbers. If you mistype a digit when entering a badge identifier, the checksum will fail and the system will reject it before any lookup happens. This catches common transcription errors (swapped digits, single wrong digit) with high reliability.

What the identifier encodes

The 20-digit identifier is derived from the badge's on-chain position:

  • Collection (program). Which program the badge belongs to.
  • Group. A subdivision within the program (e.g., VIP vs. general admission).
  • Tier. The access tier within the group.
  • Sequence. The mint order within that collection/group/tier.

The full derivation path is m/721'/0'/{group}'/{tier}'/{seq}. See Derivation Paths.

Safe to share

Your badge identifier is not a secret. It's the public-facing address of your badge — like an email address or a phone number. Anyone who knows your identifier can:

  • Send you rewards
  • Look up your badge status (if you've made it public)
  • Reference you in co-sign attestations

What they can't do with just the identifier:

  • Move your rewards
  • Sign transactions as you
  • Access your private data

The identifier is the "what"; the identity key (which you hold privately) is the "how." Ownership requires both.

Where you'll see it

  • On your badge card
  • In transaction receipts when you send or receive rewards
  • In API responses when querying badge status
  • In attestation records (check-ins, co-signs)

If you ever need to reference your badge in a support request, use this identifier — it's the canonical way to look you up.