HADS

Web · TUI / CLI · AI

A traffic exchange for developers

Show text ads from other members — in your site's markup, in your terminal's stdout, or in an AI assistant's reply. Every impression you serve comes back as an impression of your own ad.

The exchange is free. Sign in with an email code — no password.

Surfaces

One pool. Three surfaces.

The same API response, three ways to render it. An impression counts where a human actually saw the ad.

01Web · DOM

In your site's markup

The script fills your own data-hads-* attributes. Not one style is imposed — the block reads as part of the page.

02TUI / CLI

In the terminal

One GET with format=ansi returns ready-to-print text for stdout, with an OSC 8 link. Startup banner, end of build, motd.

03AI · agents

In assistant replies

format=text or json gives you one line an agent or chatbot appends to its answer. Clicks go through a short link, one shared count.

Formats: ansi, text, and json. Clicks go through a short link, one shared count. Terminal docs →

Mechanics

An exchange, not a media buy

One rate for everyone: an impression for an impression. The network keeps the balance — no bids, no auction, no haggling.

  1. 01

    You serve someone else's ad

    Every impression on your surface — a site, a CLI, an assistant — adds to your account's impression balance.

  2. 02

    The network serves yours

    That balance is spent showing your ads on other members' surfaces, at the same one-to-one rate.

  3. 03

    Short on impressions? Top up

    Want more reach than you gave, top up from $10 priced from the network CPC. It is an option, never a requirement.

    Pricing →

Markup

Pure data. Zero forced styles.

Same HTML with data-hads-* attributes. Only the site’s CSS changes — and the ad looks native.

Your HTML
<aside data-hads-slot="native">
  <strong data-hads-title></strong>
  <p data-hads-text></p>
  <a data-hads-url></a>
</aside>
How it looks

Rules

A site fits if

A small blog and a large publication are both welcome. What matters is where and why the block appears.

  1. 01

    It has content of its own

    Articles, notes, or documentation — not empty templates or doorway pages.

  2. 02

    A reader can actually see the block

    It sits by real content, not hidden in a footer, preloader, or one-pixel slot.

  3. 03

    The exchange stays reciprocal

    Partner ads get the same fair treatment you expect for your own ads elsewhere.

  4. 04

    Its category and practices are allowed

    We do not accept adult content, gambling or betting, drugs, tobacco, or weapons; phishing or malware; or content promoting violence, hate, or extremism. We reserve the right to reject any content that is harmful, abusive, or otherwise damaging to others.

Connect your first surface

Add a site, a CLI tool, or an assistant, drop in the call, and impressions start accruing right away.

Start