MinervaMinerva
Documentation
Core Concepts

Circuit Templates

Built-in circuit templates for common ZK proof use cases — ESG, finance, supply chain, and identity.

Minerva ships with 10 production-ready circuit templates. Each template encodes a common real-world claim as a ZK-STARK circuit. Use them as-is or as a starting point for custom circuits built with Juno.

Available Templates

TemplateSlugGatesCategory
Age Verificationage-verificationgtIdentity
Carbon Emission Thresholdcarbon-emissionsgtESG
Diversity Rangediversity-rangerangeESG
Revenue Rangerevenue-rangerangeFinance
Solvency Checksolvency-checkgtFinance
Expense Ratio Complianceexpense-ratiomul, gtFinance
Income Thresholdincome-thresholdgtFinance
Document Authenticitydocument-authenticityhash_eqCompliance
Supply Chain Originsupply-chain-origineqSupply Chain
Employee Count Rangeemployee-countrangeCompliance

Template Details

Age Verification

Prove that an age exceeds a minimum threshold without revealing the actual age.

json
{
  "slug": "age-verification",
  "inputs": {
    "public": ["minimum_age"],
    "private": ["actual_age"]
  },
  "gates": [
    { "type": "gt", "inputs": ["actual_age", "minimum_age"], "output": "verified" }
  ]
}

Carbon Emission Threshold

Prove annual CO2 emissions are below a regulatory threshold.

json
{
  "slug": "carbon-emissions",
  "inputs": {
    "public": ["threshold_tonnes"],
    "private": ["actual_emissions_tonnes"]
  },
  "gates": [
    { "type": "gt", "inputs": ["threshold_tonnes", "actual_emissions_tonnes"], "output": "compliant" }
  ]
}

Revenue Range

Prove quarterly or annual revenue falls within a stated range.

json
{
  "slug": "revenue-range",
  "inputs": {
    "public": ["min_revenue", "max_revenue"],
    "private": ["actual_revenue"]
  },
  "gates": [
    { "type": "range", "inputs": ["actual_revenue", "min_revenue", "max_revenue"], "output": "in_range" }
  ]
}

Using a Template via API

bash
curl -X POST https://api.zkesg.com/api/v1/proofs \
  -H "Authorization: Bearer $MINERVA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "template": "carbon-emissions",
    "public_inputs": { "threshold_tonnes": 10000 },
    "private_inputs": { "actual_emissions_tonnes": 7342 }
  }'

Creating a Custom Circuit with Juno

Navigate to Ask Juno (/chat) and describe your claim in plain English. Juno generates the circuit definition and walks you through each gate.

  • Be specific about what should be public vs. private
  • State the claim clearly: "Prove X is true without revealing Y"
  • Include constraints: "value must be positive" or "both conditions must hold"
  • Juno handles up to 3-gate circuits reliably; multi-gate support is improving
Documentation
Core Concepts

Circuit Templates

Built-in circuit templates for common ZK proof use cases — ESG, finance, supply chain, and identity.

Minerva ships with 10 production-ready circuit templates. Each template encodes a common real-world claim as a ZK-STARK circuit. Use them as-is or as a starting point for custom circuits built with Juno.

Available Templates

TemplateSlugGatesCategory
Age Verificationage-verificationgtIdentity
Carbon Emission Thresholdcarbon-emissionsgtESG
Diversity Rangediversity-rangerangeESG
Revenue Rangerevenue-rangerangeFinance
Solvency Checksolvency-checkgtFinance
Expense Ratio Complianceexpense-ratiomul, gtFinance
Income Thresholdincome-thresholdgtFinance
Document Authenticitydocument-authenticityhash_eqCompliance
Supply Chain Originsupply-chain-origineqSupply Chain
Employee Count Rangeemployee-countrangeCompliance

Template Details

Age Verification

Prove that an age exceeds a minimum threshold without revealing the actual age.

json
{
  "slug": "age-verification",
  "inputs": {
    "public": ["minimum_age"],
    "private": ["actual_age"]
  },
  "gates": [
    { "type": "gt", "inputs": ["actual_age", "minimum_age"], "output": "verified" }
  ]
}

Carbon Emission Threshold

Prove annual CO2 emissions are below a regulatory threshold.

json
{
  "slug": "carbon-emissions",
  "inputs": {
    "public": ["threshold_tonnes"],
    "private": ["actual_emissions_tonnes"]
  },
  "gates": [
    { "type": "gt", "inputs": ["threshold_tonnes", "actual_emissions_tonnes"], "output": "compliant" }
  ]
}

Revenue Range

Prove quarterly or annual revenue falls within a stated range.

json
{
  "slug": "revenue-range",
  "inputs": {
    "public": ["min_revenue", "max_revenue"],
    "private": ["actual_revenue"]
  },
  "gates": [
    { "type": "range", "inputs": ["actual_revenue", "min_revenue", "max_revenue"], "output": "in_range" }
  ]
}

Using a Template via API

bash
curl -X POST https://api.zkesg.com/api/v1/proofs \
  -H "Authorization: Bearer $MINERVA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "template": "carbon-emissions",
    "public_inputs": { "threshold_tonnes": 10000 },
    "private_inputs": { "actual_emissions_tonnes": 7342 }
  }'

Creating a Custom Circuit with Juno

Navigate to Ask Juno (/chat) and describe your claim in plain English. Juno generates the circuit definition and walks you through each gate.

  • Be specific about what should be public vs. private
  • State the claim clearly: "Prove X is true without revealing Y"
  • Include constraints: "value must be positive" or "both conditions must hold"
  • Juno handles up to 3-gate circuits reliably; multi-gate support is improving