Browser Provider Census — V0.5.0

Research snapshot: 2026-09-06.

Ranking target: normal ChatGPT mobile/web, no user PC, recurring free allowance, deterministic browser control, strong isolation, minimal browser-open time and zero-surprise-cost preference.

1. Kernel — CHAMPION

Runtime state: ACCOUNT_KEY_REQUIRED / live browser UNVERIFIED.

Current official Free plan:

  • $0/month plus usage costs
  • $5/month free credits
  • 5 concurrent browsers
  • live view
  • stealth mode including CAPTCHA solver/proxy
  • managed auth (3 connections)
  • one-day session replays
  • uploads/downloads
  • no card required to get started
  • usage billed by GB-second

Technical fit:

  • official Val Town browser-automation guide/starter
  • @onkernel/sdk
  • server-side Playwright execution in the browser VM
  • on-demand browsers.create() is explicitly recommended for occasional/bursty/one-off work
  • browser is destroyed in finally

Adapter: providers/kernel.ts. Required env var: KERNEL_API_KEY.

Official sources:

2. Browserless — RECURRING-FREE FALLBACK

Runtime state: ACCOUNT_TOKEN_REQUIRED / live browser UNVERIFIED.

Current official Free plan:

  • 1,000 units/month
  • 2 concurrent browsers
  • 2-minute max session
  • no card required
  • Chrome / WebKit / Firefox
  • automatic CAPTCHA solving available
  • persisted sessions/replays

Unit model:

  • browser time: 1 unit per 30-second connection block
  • partial blocks round up
  • successful CAPTCHA solve: 10 additional units
  • residential proxy: 6 units/MB
  • datacenter proxy: 2 units/MB

September 2026 provider control:

  • account overage spend limit can be set to $0
  • this should be mandatory before promotion to fallback OPERATIONAL under this project's zero-surprise-cost policy

Adapter: providers/browserless.ts. Required env var: BROWSERLESS_TOKEN. Optional: BROWSERLESS_BASE_URL.

Official sources:

3. Browserbase — RESEARCHED FALLBACK

State: researched, not implemented.

Val Town has an official Browserbase integration guide and starter. It remains behind Kernel/Browserless because the current combination above better matches recurring-free allowance + CAPTCHA/anti-bot + cost control for this project.

Source:

4. Steel — RESERVE / ONE-TIME-CREDIT PATH

State: researched, not implemented.

Useful properties:

  • open-source browser API
  • Puppeteer/Playwright
  • official Val Town integration guide

Lower priority because one-time starter credit is less aligned with recurring zero-cost steady state than Kernel/Browserless.

Source:

Routing rules V0.5

  1. Explicit configured preferredProvider is honored unless its circuit is OPEN.
  2. Otherwise Kernel is primary.
  3. Browserless fallback is allowed only for read_only.
  4. Provider BLOCKED for missing configuration does not increment health failures.
  5. Provider FAIL increments consecutive failures.
  6. Three consecutive FAILs open the provider circuit for 15 minutes.
  7. PASS/PARTIAL resets provider failure state.
  8. Never automatically retry a write on another provider.
  9. Keep reasoning outside the browser; send only a short deterministic DSL plan.
  10. No automatic cron runs browsers.

Promotion rule

A provider cannot become OPERATIONAL from docs/pricing/module-load alone. Required evidence:

  • env-var key exists
  • credential authenticates
  • real browser is created
  • network preflight passes
  • read-only smoke plan executes
  • explicit expectations PASS
  • attempt is persisted
  • provider health remains CLOSED
  • actual account consumption is observed if available

Until all of these are true, state remains UNVERIFIED even if the SDK call returns successfully.