Transparent, opt-in, open source. Here's exactly what happens inside your editor.
DevCut is in private beta, so it's not on the VS Code Marketplace yet — you install it from a .vsix file. Download the file (link at the bottom of this page), press Ctrl+Shift+P (⌘⇧P on Mac), run Extensions: Install from VSIX…, pick the file, and reload the window. The extension is open source (MIT), zero telemetry beyond impression counting, and stores nothing on your local machine beyond a pseudonymous user ID.
Build, test, install — exactly as you do today. DevCut hooks into the VS Code Tasks API (onDidStartTask / onDidEndTask events). When a task runs for longer than 3 seconds, the extension makes a single HTTP call to fetch an ad line — nothing is sent before that threshold. No background polling. No always-on connection.
Every 30-second slot where an ad is visible is one impression. At the end of the slot, a lightweight POST records the impression ID and your pseudonymous user ID — no task content, no code, no keystrokes, nothing personal. Clicks earn more: when you click an ad, a click event is recorded (again, just the ad ID and your user ID). Your running balance is visible in the Command Palette at any time via DevCut: Show Earnings.
Set your UPI ID once in the extension settings (devcut.upiId). When your balance crosses ₹50, request a withdrawal from the extension or the dashboard. During the beta each withdrawal is reviewed and paid manually to your UPI ID, and you can watch its status on the dashboard. No bank forms. No SWIFT codes.
Nothing about your code, teammates, or projects ever leaves your editor. Here is the complete list.
| Data | Why it's needed | Sent to server? |
|---|---|---|
| Pseudonymous user ID (random UUID, generated locally on first install) | Associate impressions and earnings with your account without requiring an email or login | Yes — every request |
| Task event type (build / test / install — derived from task name regex) | Fetch the right ad category for the slot type | Yes — on task start |
| Impression duration (seconds the ad was visible) | Validate the impression and calculate earnings | Yes — on task end |
| UPI ID (only if you set one) | Route your payout to the right account | Yes — on payout trigger only |
| Code content, file names, or repo names | — | Never |
| Keystrokes or editor activity | — | Never |
| Team members, Git commits, or PR data | — | Never |
| IP address | Fraud/abuse detection (e.g. multiple accounts sharing one payout ID) | Stored against signups and impressions |
devcut.backendUrl in settings.
No. It only makes a single lightweight HTTP call when a task starts (to fetch the ad line) and another when it ends (to record the impression). No background polling, no analytics SDK, no always-on WebSocket.
Yes. One command — DevCut: Toggle — or flip devcut.enabled to false in settings. Earnings pause instantly and resume when you re-enable. The status bar item disappears completely while disabled.
At each impression, the server ranks all active bids for the matching slot type. The highest bidder wins and pays ₹0.01 above the second-highest bid — never more than their stated max. This prevents advertisers from overpaying and encourages honest bidding.
Any VS Code task that fires onDidStartTask and runs for >3 seconds. This includes npm run build, cargo build, jest, pytest, docker pull, npm install, and any custom task in your tasks.json. You can whitelist or blacklist specific task names in settings.
The server issues a signed token with each ad fetch. The extension sends that token back when recording the impression, along with the measured slot duration. The server verifies the signature and rejects impressions that were never fetched or that arrive outside the valid time window.
Yes — the impression counter, earnings tally, and withdrawal ledger are all in the open-source server repo. You can also run DevCut: Show Earnings Breakdown in the Command Palette to see a per-day log of slots, impressions, clicks, and accrued balance.
Install the extension, then get your invite code emailed to you in seconds.
Install (30 seconds)
DevCut is in private beta, so it's not on the Marketplace yet. You install it from a file:
Ctrl+Shift+P (⌘⇧P on Mac) and run Extensions: Install from VSIX…