hackquest logo

PermitGuard

Take control of your wallet. See every permission. Revoke with one click.

Videos

Tech Stack

React
Node
Metamask
Permissions
Security
Advanced
Wallet
Web3

Description

๐Ÿ›ก๏ธ PermitGuard

Take control of your wallet. See every permission. Revoke with one click.


๐ŸŽฏ Problem Statement

Every Web3 user accumulates wallet permissions over time. These permissions:

  • ๐Ÿ”ด Often go unnoticed and unmanaged

  • ๐Ÿ”ด Create security vulnerabilities

  • ๐Ÿ”ด Remain active long after they're needed

  • ๐Ÿ”ด Are difficult to find and revoke

Result: Millions of wallets have unnecessary exposure to potential exploits.


๐Ÿ’ก Our Solution

A beautiful, functional dashboard that gives users complete visibility and control over their MetaMask permissions.

Key Features

Feature

Description

๐Ÿ”— One-Click Connect

Seamless MetaMask integration

๐Ÿ“Š Risk Assessment

Color-coded risk levels (safe/moderate/dangerous)

๐Ÿ—‘๏ธ Easy Revocation

Single or bulk permission removal

๐Ÿ” Search & Filter

Find permissions by name, risk, or type

๐Ÿ“ˆ Statistics

Overall risk score and permission breakdown

๐Ÿ“œ History Timeline

Track permission events over time

๐ŸŒ™ Dark Mode

Modern Web3 aesthetic

๐Ÿ“ฑ Responsive

Works on desktop, tablet, and mobile


๐Ÿ› ๏ธ Tech Stack

Category

Technology

Frontend

React 19, TypeScript

Build

Vite

Styling

Pure CSS (Glassmorphism, CSS Variables)

Animations

Framer Motion

Icons

Lucide React

Wallet

MetaMask SDK

Testing

Vitest, fast-check (Property-Based Testing)


๐Ÿš€ Quick Start

# Clone the repository
git clone https://github.com/AqilaRifti/PermitGuard.git

# Install dependencies
npm install

# Start development server
npm run dev

# Run tests
npm test

# Build for production
npm run build

๐Ÿ“ Project Structure

src/
โ”œโ”€โ”€ components/     # React UI components
โ”œโ”€โ”€ hooks/          # Custom React hooks
โ”œโ”€โ”€ services/       # MetaMask & API services
โ”œโ”€โ”€ context/        # React context providers
โ”œโ”€โ”€ types/          # TypeScript interfaces
โ”œโ”€โ”€ utils/          # Utility functions
โ””โ”€โ”€ index.css       # Global styles

๐Ÿงช Testing

We use property-based testing to ensure correctness:

npm test

25 tests covering:

  • โœ… Risk level calculation determinism

  • โœ… Filter result correctness

  • โœ… Filter idempotence

  • โœ… Stats calculation accuracy


๐ŸŽจ Design Highlights

Glassmorphism Cards

Frosted glass effect with backdrop blur for a modern Web3 look.

Risk Color Coding

  • ๐ŸŸข Green (Safe) - Read-only access

  • ๐ŸŸก Yellow (Moderate) - Write access with limits

  • ๐Ÿ”ด Red (Dangerous) - Unlimited spending access

Smooth Animations

Framer Motion powered transitions for a polished feel.


๐Ÿ”ฎ Roadmap

  • Core dashboard functionality

  • Risk assessment system

  • Search and filter

  • Bulk revocation

  • Real-time permission alerts

  • Cross-chain support

  • Browser extension

  • Mobile app


๐Ÿ‘ฅ Team

Built with โค๏ธ for the Web3 community.


๐Ÿ“„ License

MIT License - feel free to use this project for your own purposes.


๐Ÿ™ Acknowledgments

Progress During Hackathon

Built PermitGuard from the ground up resulting in a sleek, production-ready React dashboard that gives MetaMask users complete visibility and control over their wallet permissions. We implemented one-click wallet connection via MetaMask SDK, a comprehensive permission card system with color-coded risk assessment (safe/moderate/dangerous), powerful search and filtering capabilities, bulk revocation actions, and a permission history timeline. The UI features a modern Web3 aesthetic with glassmorphism design, smooth Framer Motion animations, and full mobile responsiveness. We also established a robust testing foundation with 25 property-based tests using fast-check to verify risk calculation determinism, filter correctness, and idempotence, ensuring the core logic is bulletproof across all edge cases.

Fundraising Status

N/A
Team Leader
SSkia Variants
Project Link
Sector
OtherInfra