Skip to main content

Architecture

This page provides a brief, high-level overview of how Hadinet Africa is built. For a deeper technical dive, see the Architecture section.

High-Level Data Flow

User (Browser)
|
v
Frontend (Next.js + Privy Wallet Auth)
|
v
Attestor Service (TEE)
|
|---> KYC Provider (Smile ID / Plaid)
| via zkFetch TLS tunnel
| generates 14 ZK proofs per request
|
|---> IPFS (Pinata) -- encrypted document storage
|
+---> Cartesi Rollup (RISC-V Linux VM)
|
+---> SQLite deterministic database
|
+---> Arbitrum L2 (settlement layer)

Key Components

ComponentRole
FrontendNext.js PWA handling wallet auth, KYC flow, dashboard, and document vault
Attestor ServiceRuns in a TEE; orchestrates KYC, creates ZK proofs, encrypts documents
KYC ProvidersSmile ID and Plaid perform the actual identity verification
Cartesi RollupFull Linux VM on-chain; stores verification records and vault metadata in SQLite
IPFS (Pinata)Decentralized storage for encrypted document files
Arbitrum L2Settlement layer providing finality, fraud proofs, and input ordering

Design Principles

  • Privacy by design — Personal data is never stored. Only non-PII metadata and ZK proofs are recorded on-chain.
  • User sovereignty — Your wallet is your identity. No registration, no passwords, no centralized accounts.
  • Verifiable computation — The Cartesi rollup is deterministic and fraud-provable via Arbitrum.
  • Defense in depth — Three layers of encryption protect data at rest, in transit, and on-chain.

Learn More