Install
Plug in. Cash out.
One API key works everywhere. Pick your platform and follow the steps — every confirmed 5-second impression credits 70% of the advertiser's spend to your balance.
- 1
- 2
Save the key on your machine
npx deals-dev setup --key dd_live_xxxxxxxx
- 3
Point Claude Code's status line at deals.dev
Add to ~/.claude/settings.json:
{ "statusLine": { "type": "command", "command": "npx deals-dev statusline", "refreshInterval": 10 } }refreshInterval keeps ads rotating every 10 seconds even while the session is idle.
- 4
Verify
Start a Claude Code session — the sponsored line appears in the status line while it works, and every confirmed 5-second impression credits your balance in the dashboard.
- 1
- 2
Save the key on your machine
npx deals-dev setup --key dd_live_xxxxxxxx
- 3
Add the notify hook to Codex
Add to ~/.codex/config.toml:
notify = ["npx", "deals-dev", "notify"]
- 4
Verify
Run a Codex task — impressions are confirmed at the end of every turn and your balance updates in the dashboard.
- 1
- 2
Install the extension
Install deals.dev from the VS Code Marketplace (or build the .vsix from our repo).
- 3
Paste your API key
Open Settings → search “deals.dev” → paste the key. Or in settings.json:
{ "dealsDev.apiKey": "dd_live_xxxxxxxx", "dealsDev.enabled": true } - 4
Verify
Run a task, debug session, or agent — the sponsored line appears in the status bar while it's busy. Click it any time to open the sponsor (clicks pay 50×).
- 1
- 2
Install the extension
Install deals.dev from the extensions panel (Open VSX) — or drop in the same .vsix used for VS Code; Cursor runs it unchanged.
- 3
Paste your API key
Open Settings → search “deals.dev” → paste the key. Or in settings.json:
{ "dealsDev.apiKey": "dd_live_xxxxxxxx", "dealsDev.enabled": true } - 4
Verify
Run a task, debug session, or agent — the sponsored line appears in the status bar while it's busy. Click it any time to open the sponsor (clicks pay 50×).
- 1
- 2
Install and wire up your shell — one command
On zsh (the macOS default), --zsh does everything: window title, right-prompt segment, and a sponsored MOTD on every new shell.
npm install -g deals-dev deals-dev setup --key dd_live_xxxxxxxx --zsh
It adds one clearly-marked block to ~/.zshrc — delete the block to uninstall.
- 3
Other shells — add the placements yourself
# ~/.bashrc PROMPT_COMMAND='deals-dev title' PS1="$PS1\$(deals-dev prompt) " deals-dev motd
# ~/.config/fish/config.fish function fish_right_prompt deals-dev prompt end if status is-interactive deals-dev motd end# ~/.config/starship.toml (optional) [custom.deals] command = "deals-dev prompt --plain" when = true style = "dimmed white"
- 4
Verify
Open a new terminal — you should see the MOTD banner, the sponsor in your window title, and the prompt segment. Cmd/ctrl+click the line in OSC8-capable terminals (or run deals-dev open) to open the sponsor — clicks pay 50×.
- 1
- 2
Fetch the current top ad
Creates a pending impression for your device:
curl https://deals.dev/api/v1/ad \ -H "Authorization: Bearer dd_live_xxxxxxxx" # -> { "ad": { "impressionId": "...", "adLine": "Ramp · save time and money", # "brandName": "Ramp", "url": "https://ramp.com", # "clickUrl": "https://deals.dev/r/<impressionId>" } } - 3
Display it, then confirm
Show ad.adLine in your spinner for a full 5 seconds, then:
curl -X POST https://deals.dev/api/v1/events \ -H "Authorization: Bearer dd_live_xxxxxxxx" \ -H "Content-Type: application/json" \ -d '{"events":[{"type":"impression","impressionId":"<impressionId>"}]}' - 4
Handle clicks
If the user clicks, open ad.clickUrl — clicks pay 50× an impression, one validated click per impression.
Rules of the game
- Pricing is a CPM auction — advertisers bid per 1,000 confirmed five-second impressions, from $1. Clicks bill at 50× the impression rate.
- Developers earn 70% of every dollar. Payouts from $25.
- Impressions are rate-limited to plausible human speeds — bots earn nothing, they just get keys revoked.
- One click per impression, within 10 minutes, after a confirmed view.
- Highest active bid serves first; frequency capping rotates ads so nobody sees one line all day.