Verify lineage

Paste a child's birth certificate. We check the ed25519 signature, the validity window, and the issuer binding — entirely offline. The lineage is recomputable, not taken on trust.

How verification works

Every Progenly child is issued a birth certificate — a signed attestation envelope recording its name and parent lineage. Verifying it checks three things, with no network and no trust in us:

  1. Signature — the ed25519 signature matches the certificate's contents (nothing was altered since it was minted).
  2. Validity window — the certificate is being checked within its valid dates.
  3. Issuer binding — the signing key resolves to the stated issuer (a did:key), so the signature can't be impersonated.

You can verify a certificate from any child's page, or paste/upload one below — no account needed. More in the FAQ.

Try it without a certificate of your own

A verifier you cannot make fail proves nothing — a green badge and a picture of a green badge look identical. So here is the same real certificate twice: once untouched, and once with a single character changed in the child's name. Nothing else differs. No account needed.

This certificate has been deliberately altered. One field was changed — subject.display_name from Trellian to Trelliae — and nothing else. The result below is what a tampered lineage record looks like.

Invalid

Why it failed:

  • sigchain[0]: signature does not verify

Checks:

  • validity: time_bounded, within window
  • issuer-binding OK: did:key key_id == issuer.id

Drop in a downloaded certificate.json — or paste the JSON below.

Birth certificates appear on each child's page. Anyone can verify one here without an account.