Discord Attestation
-
Project Context
In the Web3 ecosystem, digital identity remains a major challenge. How do you prove who you are without compromising your privacy? How do you link your social identities to your wallet without relying on a central authority?
Discord Attestation addresses this need by allowing users to create cryptographic proofs of their Discord identity, permanently stored on the Linea blockchain via the Verax protocol.
Key Features
The application offers a smooth user experience in three steps:
-
Discord Login: user authenticates via OAuth 2.0
-
Wallet Connection: Ethereum address is linked to Discord identity
-
Attestation Creation: an onchain proof is generated and stored
Attested Data
Each attestation contains:
-
The unique Discord identifier for the server
-
The Discord server name
This information is encoded according to a standardized Verax schema and signed via EIP-712 to guarantee authenticity.
Technical Architecture
The application uses a serverless architecture, deployed on Netlify:
Frontend
-
React 19 with TypeScript for a reactive interface
-
wagmi v3 and viem v2 for blockchain interactions
-
Reown AppKit for multi-provider wallet connection
-
Verax SDK for attestation creation
Backend
-
Netlify Functions for OAuth processing and EIP-712 signing
-
Secure handling of Discord access tokens
-
Server-side signing with protected private key
Smart Contracts
The attestation is created via a custom Verax Portal that:
-
Verifies the backend’s EIP-712 signature
-
Ensures the issuer matches the attestation subject
-
Collects a minimal fee (0.0001 ETH)
Security
The system implements multiple layers of protection:
-
EIP-712 Signatures: protection against cross-chain replay attacks
-
Server-side Verification: Discord tokens are validated before signing
-
Wallet Binding: Attestation can only be created for the connected wallet
-
Secure Signing Key: private key never leaves the backend
Use Cases
Discord Attestation opens the door to many applications:
-
Community Gating: conditional access based on verified Discord identity
-
Targeted Airdrops: distribution to specific Discord users
-
Cross-platform Reputation: building a portable Web3 identity
-
Member Verification: proof of membership in Discord servers
Technical Stack
Web3
-
Linea (Mainnet & Sepolia)
-
Verax Attestation Registry
-
EIP-712 Typed Data Signatures
-
wagmi / viem
Frontend
-
React
-
TypeScript
-
Vite
-
TanStack Query
Backend
-
Netlify Functions
-
Discord OAuth 2.0 API
-
Node.js
Resources
|
Note
|
This project is open source and part of the official Verax examples, demonstrating how to integrate social identities into the onchain attestation ecosystem. |


