An impression metric is only worth what it measures. If a network bills the advertiser the instant an ad renders, it’s measuring pixels painted, not attention paid — and that gap is where ad fraud and wasted budgets live. waitline is built the other way around: an impression bills only after real view time.
Render is not a bill
Showing the line costs nothing. The status line repaints constantly while you work, but a repaint is not an impression. waitline accumulates how long the ad was actually on screen and only bills once that crosses a threshold — 5 seconds of real view time by default. A line that flashed by for 200ms during a fast turn never counts.
Only real attention is credited
Laptops sleep; people walk away. Naive “time on screen” would happily bill an ad that sat on a locked screen overnight. waitline credits view time per turn — the moments you are actually prompting and reading — plus a short, bounded reading window after each response. Time the machine slept through, or sat idle on a locked screen, is not credited. What bills is attention that plausibly happened — not wall-clock.
Each impression is cryptographically bound to its price
When an ad is served, the client gets a signed capability token that encodes the viewer, the ad, the campaign, and the bid. The client can’t forge or alter it — it can only relay it back when the impression genuinely fires. So an impression can never be billed at the wrong price or attributed to the wrong campaign. (This is also what keeps earnings honest.)
Layers against fake impressions
Honest view time is the foundation; several guards sit on top:
- Per-session dedup — the same ad in the same session bills at most once.
- Per-(viewer, ad) cooldown — rapid re-billing across sessions is collapsed to a zero-charge audit row, not a charge.
- Minimum token age — a “viewed” event whose token is impossibly fresh (a bot replaying it instantly) is dropped.
- Earning caps — any one viewer’s payable earnings are bounded per hour and per day, so a farming account hits a ceiling fast.
The point isn’t to make faking impossible — no ad network can. The point is to make it worthless: real attention earns, noise doesn’t. That’s why advertisers can trust the numbers and developers can trust the payouts.