Prove your online identity with wallet authentication.
Connect your wallet and verify your Reddit karma, account age, and social proof. Data is cryptographically signed and stored as attestion in Golem DB.
Built for 💜 ETHWarsaw hackathon
- GolemDB flexible way of storing and retrieving attestation from chain
- Civic for authentication of panel for verifiers
- Base App to allow UX friendly creation of attestations straight from your Base / Farcaster app
- Wallet Authentication: Connect MetaMask or Farcaster wallets
- Reddit Verification: Prove karma scores and account histor
- Github Verification: Prove your impact on specific repositories
- zkTLS Proofs: Generate cryptographic proofs of any web API data using vlayer notary
- On-Chain Storage: GolemDB integration for decentralized identity
Copy env.example to .env and configure:
cp env.example .envRequired variables:
DATABASE_URL: PostgreSQL connection stringREDDIT_CLIENT_ID: Reddit OAuth app IDREDDIT_CLIENT_SECRET: Reddit OAuth secretNEXT_PUBLIC_VLAYER_CLIENT_ID: vlayer client ID for zkTLS proofsVLAYER_CLIENT_SECRET: vlayer client secretNEXTAUTH_SECRET: Random secret for session encryption
npm install
npm run devOpen http://localhost:3000 to start proving your identity.
npm run db:push # Push schema to database
npm run db:migrate # Run migrations
npm run db:studio # Open Prisma StudioEasily generate cryptographic proofs of any web API data using vlayer notary service:
import { proveUrl, proveRedditData, proveGithubData } from '@/lib/services/zktls';
// Prove Reddit profile data
const proof = await proveRedditData(
accessToken,
'MyApp/1.0.0',
userId
);
// Prove any API endpoint
const customProof = await proveUrl({
url: 'https://api.example.com/user/profile',
headers: [`Authorization: Bearer ${token}`],
userId: userId,
platform: 'custom'
});
// The proof is returned immediately and automatically saved to database
console.log(proof.verificationKey, proof.publicInputs);Key Benefits:
- Zero-Knowledge: Prove API data without revealing sensitive information
- Automatic Storage: Proofs saved to database and blockchain via GolemDB
- Easy Integration: Simple API with built-in attestation generation
- Multiple Platforms: Built-in support for Reddit, GitHub, and custom APIs
All completed proofs automatically generate on-chain attestations, making verification trustless and permanent.