Integration with Human Passport
A comprehensive Next.js application that demonstrates the power of combining WaaP with Human Passport for identity verification and Web3 authentication.
Live Demo
→ Try the live demo at welcome.human.tech
What This Demo Showcases
This application is a perfect example of how to integrate WaaP in a real-world scenario, demonstrating:
- Human Passport Integration: Verify human identity using Human Passport scores with a configurable threshold
- Seamless Authentication: Multiple login methods including social logins (Google, Twitter, Discord, GitHub), email, and wallet connections
- WaaP SDK: Full integration with human.tech's wallet solution
- Multi-chain Support: Connect to different Ethereum networks seamlessly
- Modern UI/UX: Responsive design with smooth animations using Framer Motion
- Real-time Updates: Live passport score updates and verification status
🛠 Technical Implementation
The demo uses a modern tech stack:
- Framework: Next.js 15 with App Router
- Frontend: React 19, TypeScript, Tailwind CSS
- Web3: Wagmi, Viem, Ethers.js integration
- State Management: Zustand for wallet state
- Animations: Framer Motion for smooth UX
- Identity Verification: Human Passport API integration
🔗 Explore the Code
The repository includes:
- Complete WaaP SDK integration
- Human Passport score verification implementation
- Responsive UI components
- Configuration examples
- Environment setup guide
- Deployment instructions
Key Features Demonstrated
Identity Verification Flow
// Example: Human Passport integration
const verifyHumanity = async (address: string) => {
const response = await fetch(`https://api.passport.xyz/v2/stamps/${scorerId}/score/${address}`, {
headers: { 'X-API-KEY': apiKey }
});
const data = await response.json();
return data.score >= threshold; // Configurable threshold (default: 25)
};
WaaP Integration
For complete method documentation, see our Methods Guide →
// Example: Wallet connection with WaaP SDK
import { initWaaP } from "@human.tech/waap-sdk";
// Sets window.waap with all necessary methods
initWaaP({
config: {
allowedSocials: ['google', 'twitter', 'discord', 'github'],
authenticationMethods: ['email', 'social'],
styles: { darkMode: true }
}
});
📚 Learn From This Example
This demo serves as an excellent reference for:
- Production-Ready Setup: See how to configure WaaP for production use
- Error Handling: Robust error handling patterns for wallet connections
- State Management: How to manage wallet state across your application
- UI/UX Best Practices: Creating intuitive wallet connection flows
- Human Passport Integration: Implementing identity verification in real applications
Customization Ideas
Use this demo as inspiration to build your own unique implementations:
- Customize the verification threshold based on your use case
- Add additional social login providers
- Implement custom UI themes and animations
- Integrate with your existing user management system
- Add features like NFT gating or token-based access control