What Inspired Me to Build Authentify : I'm a regular Web3 user, and I experienced this frustration firsthand. Every time I wanted to use a dApp - even one I just visited 30 minutes ago - I had to go through the whole wallet connection process again. Click "Connect Wallet," wait for MetaMask to pop up, approve the connection, sign the message... 30-40 seconds wasted every single time. Multiply that by 5-10 sessions a day, and you're looking at 5+ minutes of pure friction just to access apps you already trust. But the real breaking point? I realized that if I lost access to my connected wallet - lost my seed phrase, wallet got compromised, or switched devices - I'd lose access to all my accounts permanently. No recovery option. No backup. Just gone. That's when it hit me: Web3 authentication is fundamentally broken. I thought, "Why can't Web3 authentication work like Netflix or Gmail? Connect once, login forever with username and password, and only use your wallet when you actually need to sign a transaction?" That's exactly what we built with Authentify.
What We Built : Authentify is a hybrid Web3 authentication platform built on Polkadot that separates authentication from transaction authorization. Here's what makes it special: One-Time Wallet Connection: Users connect their wallet only once during registration and link it to social accounts (Google, GitHub, Twitter). That wallet address gets stored on-chain via our ink! smart contract deployed on Pop Network's Paseo testnet. Web2-Style Login: For every future session, users simply login with username and password - just like any traditional web app. No wallet popups. No friction. The backend handles session management through JWT tokens and OAuth integration. Smart Transaction Signing: The wallet only appears when users need to sign actual blockchain transactions - minting NFTs, swapping tokens, voting in DAOs. For everything else? Pure Web2 browsing experience. Developer-First SDK: We built a production-ready NPM package with TypeScript support and React hooks. Developers can integrate Authentify into their dApps in literally 5 minutes using our OAuth-style credential system.
What I have Learned : This project took me deep into the Polkadot ecosystem, and honestly, it's been one of the most rewarding learning experiences of my development journey. I have learned how Polkadot's architecture enables cross-chain identity management and why it's perfect for authentication infrastructure. The concept of parachains and shared security made me realize why we chose this ecosystem. i have learned ink! Smart Contracts i have know how to rust contracts but ink on rust something new concept to us and also pop and paseo is completely new to me like i have explores various ecosystem exploring this gives me an great dev experience as smart contract dev i have learned about the Cross-Chain Identity Concepts into how identity can exist across multiple chains while maintaining a single source of truth. This opened my eyes to the future of Web3 - where your identity isn't locked to one chain but can seamlessly work across entire ecosystems.
How We Built It Step 1 - Smart Contract Foundation: Started with the ink! smart contract. Designed data structures for user identity mapping (wallet address → username), password hash storage using secure hashing, and session management functions. Deployed on Pop Network's Paseo testnet after multiple iterations. Step 2 - Backend Infrastructure: Built the Node.js/Express backend to handle OAuth flows (Google, GitHub, Twitter), JWT token generation and validation, and blockchain interaction via @polkadot/api. Integrated Supabase for off-chain session data and developer credential management. Step 3 - Frontend & SDK Development: Created the Next.js frontend with a modern dark theme UI matching Web3 aesthetics. Built the NPM SDK package with TypeScript definitions, React hooks (useAuth, useWallet), and comprehensive documentation for developers. Step 4 - Integration & Testing: Connected all three layers, tested the complete authentication flow from registration to transaction signing, and refined the developer experience to make integration as simple as possible.
Challenges I Faced The biggest challenge was definitely getting the smart contract deployed. I initially tried using Pop CLI, but ran into consistent issues with contract compilation and deployment. After hours of debugging, I switched to cargo-contract directly, which proved much more reliable. Learning to properly configure the contract metadata, handle constructor arguments, and debug contract calls through Polkadot.js was a steep learning curve. at the middle of the developement sometimes local nodes are not connecting this makes me frustate . WebSocket Connection Failures The RPC endpoint kept dropping WebSocket connections randomly. I spent two days debugging before realizing I needed HTTP fallback configuration. Now the backend gracefully falls back to HTTP when WebSocket fails, making the connection much more stable. Contract Metadata Synchronization: Getting the contract metadata JSON to work properly between backend and frontend was frustrating. The metadata file needs to be copied to specific locations, and any mismatch causes cryptic errors. Learned to automate this process. OAuth Flow Complexity: Integrating multiple OAuth providers (Google, GitHub, Twitter) while maintaining security and linking them to wallet addresses required careful state management and token handling.
Accomplishments that we're proud of
the thing we proud of is i don't whether it an big or small project but i proud off is i solved real problem this actually frustrate me a lot so by solving this many can be able to protect their accounts fund even if their wallet's are losed and also user can be experience web2 in web3 . acutually the gets an separate mindset whenever they have browsing an dapp but this avoids that
What's next for Authentify
the next is i want distribute authentify to all traditional dapps and make their experience this and build the product in an meaning full way and i need to solve the flaws which are in product now and i need to give an separate experience for the user creating dapp they can be able to create an login form ui in the app itself and need to done more

Log in or sign up for Devpost to join the conversation.