Browser extensions · Updated

Chrome extension Manifest V3 starter: popup, background, and permissions

A minimal MV3 Chrome extension layout with manifest.json, service worker, and popup, ready before you add Stripe checkout or Payhook paid access.

#manifest-v3#chrome-extension#getting-started


This tutorial walks through a minimal Manifest V3 extension you can hand to an AI builder or extend yourself. Payhook tutorials assume you already have this skeleton before wiring payments.

What you will build

  • manifest.json with MV3 fields
  • A service worker (background.js) for long-lived logic
  • A popup (popup.html + popup.js) for user-facing controls

manifest.json

{
  "manifest_version": 3,
  "name": "My Extension",
  "version": "0.1.0",
  "description": "Starter MV3 extension",
  "action": {
    "default_popup": "popup.html",
    "default_title": "My Extension"
  },
  "background": {
    "service_worker": "background.js"
  },
  "permissions": ["storage"]
}

Load unpacked in chrome://extensions with Developer mode enabled.

SurfaceUse for
PopupButtons, upgrade CTA, quick settings
Service workerEntitlement checks, messaging, alarms

Next steps

  1. Firefox extension Manifest V3 starter - gecko ID and about:debugging
  2. Safari Web Extension Manifest V3 starter - web layer + Xcode wrapper
  3. Stripe Connect for extension builders - products and checkout concepts
  4. Monetize a browser extension without a payment backend - hosted checkout without a custom payment backend

Related: Payhook docs, acme-extension sample.