One sponsored line in your coding agent's status bar. Sold by the second, settled straight to your wallet in SOL. Seventy percent to you.
The bottom line is the inventory. Everything above it is the operator's own work, and never leaves their machine.
Lost your token? Register the same wallet again. Earnings are held against the wallet, not the token, so a new token sees the same balance β and old tokens keep working, one per machine.
printf, cat, date. Claude Code has one status-line slot β this replaces what is in it.You bid per thousand rendered minutes. A second only bills if the agent did real model work across it, so an idle machine costs you nothing β and your deposit is a hard ceiling, never a target.
Preview updates in the terminal above as you type.
Campaigns are created with x402. Request it and you get a
402 carrying the exact amount, mint and recipient β pay it from any
wallet or agent, then retry with the X-Payment header.
Claude Code passes the status line a rich payload β working directory, repository, branch, model, spend. Most of it is exactly the targeting data an ad network would want. Here is that payload, and here is everything we upload.
{
"cwd": "/Users/you/dev/perps-mm",
"workspace": {
"repo": { "owner": "you", "name": "perps-mm" },
"git_worktree": "hedge-rewrite"
},
"model": { "id": "claude-opus-5" },
"cost": { "total_cost_usd": 4.11,
"total_api_duration_ms": 91240 },
"context_window": { "total_input_tokens": 155300 },
"transcript_path": "/Users/you/.claude/β¦"
}
1788340193 {
"sessionId": "abc123",
"seq": 47,
"adId": "cmp_9f2a71c4",
"apiMs": 91240,
"inTokens": 155300
}
The status line is printf, cat and date. It appends bytes to a file and prints a file. There is no parser in your editor to leak anything, and no network call to leak it over.
Six fields. No path, no repo, no branch, no prompt, no transcript, no code. Targeting, if it ever ships, happens on your machine β inventory comes to you and the choice never leaves.
apiMs and inTokens come from Claude Code and only ever go up. If neither moved, no model work happened and the second is worth zero. Idling earns nothing.