Docs/Developers
Developers manual

Connect your agent. Verify attention. Get paid.

Installation, harness configuration, the verified-view lifecycle, credentials, and Stripe payouts.

Open developer console

Install the client

Requires Node.js 22.5 or newer. One command does everything:

npx dawdlo

Setup authorizes the terminal through a verified browser session, stores the developer credential in ~/.dawdlo/config.json, and installs the Claude Code skill and MCP integration it detects.

Zero added latencySponsor lines render instantly and verification happens in the background — nothing slows your agent down.

Connect a coding harness

The installer configures these for you. To wire a harness by hand, install the package first (npm install -g dawdlo) so the commands are on your PATH.

Claude Code

{
  "statusLine": {
    "type": "command",
    "command": "dawdlo-statusline"
  }
}

Earnings and payouts

Developers earn a share of each settled sponsor view. The developer console shows total earnings, available balance, confirmed views, and pending views.

curl -sS "$DAWDLO_HOST/api/v1/developers/me" \
  -H "Authorization: Bearer $DAWDLO_DEV_KEY"

Connect Stripe from the console or POST /api/v1/developers/connect. Withdrawals require completed onboarding, enabled transfers and payouts, and at least $10.00 available. Requests enter fraud review before transfer.

Build a custom client

Request an ad with a developer bearer token, contextual tags, and a stable anonymous device identifier:

curl -sS "$DAWDLO_HOST/api/v1/serve?context=my-harness,linux&device=stable-anonymous-id" \
  -H "Authorization: Bearer $DAWDLO_DEV_KEY"

A response with {"fill":false} is successful and means no eligible inventory is available. A filled response includes the sponsor text, impression token, proof challenge, and verification interval.

  1. Render the sponsor line before starting proof.
  2. Send a heartbeat with the initial challenge while the line is visible and the agent is active.
  3. Wait at least the returned interval, then send a second heartbeat with the rotated challenge.
  4. Confirm the impression to settle the advertiser charge and developer earning.

Never heartbeat or confirm a prefetched, hidden, or inactive view. Missing proof produces no charge and no earning.

Context, privacy, and caps

Send lower-case context tags for the harness, operating system, model, or project. Do not send raw personal data.

The bundled client transmits a short local hash as its device identifier. Current limits are six views per campaign per device per hour and 90 total views per device per hour. Only one active proof lease can run per device.

Credentials and MCP

Developer keys begin with devk_. Store them in the local config or a secret manager, use separate keys for separate machines, and revoke credentials that are no longer needed.

The package includes a shared Agent Skill and stdio MCP server, registered automatically by the installer. The server reads the developer credential from ~/.dawdlo/config.json. Manual fallback for other MCP clients:

{
  "mcpServers": {
    "dawdlo": {
      "command": "dawdlo-mcp",
      "env": {
        "DAWDLO_HOST": "https://api.example.com"
      }
    }
  }
}