Browser Extension

Chrome Manifest V3 extension. Auto-detects Solana dApps, intercepts transactions, and pairs with mobile.

Features

Transaction Intercept

Hooks into wallet's signTransaction. Blocks until intent is verified on-chain.

Mobile Pairing

One-time QR pairing (like WhatsApp Web). Encrypted WebSocket channel for notifications.

Bypass List

Trusted sites skip 2FA. Max 50 entries. Managed from popup.

Protocol Stats

Popup shows total commits, verifies, verify fee, and protocol status.

How It Works

  1. Content script injects into Solana dApp pages
  2. Detects wallet adapter's signTransaction calls
  3. Checks bypass list — if site is trusted, allows through
  4. Sends push notification to paired mobile device
  5. Blocks TX until IntentCommit PDA is detected on-chain
  6. Allows TX to proceed once intent is verified

Pairing Protocol

  1. Extension generates ephemeral ECDH key pair (non-extractable)
  2. Displays QR code containing public key + session ID
  3. Mobile app scans QR, derives shared secret via ECDH
  4. Both sides establish encrypted WebSocket channel
  5. Pairing info stored in extension's chrome.storage.local

Popup Sections

App Registry

The extension resolves app_id program addresses to human-readable names using a bundled app registry:

// Known apps resolved in popup and content script
Jupiter     JUP6LkbZbjS1jKKwa...
Raydium     675kPX9MHTjS2zt1qf...
Tensor      TSWAPaqyCSx2KABk68...
Magic Eden  M2mx93ekt1fmXSVkTr...
Marinade    MarBmsSgKXdrN1egZf...

Security

Installation (Dev Mode)

  1. Clone the repo: git clone https://github.com/selcuk07/intentguard
  2. Open Chrome → chrome://extensions
  3. Enable "Developer mode"
  4. Click "Load unpacked" → select the extension/ directory