MinervaMinerva

Brass Tacks

Question

Is this person from an approved country?

How

Compares the private country code against the public approved code using an equality gate.

Privacy

Your specific nationality is kept private. The verifier only learns: approved or not.

KYC Attestation

★★ Intermediateidentity

Prove identity attributes meet KYC requirements without revealing personal details. Nationality, residency, or age — verified privately.

identitykyccompliance
Customize with Juno

Circuit Definition

Gates

eqcountry_code=approved_country

Public inputs

approved_country

integer

Canada (124)

Private inputs

country_code

integer · hidden

•••

Minerva converts text values to numeric representations for arithmetic circuit computation. Country code 124 = Canada (ISO 3166-1).

Test Vectors

Approved country
valid
Non-approved country
constraint_violation

MinervaFormat JSON

{
  "version": "2.0",
  "meta": {
    "name": "KYC Attestation",
    "description": "Prove KYC attributes match",
    "author": "minerva",
    "created_at": "2026-03-12",
    "tags": [
      "identity"
    ]
  },
  "circuit": {
    "gates": [
      {
        "type": "eq",
        "left": "country_code",
        "right": "approved_country"
      }
    ]
  },
  "inputs": {
    "public": {
      "approved_country": 124
    },
    "private": {
      "country_code": 124
    }
  }
}

Ready to prove?

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

Real-World Use Cases

  • Prove nationality for service access
  • Verify residency for tax compliance
  • Age + identity composite verification

About this template

Engine versionv2.0
Security level128-bit
DifficultyIntermediate
Gates1

Customize with Juno

Modify this circuit in plain language

Brass Tacks

Question

Is this person from an approved country?

How

Compares the private country code against the public approved code using an equality gate.

Privacy

Your specific nationality is kept private. The verifier only learns: approved or not.

KYC Attestation

★★ Intermediateidentity

Prove identity attributes meet KYC requirements without revealing personal details. Nationality, residency, or age — verified privately.

identitykyccompliance
Customize with Juno

Circuit Definition

Gates

eqcountry_code=approved_country

Public inputs

approved_country

integer

Canada (124)

Private inputs

country_code

integer · hidden

•••

Minerva converts text values to numeric representations for arithmetic circuit computation. Country code 124 = Canada (ISO 3166-1).

Test Vectors

Approved country
valid
Non-approved country
constraint_violation

MinervaFormat JSON

{
  "version": "2.0",
  "meta": {
    "name": "KYC Attestation",
    "description": "Prove KYC attributes match",
    "author": "minerva",
    "created_at": "2026-03-12",
    "tags": [
      "identity"
    ]
  },
  "circuit": {
    "gates": [
      {
        "type": "eq",
        "left": "country_code",
        "right": "approved_country"
      }
    ]
  },
  "inputs": {
    "public": {
      "approved_country": 124
    },
    "private": {
      "country_code": 124
    }
  }
}

Ready to prove?

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

Real-World Use Cases

  • Prove nationality for service access
  • Verify residency for tax compliance
  • Age + identity composite verification

About this template

Engine versionv2.0
Security level128-bit
DifficultyIntermediate
Gates1

Customize with Juno

Modify this circuit in plain language