
Authentificate
App that allows users to take accoutabilty in exchange of rewards.
Demo
About
World authentification allows any user to log in with just a wallet with guaranties of bein a human, this proces allows the owner of the wallet to give accoutability solo or with peers on the review of ia generated code submited via smart contracts, The review takes a minum amout to gain credibility to avoid spamers. This is subject to adjustments.
How it's made
The smart contracts are written in Solidity 0.8.28 with Foundry (via-IR, OpenZeppelin 5.1) and deployed on Sepolia. They are covered by 111 tests, including unit, fuzz and invariant tests. HumanRegistry enforces one human = one account. ValidationReceipts records every approval as an EIP-712-signed receipt. RewardToken is a soulbound token with no transfer function at all: tokens are keyed by humanId, and one cooldown per human is shared across every bounty, so tokens can't be farmed in parallel. Bounty holds the challenge code hash and link plus an ETH prize: reviewers with 5 tokens qualify for an equal split, and a judge can slash all tokens for approving failing code. The app is Next.js 16 (App Router, TypeScript) + viem. MetaMask signs every review, and a server-side relayer pays the gas. Storage is SQLite locally and Postgres in production (tested with PGlite). World ID (IDKit 4): a uniqueness proof gives the humanId, and a session proof becomes the account. Every proof is verified on our server against World's v4 verify API, and an attester co-signs an EIP-712 enrollment that the user's own wallet submits. We accept only World ID 4.0, because a legacy 3.0 proof yields a different nullifier, which would let one person enroll twice. A real proof passed on our test page. The demo runs a flagged "simulated" mode that is recorded on-chain as a distinct level, never Orb. And a lot of latices and derivatives tied with orquestration (claude)