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 a flat rate per view. The ad company developers don't block - built by people who block ads, for people who block ads.

npm i -g stadscc && stadscc init

Devs - copy the command, sign in once, your slot is live.

Advertisers - prepay, submit one line, pay only for validated views.

claude - ~/proj
$npm i -g stadscc
$stadscc init
linked status bar · stads pays a flat rate · 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.

  • billed only for validated impressions
  • invalid traffic credited back
  • double-entry money ledger
  • no images · no tracking · code never leaves your machine
  • real money via Stripe Connect
§ 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 a minute

    Paste one command, sign in once, 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

    A flat rate per view

    Real money, not points - stads buys your line at a fixed rate per 1,000 validated views, set independently of what advertisers pay. 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, paid at a flat rate stads sets for every validated impression, no matter what the advertiser bid. Here it is at typical volume; open the assumptions to use your own.

Your earning ceiling

up to$21.60/ month

at stads's fixed $2.0000 · 6 h/day · 30 days, at full sell-through

Where it comes from
stads pays you (fixed)$2.0000
impressions / day360
impressions / month10,800
· a flat rate per validated view, set by stads - not a cut of the advertiser's bid ·
you earn$21.60
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 - so real earnings run lower than full sell-through.
Adjust the assumptions

while the slot is live

days you actually work

Every µ$ is on the receipt - your take is the fixed rate stads pays, times your validated impressions, in whole integer µ$ (no floats, no hidden rounding).

A flat rate for every validated impression. Real money, not points.

stads buys your line at a fixed rate per 1,000 validated impressions - set by stads, independent of what the advertiser bid - in integer micro-dollars, paid 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
a fixed rate / view
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 (businesses)

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. You set a max bid; a second-price auction charges you the clearing price - never more - and you pay only for impressions that pass server-side validation. Invalid traffic is credited back, automatically. No images. No retargeting. No dark patterns. Advertising is offered to businesses only (B2B).

The math: bid $4 CPM, the runner-up bids $3, you pay $3 per 1,000 validated views - you never pay more than you need to.

you set
your max bid (CPM)
you pay
clearing price ≤ your bid
billed on
validated impressions
invalid traffic
credited back
who can advertise
businesses (B2B)
audience
AI-CLI developers
ad format
one line of text
stads - your terminal pays rent now · stads