Privacy First's Identity Layerfor Solana.
Private by design. Verifiable on demand. Zero personal data stored — anywhere. Nigeria's first ZK identity protocol, built for dApps on Solana.
- NIN never leaves your device
- ·
- Proof verified on Solana
- ·
- 0 bytes of personal data stored
Entered by user · stays on device
Every Nigerian dApp reinvents KYC. And gets it wrong.
Storing Sensitive Data
Every app that collects NIN or BVN becomes a target. One breach exposes thousands of Nigerians. The liability is enormous. The trust damage is permanent.
Verify Again. And Again.
Users submit the same documents to every new dApp. Every platform builds its own KYC pipeline. The ecosystem fragments. Users burn out. Adoption suffers.
No Shared Infrastructure
There is no shared identity layer for African dApps on Solana. Every team solves the same problem independently, expensively, and badly.
Althea solves all three. permanently.
Verify for each app. The proof lives on Solana. Forever.
Althea is not an app. It is infrastructure. A ZK identity protocol any Solana dApp plugs into. One SDK. Five functions. Zero data stored.
User
Enters NIN or BVN
Althea Backend
Verifies with our KYC provider · Signs credential · Stores nothing
ZK Circuit
Runs in browser · Generates proof · Wipes credential
Anchor program
Verifies proof · Stores nullifier · Issues attestation
User Wallet
Holds AttestationRecord · Portable · Permanent
Any dApp
Reads attestation · User is in · Zero data seen
User
Enters NIN or BVN
Althea Backend
Verifies with our KYC provider · Signs credential · Stores nothing
ZK Circuit
Runs in browser · Generates proof · Wipes credential
Anchor program
Verifies proof · Stores nullifier · Issues attestation
User Wallet
Holds AttestationRecord · Portable · Permanent
Any dApp
Reads attestation · User is in · Zero data seen
What never leaves your device: your NIN, your BVN, your name, your date of birth, your face.
What goes on-chain: a mathematical proof. Nothing else.
Prove everything. Reveal nothing.
Zero-Knowledge proofs let you prove a statement is true without revealing the underlying information. Althea uses Groth16 proofs with Poseidon hashing — the same cryptography securing billions in DeFi.
Your credential stays private
When your NIN is confirmed by the provider, Althea creates a signed credential in your browser's memory. It contains your verified facts — nationality, age, ID type. It is signed with Althea's EdDSA private key. It never leaves your device.
credential = {
idHash: Poseidon(NIN),
age: 24,
idType: 1, // 1 = NIN, 2 = BVN
signature: AfricaZK.sign(credentialHash),
}The circuit asks one question
A Groth16 ZK circuit runs inside your browser. It takes your private credential and checks three things: Was this signed by Althea? Is the person eligible? Is the ID type valid? If all three pass, it outputs a proof and a nullifier. Your credential is then wiped from memory.
The proof reveals nothing
The output is a set of mathematical values — pi_a, pi_b, pi_c — that a verifier can check against a public verification key. They confirm the circuit ran correctly. They contain zero personal information. The nullifier is a one-way hash — it identifies you uniquely without revealing who you are.
proof = { pi_a: [...], pi_b: [...], pi_c: [...] }
publicSignals = ['1', '0x8f3a…c291']
// valid = 1, nullifier = 0x8f3a…c291
// Nothing else. Ever.One SDK. Five functions. Your users are verified.
npm install @africazk/identity
One package. Everything included.
Five clean functions
verifyIdentity, generateProof, submitProof, checkAttestation, wipeCredential. That is the entire surface area.
Wallet adapter compatible
Works with Phantom, Backpack, and any @solana/wallet-adapter compatible wallet.
Devnet and mainnet support
Pass network: 'devnet' or 'mainnet-beta'. Switch with one parameter.
TypeScript first
Full type definitions included. Autocomplete for everything.
Zero data responsibility
You never touch NIN or BVN. You never store personal data. You have zero compliance liability.
npm install @africazk/identity< 0.001 SOL
Cost per verification
< 30 seconds
Time to verify
0 bytes
Personal data stored
Built on proven cryptography.
Groth16 Zero-Knowledge Proofs
The Althea circuit is written in Circom — the industry standard for ZK circuit development. It uses the Groth16 proving scheme with Poseidon hashing, optimised for browser performance via WebAssembly. Proof generation runs entirely on the user's device.
Circuit: africazk.circom · 4 private inputs · 2 public outputs
Backend Credential Signing
Althea's backend signs every credential with an EdDSA private key using circomlib's EdDSAPoseidon implementation. The circuit verifies this signature on-chain. Only credentials signed by Althea's trusted key can produce valid proofs — making it impossible to submit a fake credential.
Public key embedded in circuit · Private key never exposed
On-Chain Verification & Attestation
The Althea Anchor program receives proofs, validates public signals, checks the NullifierRecord PDA to prevent duplicate registrations, and creates an AttestationRecord PDA that any dApp can read. Light Protocol ZK verification integrates in a future upgrade.
Two PDAs: NullifierRecord · AttestationRecord
Nigerian ID Infrastructure
NIN verification runs through Dojah — a licensed Nigerian KYC provider with direct NIMC database access. BVN verification uses CBN-licensed infrastructure. The raw ID is hashed immediately after confirmation and the original is never stored anywhere in the Althea system.
Supports: NIN · BVN
What we know. What we don't.
- A wallet passed verificationWho the wallet belongs to
- Verification happened on a dateThe user's name
- The user is 18 or olderThe user's actual age
- The user is NigerianThe user's NIN or BVN
- The nullifier (one-way hash)Anything reversible
Althea runs no database. The backend processes one request and immediately discards the input. No logs. No analytics on personal data. No way to connect a wallet address to a real identity — by design, not policy.
The foundation for African DeFi.
Composable Identity
Every dApp that integrates Althea contributes to a shared identity layer. As the ecosystem grows, wallet holders can verify independently with each app they use.
Expanding ID Support
Althea is designed to extend beyond Nigeria. Ghana Card, Huduma Namba (Kenya), South African ID — the same ZK architecture, localised for each country's ID infrastructure.
Light Protocol Integration
The Althea Anchor program is architectured to plug in Light Protocol's on-chain Groth16 verification in a future upgrade — bringing full trustless proof verification to the protocol without changing the developer interface.
Build the verifiedNigerian internet.
Althea is open infrastructure. Integrate it. Fork it. Build on it. Africa's identity layer belongs to everyone.