PLY

Embedded comment widget powered by wallets + Self Protocol verification. Drop-in script.

Project Description

Ply is a lightweight, embedded comment system designed to fix online discourse through self-sovereign identity. Unlike legacy widgets that rely on invasive tracking or weak CAPTCHAs, Ply uses Self Protocol to verify that every user is a real human via Zero-Knowledge proofs. It features a hybrid login system (connect with MetaMask, WalletConnect, or Google), ensuring a seamless experience for both Web2 and Web3 users. Developers can drop Ply into any website with just two lines of code and enforce programmable gatekeeping rules like geo-blocking, age verification, or token-gating (e.g., "Holders Only"). Reclaim your community from spam bots with cryptographic trust.

How it's Made

Ply is built on a cutting-edge, type-safe stack leveraging Next.js 16 (App Router), React 19, and Tailwind CSS v4. For the backend and data fetching, we utilized tRPC combined with React Query to ensure end-to-end type safety, interacting with a Postgres database managed by Drizzle ORM. The core user experience revolves around an embeddable architecture. We wrote a lightweight ply.js script that injects an iframe into any host site (blog, forum, or product page). This isolates the comment section's CSS and logic from the host, ensuring compatibility across the web. Partner Technologies & Benefits: Self Protocol: This is the heart of our spam resistance. We integrated @selfxyz/core to manage identity verification. This allowed us to implement a "verify once, use everywhere" model, proving users are real humans without us ever having to touch or store their sensitive KYC data. AppKit (Reown) & Wagmi: We used these to handle the wallet connection layer, providing out-of-the-box support for MetaMask, WalletConnect, Coinbase, and Gemini. The Graph & Celo: We deployed our custom PlyVerifier smart contract to Celo Sepolia (0xea4a...). We then built and deployed a subgraph using The Graph to index verification events emitted by this contract. This creates a decentralized, queryable registry of VerifiedUser entities, ensuring that our verification data is transparent and on-chain.

background image mobile

Join the mailing list

Get the latest news and updates