Nautilus Infra

The Age Verification MVP is powered by a dual-backend system, combining the strengths of Python and Rust for optimal performance and security.

Nautilus Infra

Python Backend

  • Role: Handles core verification logic.

  • Capabilities:

    • OCR for extracting ID data.

    • Facial liveness and matching for identity confirmation.

    • OTP generation and validation.

  • Output: Produces a JSON payload with verification details, sent to Kafka:

    {
      "user_wallet": "0x123abc...",
      "did_id": "age_18_plus",
      "result": "verified",
      "evidence_hash": "sha256:3f2a...9e4b",
      "verified_at": "2025-09-24T12:31:00Z"
    }

Rust Backend

  • Role: Manages blockchain integration.

  • Capabilities:

    • Consumes Kafka messages.

    • Signs payloads with Nautilus and ODA ephemeral keys.

    • Updates the smart contract to record verified users.

Why It Works

The Python backend ensures fast, reliable verification, while Rust adds secure, tamper-proof blockchain updates. Together, they create a powerful and trustworthy system.

Last updated