Earn from the thinking moment. IdleAds shows a single tasteful sponsor line in your status bar while your AI agent works, and pays you 70% of the revenue per provably-real impression — no editor patching, no creepy tracking.
What it does
- Adds one status-bar item (our own real estate — every extension may do this). It
shows the current sponsor line with a subtle
↗. Click it to visit the sponsor. - Polls the IdleAds gateway for the server-decided ad every ~60s (the server runs the auction and picks the ad — the extension is a renderer).
- Measures real viewability: it reports on-screen time only while your VS Code window is actually focused, and only a validated impression (≥5s) is billed to the advertiser and credited to you. The server recomputes everything — the client is never trusted.
- Fills the idle moments (when no sponsor is live) with a free channel: power-user tips for your AI coding tools, daily streaks, thinking-moment milestones, and an optional ambient git snapshot. Channel content is never an ad — it mints no token, reports nothing, and bills nobody.
Sign in
IdleAds: Sign in (command palette) opens your browser for a device-code authorization.
The bearer token is stored in VS Code SecretStorage (OS keychain). Signed out, the
extension runs in demo mode and earns nothing.
Commands
| Command | |
|---|---|
IdleAds: Sign in / Sign out |
device-code auth |
IdleAds: Open dashboard |
your earnings + payouts on the web |
IdleAds: Pause / resume ads |
hide the status-bar item + stop measuring |
IdleAds: Open the current sponsor link |
what clicking the item does |
Settings
| Setting | Default | |
|---|---|---|
idleads.gatewayUrl |
https://idleads.dev |
gateway base URL (use http://localhost:8791 for local dev) |
idleads.enabled |
true |
show ads + accrue earnings |
idleads.channel.tips |
true |
fill idle moments with power-user tips |
idleads.channel.streaks |
true |
celebrate daily streaks + thinking-moment milestones |
idleads.channel.dashboard |
false |
show an ambient git snapshot (branch · changes) on the idle line |
Privacy
We measure time the window is focused while an ad is shown — nothing about your code,
prompts, files, or projects. The only identifiers are a random device id and your account.
The optional idleads.channel.dashboard line reads your local git branch + change count
to render it on your own status bar — it is computed on your machine and never sent
anywhere (a channel cycle reports nothing).
Develop
pnpm -F idleads-vscode build # esbuild → dist/extension.js
pnpm -F idleads-vscode watch # incremental
pnpm -F idleads-vscode typecheck
pnpm -F idleads-vscode package # → idleads.vsix (requires @vscode/vsce)
Press F5 in this folder to launch an Extension Development Host. Set
idleads.gatewayUrl to your local gateway to test end-to-end.