Grass
Grass is a fitness verification platform that uses zkTLS to combine health tracking with community
Problem Statement
Grass is a fitness platform that turns your real world activity into verified onchain achievements. It combines health tracking, social challenges, and incentives to help users stay active and connected. Using zero knowledge, Grass verifies fitness data like steps, distance, and heart rate without revealing sensitive information.The platform encourages users to “touch grass” by proving their progress and health scores. Communities can form around shared goals, and users can place social bets on their friends training targets.Grass uses:zkTLS to verify real fitness dataBlockscout Merits to reward user activitySmart contracts that manage bets, profiles, and communitiesIntegration with the vlayer SDK for private web proof verificationEthereum for secure settlementWhether you want to challenge friends, join a fitness tribe, or simply stay motivated, Grass makes your activity count, literally.
Solution
We combined TypeScript, Solidity, and zero knowledge proof tooling. The architecture is split into the following components:Next.js Frontend: React based interface for tracking fitness, joining communities, and placing social betsSolidity Smart Contracts: Handle fitness verification, betting logic, and community requirementsWeb Proof System (via vlayer SDK): Enables private fitness data verification using zkTLSThe smart contract suite includes:WebProofVerifier: Verifies cryptographic proofs of fitness data, manages user profiles and betting logicWebProofProver: Generates zero knowledge proofs from real world fitness metricsThe frontend stack includes:reown + Wagmi + Viem: For Ethereum wallet connectivity and contract interactionvlayer Client SDK – For submitting fitness proofs and web-based attestationDaisy UI + Tailwind CSS: For responsive and clean UIWe also incentivize the user activity giving them Blockscout Merits.Grass turns physical activity into verified, onchain secure, social, and incentivized.