DOCS · HOW KICKBAGS WORKS

How Kickbags works

Ads in the Claude Code spinner. Developers earn 50% in USDC on Base, settled on-chain. Built in the open, spec by spec.

Verify on-chain (BaseScan)
HOW IT WORKS

Three steps to your first payout

1

Install + connect

Add the Kickbags extension and connect a Base wallet by signing once. The extension never holds your private key — it carries a scoped device token.

2

Earn while you code

One-line ads appear in the spinner while Claude works. You earn per verified impression. No clicking required; nothing interrupts Claude.

3

Withdraw anytime

Cash out your accrued balance whenever you want — no minimum, from your very first ad. You pay the gas; the protocol covers the rest.

THE SYSTEM

Three layers, one verifiable loop

Advertisers fund budgets on-chain. Developers earn for attention. Every payout settles on Base and is verifiable.

Editor extension

Shows the ad, measures real visible time, and lets you withdraw. Never runs ad code, never injects, never blocks Claude.

Backend service

Serves the best eligible ad and credits a verified impression past a visible-time threshold. Custodies no funds; moves nothing without a valid signature.

On-chain escrow

Advertiser budgets live segregated per campaign — no shared pool. Payouts are EIP-712 signed and settle on Base; the 50% is enforced in code.

THE MONEY

The golden rule: you keep 50%

The developer who shows the ad always earns 50% of what the advertiser pays, in USDC. No token, buyback, or staking can reduce, delay, or gate it.

50%to the developer
50% · Developer (USDC)The golden rule. Paid out on-chain when you withdraw.
30% · OperationsRunning the protocol and the product.
20% · $KICK buybackBuys back $KICK from real ad revenue (see below).

The platform side is the only part governance can re-divide. The developer's 50% is an invariant — it never changes.

$KICK · OPTIONAL UPSIDE

Value from real revenue, not emissions

The ad business pays developers in USDC and stands on its own. $KICK is an optional token layer on top whose value derives from real revenue.

Ad revenue + swap fees

A share of ad revenue and the token pool's swap fees.

Buy back $KICK

Bought back on-chain, automatically — no sell pressure.

Stakers receive it

Bought-back $KICK flows to a staking vault, on-chain.

The $KICK engine is built and tested on testnet — not live yet, and it never touches the developer's 50%.

BUILT IN THE OPEN

Spec-driven, test-first

Every feature starts as a written spec before any code. A short constitution governs the repo and takes precedence over any other practice.

Real on-chain transparency

Anything promised as verifiable is readable on-chain. The backend authorizes payouts by signature and custodies no funds.

Test-first contracts

No contract ships without a green suite: valid/invalid signatures, expired deadlines, double-spend, budget overruns, pause.

Never harm the host editor

An ad can never execute, inject terminal sequences, or block Claude. Network failures degrade silently.

Correct money units

Integer micro-USDC (6 decimals) everywhere — contract, database, API, UI. No floats for money.

Payment security

EIP-712 signed payouts with deadlines, reentrancy-guarded, with a pause kill-switch.

Honest demo, MVP first

Testnet before mainnet. If something is pending or weak, it's documented as a risk — not hidden.

SPEC CATALOG

What shipped, in order

Each feature is a numbered spec in the repo. Public-level summaries of what each one delivers.

001

End-to-end testnet demo

The full ad → earn → settle loop, verified on-chain on Base Sepolia.

002

$KICK token engine

Buyback + staking on top of the ad business — built and tested on testnet.

003

Production hardening

Anti-fraud impression accounting: an impression counts only after enough server-measured visible time, with per-hour caps.

006

Wallet-authenticated metrics

Only a wallet that proves ownership (by signing) can accrue earnings — closes self-crediting and sybil-grief.

007

On-demand withdrawals

Withdraw your accrued balance anytime, no minimum, in one transaction; you pay gas; anti-replay on-chain.

009

Ad moderation gate

No ad serves until a human approves it; editing served content sends it back to review (anti bait-and-switch).

010

Advertiser revert

Cancel a pending edit and restore your last approved content — can never self-approve new content.

011

One-click extension pairing

Connect your wallet to the extension by signing once — no copy-paste of tokens.

TRUST & SAFETY

What we protect

Per-campaign escrow

Advertiser funds are segregated by campaign on-chain; a payout only ever debits the specific campaigns that earned it, never a shared pool.

Signed, replay-proof payouts

Every withdrawal is an EIP-712 authorization with a deadline, anchored to your on-chain cumulative balance so a stale or reused proof reverts.

Wallet-authenticated earning

Earnings accrue only to an authenticated session that proved wallet ownership; the server measures visible time itself.

Human-moderated ads

Every ad is reviewed before it can serve; served URLs are validated (https only, no IP literals, no link shorteners); abusive advertiser wallets can be banned.

Editor-safe by design

Ads are text. They cannot run code, inject terminal escape sequences, or interfere with Claude. The extension degrades silently on any failure.

STATUS & ROADMAP

Testnet today, mainnet next

Kickbags runs on Base Sepolia (testnet) so the whole loop can be exercised end-to-end for real before mainnet. We document what's pending instead of hiding it.

Base Sepolia · testnet

Independent security audit of the escrow (and the token engine if launched).

Move the contract owner and signer to a multisig / timelock.

A stronger usage-review / anti-sybil layer.

Production infrastructure, a real advertiser, and legal / regulatory review.

Publish the extension to the VS Code Marketplace and Open VSX.

FAQ

Common questions

Do I have to click ads?

No. You earn per verified impression while you code. Clicking is never required.

When can I withdraw?

Anytime, from your first ad. No minimum. You pay the gas.

Where do my earnings live?

Accrued against on-chain budgets, then paid to your wallet on Base when you withdraw. Always verifiable on-chain.

Can an ad break my editor or run code?

No. Ads are text only and cannot execute, inject, or block Claude.

Is this live on mainnet?

Not yet — it runs on Base Sepolia testnet while audits and multisig are completed.

What is $KICK?

An optional token whose value comes from real ad revenue via buyback + staking. It never affects the developer's 50%.

Get paid to code.

Install the extension, connect a Base wallet, and start earning in your editor.

Verify on-chain (BaseScan)