Skip to content

the ad company you don't block

stads

Your terminal pays rent now.

stads rents one line of your terminal status bar, sells it to advertisers, and pays you half the price. The ad company developers don't block - built by people who block ads, for people who block ads.

npx stads init

Copy the command, run it in your CLI, and your slot is live. No account wall to look around.

claude - ~/proj
$npx stads init
linked status bar · stads pays you 50% · no code leaves your machine
watching for the next slot…
⎇ main✓ clean◉ 38% ctx Ad · Acme CI: ship fasteracme.dev/cc

Dim segments are the developer's own statusline. The orange, FTC-labelled slot is the rented line - composed in, never replacing.

§ 01

Two doors. One honest ledger.

Whether you write the code or fund the ad, the loop is short and the math is visible. Pick your door.

  1. earn.01

    Turn it on in seconds

    Paste one command into your AI coding CLI and your status bar starts earning. Nothing to configure, nothing to babysit - and you can turn it off just as fast.

  2. earn.02

    It just sits in your status bar

    A single labelled line of plain text shows while you work. No images, no tracking pixels, no background process phoning home - and your code never leaves your machine.

  3. earn.03

    Keep half of every cent

    Real money, not points - stads buys your line and pays you 50% of what advertisers pay it for that line. We only count impressions once we've checked they're genuine; withdrawals to your bank carry a small payout fee (0.25% + $0.25).

§ 02

See what a line of your terminal pays.

A line of terminal text won't make rent on its own - but it's real money, it's exactly half, and it's the same rate stads pays for every validated impression. Here it is at a typical rate; open the assumptions to use your own.

Your earning ceiling

up to$27.00/ month

your half at $5.0000 CPM · 6 h/day · 30 days, at full sell-through

Where it comes from
ad rate (CPM)$5.0000
impressions / day360
impressions / month10,800
advertiser pays$54.00
· stads pays you 50% ·
you earn$27.00
stads$27.00
We validate at most one impression per 60s rotation (≈60/hour, hard-capped at 1,440/day). Earnings are pending through a 30-day maturation. This is a ceiling, not a promise: a rotation with no paying advertiser fills with a free house ad and earns you $0, and the auction clears at the second price (often below the rate card) - so real earnings run lower than full sell-through at your CPM.
Adjust the assumptions

what advertisers pay per 1,000 views · $0.50–$15

while the slot is live

days you actually work

Every µ$ is on the receipt - you see exactly what's yours and what's ours. On an odd sub-cent the leftover µ$ rounds to stads, and the receipt shows it.

Half of every validated impression. Real money, not points.

The advertiser pays stads a CPM - a price per 1,000 impressions. stads pays you half of that for your line, in integer micro-dollars, to your bank in real money (less a small payout fee, 0.25% + $0.25, charged once per withdrawal), and never touches it with a float. No expiring points, no house edge hidden in the rounding - just a small $1 payout minimum so card-transfer fees never eat a tiny balance.

stads pays you
50% per impression
paid in
real money, to your bank
counted
server-validated only
rounding
integer µ$, on the receipt
§ 03

A payload you can read line by line.

To pay you fairly the client reports a coarse, pseudonymous heartbeat - enough to credit the right account, and not one byte of your code. The server, never your client, decides an impression is real.

SENDSwhat the client sends

  • tokensUsedcoarse token count, a number
  • costMicrossession cost in µ$, as your CLI reports it
  • sessionDurationSecondshow long the CLI ran
  • linesChangeda count - never the lines themselves
  • modelIde.g. "claude-opus-4-8"
  • interactedRecentlytrue/false: at the keyboard, or idle

Coarse, non-identifying, GDPR-minimised - the whole payload, not a sample. Tied to a device id so the right account gets paid: pseudonymous, not anonymous.

NEVERwhat it never sends

  • your codenot its contents, ever
  • file pathsor filenames, or repo names
  • your promptsor the model's replies
  • your clockwe time impressions on our own server

The payload schema is .strict() - any extra field is rejected, not stored. The source is open; read it line by line.

Where your money is - a label, never colour alone

pendingavailablereservedpaidreversed

Your CLI can't mint money - it only reports the coarse activity on the left. The server checks the traffic is real, so earnings start pending for about 30 days, then turn into available cash you can withdraw. When you cash out it's briefly reserved while the transfer clears, then paid to your bank. Anything that turns out to be fake is reversed - credited back - and every move is double-booked, so the numbers always reconcile.

§ 04 · For advertisers

Reach developers who run AI coding tools - and block everything else.

A curated, text-only channel into the highest-dwell surface a developer looks at all day. Prepay a budget, submit one line, and pay only for impressions that pass server-side validation. Invalid traffic is credited back, automatically. No images. No retargeting. No dark patterns.

billed on
validated impressions
invalid traffic
credited back
ad format
one line of text
audience
AI-CLI developers
stads - your terminal pays rent now · stads