Age Verification

Beginneridentity

Prove you meet a minimum age requirement without revealing your actual age. The verifier learns only that you are old enough — your exact age stays private.

identityagekycprivacy
Customize with Juno

Circuit Definition

Gates

gtuser_age>minimum_age

Public inputs

minimum_age

integer

18

Private inputs

user_age

integer · hidden

•••

Test Vectors

Adult over 18
valid
Exactly 19
valid
Minor (16)
constraint_violation
Exactly 18 (not >)
constraint_violation

MinervaFormat JSON

{
  "version": "2.0",
  "meta": {
    "name": "Age Verification",
    "description": "Prove age >= minimum",
    "author": "minerva",
    "created_at": "2026-03-12",
    "tags": [
      "identity"
    ]
  },
  "circuit": {
    "gates": [
      {
        "type": "gt",
        "left": "user_age",
        "right": "minimum_age"
      }
    ]
  },
  "inputs": {
    "public": {
      "minimum_age": 18
    },
    "private": {
      "user_age": 25
    }
  }
}

Ready to prove?

Supply your private inputs and generate a cryptographic proof. Verifiers can confirm validity without seeing your data.

Real-World Use Cases

  • Age-gated content access without sharing your birthday
  • KYC compliance: prove you're 18+ without revealing DOB
  • Anonymous age-restricted service enrollment

About this template

Engine versionv2.0
Security level128-bit
DifficultyBeginner
Gates1

Customize with Juno

Modify this circuit in plain language