Advertisers
Buy 1k-impression blocks through CLI Checkout.
Verified wait-state marketplace
Buy attention while developers wait. Users run verified publisher surfaces for VS Code, Claude Code, MiMo Code, OpenCode, or Grok Code CLI, advertisers buy 1,000-impression blocks through the CLI, and the public market shows active campaigns from the API.
Wait-state transformation
Illustrative at EUR 5 CPM. Bills after visible >=5s, then ledger pending and wallet status update.
User economics
Drag your average agent wait per day. Figures use the top active CPM from GET /v1/market with a 60%user share — projected, not a guarantee. WaitSpin bills paid impressions only after a visible >=5s interval.
Spinners, test runs, long diffs — the time you are already watching.
one billable placement per ~15s of wait · visible >=5s before ledger · impressions only — no click payout
Buy 1k-impression blocks through CLI Checkout.
Install detected publisher surfaces or choose a target-specific command.
No source code, prompts, terminal output, screenshots, or clipboard contents are sent.
What is WaitSpin?
WaitSpin is an agent-first ad marketplace for developer wait-states. Active campaigns appear in the public market only after prepaid inventory is available.
Create a line with the waitspin CLI, buy prepaid 1,000-impression blocks through Stripe Checkout, and inspect CPM data through GET /v1/market.
Install a verified publisher target and earn a 60% user share after a sponsored wait-state message is visible for at least 5 seconds.
Shipped surfaces are the npm CLI, REST API, public market, guarded wallet and ledger routes, install-all orchestration, VS Code Marketplace Activity Bar/status-bar extension, Claude Code statusline command, MiMo Code shell hook, OpenCode TUI plugin slot, and Grok Code CLI footer.
Market board
| Campaign | Status | CPM | Served |
|---|---|---|---|
| CitedyCitedy: find growth gaps, ship fixes | active | EUR 5.00 | 10 |
| LnkgoLnkgo: branded tracked links for agents | active | EUR 5.00 | 10 |
| AdClawAdClaw: AI marketing office for founders | active | EUR 5.00 | 11 |
How it works
npx --yes waitspin init --email [email protected] --key-profile control
Control keys create campaigns, start Checkout, and read advertiser state.
waitspin bid create --line "Lnkgo: branded tracked links for agent workflows" --url https://lnkgo.app --price-per-block 500 --blocks 3
--price-per-block is CPM cents. --blocks buys 1,000-impression units.
waitspin bid checkout CAMPAIGN_ID
Checkout activates the prepaid block purchase when webhook accounting confirms payment.
waitspin market
Highest CPM serves first; active rows also appear in the public market board.
Public install contract
Installs only supported targets detected on this machine and reports installed, would_install, skipped_not_detected, skipped_conflict, and failed_rollback arrays.
Install the public extension, then run WaitSpin: Connect publisher inside VS Code.
API base: https://api.waitspin.com/v1
Marketplace assurance
A paid impression is counted only after the sponsored status placement stays visible long enough.
Receipts, install binding, trust warmup, exposure caps, holds, and reconciliation slow suspicious earning paths before money leaves the system.
Campaigns spend from fixed impression blocks, not open-ended click promises.
WaitSpin uses supported status surfaces and does not inject into source files, editor text, prompts, or terminal output.
Qualified impressions create wallet/ledger-visible earning records for the 60% user share.
New earnings stay visible while they mature before payout eligibility.
Trust boundary: no source code, prompts, terminal output, screenshots, or clipboard contents are sent.
Read trust pageSupported now / coming soon
FAQ
WaitSpin is an agent-first ad marketplace for developer wait-states: advertisers buy short sponsored wait-state lines, and users run verified publisher surfaces for VS Code, Claude Code, MiMo Code, OpenCode, or Grok Code CLI.
Advertisers create a campaign with --line, --url, --price-per-block, and --blocks. One block buys 1,000 visible-impression opportunities through Stripe Checkout.
Users install a verified publisher target such as the VS Code Activity Bar/status-bar extension, Claude Code statusline, MiMo Code shell hook, OpenCode TUI plugin, or Grok Code CLI footer. A sponsored wait-state message must be visible for at least 5 seconds before the ledger records a payable impression.
Run waitspin install --all --dry-run --api-key PASTE_PUBLISHER_EXTENSION_KEY --compose-existing, then waitspin install --all --api-key PASTE_PUBLISHER_EXTENSION_KEY --compose-existing and waitspin status --all.
Install from VS Code Marketplace, run code --install-extension waitspin.waitspin-vscode, then run WaitSpin: Connect publisher inside VS Code. Use waitspin extension install --target vscode --api-key PASTE_PUBLISHER_EXTENSION_KEY only as the advanced CLI fallback.
The Marketplace item installs into Visual Studio Code as the Activity Bar/status-bar extension. Cline extension users are covered through the same VS Code extension API surface; standalone Cline CLI needs official statusline/plugin support before WaitSpin claims it as an installed surface.
Run waitspin claude-code install --api-key PASTE_PUBLISHER_EXTENSION_KEY --compose-existing, then waitspin claude-code status.
Run waitspin mimocode install --api-key PASTE_PUBLISHER_EXTENSION_KEY, then waitspin mimocode status.
Run waitspin opencode install --api-key PASTE_PUBLISHER_EXTENSION_KEY, then waitspin opencode status.
Run waitspin grok install --api-key PASTE_PUBLISHER_EXTENSION_KEY, then waitspin grok status.
The shipped public surface is the npm CLI, REST API, public market, guarded wallet and ledger routes, install-all orchestration, the VS Code Marketplace Activity Bar/status-bar extension, Claude Code statusline command, MiMo Code shell hook, OpenCode TUI plugin slot, and Grok Code CLI footer.
Native spinner patching beyond supported status surfaces and public skill registry publication remain planned work.
No. The VS Code Marketplace extension provides the Activity Bar publisher view, status-bar mini state, wallet and ledger visibility, sponsor cards, no-inventory state, Command Palette actions, SecretStorage, and a five-second visible impression hold. Claude Code uses statusLine.command, MiMo Code uses a managed shell hook, OpenCode uses managed TUI plugin configuration, and Grok Code CLI uses a hash-backed text-asset footer patch. Unsupported native spinner patches remain coming soon.