MinervaMinerva

Brass Tacks

Question

Does this person meet the minimum age requirement?

How

Compares your actual age against the threshold using a greater-than gate — outputs true/false.

Privacy

Your exact age stays private. The verifier only learns: yes or no.

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 years

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

Brass Tacks

Question

Does this person meet the minimum age requirement?

How

Compares your actual age against the threshold using a greater-than gate — outputs true/false.

Privacy

Your exact age stays private. The verifier only learns: yes or no.

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 years

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