← Back to FairStake
Architecture
Eligibility (World + ENS passport) is separated from execution (Arc USDC pool).
┌──────────────┐ ┌─────────────────────┐ ┌─────────────────┐ │ World ID │────▶│ Investor Passport │────▶│ FairStakePool │ │ Selfie Check │ │ Registry (Sepolia) │ │ (Arc Testnet) │ └──────────────┘ └─────────────────────┘ └─────────────────┘ humanity credential USDC commit nullifier ENS-shaped records fail-closed
World — humanity layer
Selfie Check proves a unique live person. Nullifier hash is written on-chain so one face = one investor slot.
ENS — passport layer
Investor passport uses ENSv2-compatible text records (maxCommitUsd, expiry, round scope). Minted on Sepolia registry; portable across Round 1 and Round 2.
Arc — capital layer
USDC-native fair-launch pools with per-investor caps. Contract enforces passport limits; sybils revert.
The Sybil Test: verified wallet commits → sybil wallet reverts → same passport works on Round 2 without re-KYC.