Effective June 12, 2026

Terms of Service

These Terms govern your use of BoringSpinner (“BoringSpinner,” “we,” “us”) — including the VS Code extension, the backend API, and the web portal at boringspinner.com. By installing the extension or creating an account you agree to these Terms. If you do not agree, do not use BoringSpinner.

Part A — Publisher Terms (Developers)

A1. What BoringSpinner does on your machine

When you install and sign into the BoringSpinner extension, BoringSpinner will:

  • Replace the single-line “thinking” spinner text shown by your AI coding assistant (Claude Code, Codex) with a single sponsored line of plain text.
  • Make network requests to api.boringspinner.com to fetch ad creative, report validated impressions and clicks, and update your earnings balance.
  • Modify ~/.claude/settings.json and, optionally, the installed Claude Code webview bundle. A byte-exact backup is taken before any modification; the “BoringSpinner: Restore Claude Code” command restores everything instantly.

BoringSpinner never reads your code, prompts, completions, or any editor content. See the Privacy Policy for the full technical detail.

A2. Revenue split — 50/50

BoringSpinner credits 50% of gross ad revenue to the publisher whose machine served each validated impression or click. The remaining 50% is BoringSpinner' platform fee. This split is computed server-side in a single ledger transaction:

  • Impression credit: 50% of the winning advertiser's per-impression bid, credited when your device reports ≥ 3 seconds of cumulative visible time (server-overridable via view_threshold_seconds).
  • Click credit: 50% of the advertiser's per-impression rate × 50 (the click multiplier).

Demo-mode impressions (served to signed-out users as a preview) are charged to the advertiser but carry no publisher credit — the platform retains 100% of demo-mode revenue.

A3. Earnings caps

To protect advertiser budgets and maintain auction integrity, BoringSpinner enforces:

  • Hourly cap: default $2.00 per device per hour, configurable by BoringSpinner server-side.
  • Daily cap: default $20.00 per device per calendar day (UTC), configurable by BoringSpinner server-side.

When a cap is reached, ads continue to display (so the marketplace stays honest about inventory) but no further earnings are credited to your account until the cap resets. The extension status bar shows the time remaining until reset.

A4. Payout — holding period and Stripe Connect

Earnings accrue in your publisher ledger from impression #1. Payouts are processed via Stripe Connect Express. You must complete Stripe Connect onboarding before any transfer can be initiated.

Payout holding period. After you connect your Stripe account, earned balances are held in a custodial Stripe account in your name for a period of 3–10 business days while Stripe processes BoringSpinner' platform-level approval. During this period:

  • Your balance is held in a custodial Stripe account in your name, not in BoringSpinner' operating account. BoringSpinner is not the beneficial owner of any publisher balance.
  • Earnings continue to accrue during the holding period.
  • BoringSpinner will notify you by email and via the extension status bar the moment payouts are enabled.

No payout warranty. BoringSpinner does not guarantee any specific payout date, minimum earnings, or that ad inventory will be available at any time. The marketplace is auction-based; if no advertiser bids above the serving floor, no ads serve and no earnings accrue.

BoringSpinner reserves the right to withhold payment if your account is suspended for fraud or a material breach of these Terms (see §A5), and to reverse credits determined to be fraudulent after further review.

A5. No-fraud commitment and suspension

You agree not to artificially inflate impressions or clicks by any means, including but not limited to: automated tooling, browser extensions, virtual machines, click farms, self-clicking, or coordinating with third parties to generate non-genuine interactions.

BoringSpinner uses server-side fraud scoring. Accounts exhibiting anomalous patterns (e.g. click rate > 5× the market average, impression volume inconsistent with device activity, multiple device IDs from a single IP) may be shadow-disabled (ads continue to serve but are not billed) pending review, or suspended without notice.

Suspended accounts may appeal by emailing legal@boringspinner.com. Fraudulent earnings already paid out are subject to clawback.

A6. Consent and reversibility

BoringSpinner requires explicit one-time consent before injecting any ad surface. You may disable individual ad surfaces via the BoringSpinner menu in VS Code or via the publisher dashboard.

The “BoringSpinner: Restore Claude Code” VS Code command performs a byte-exact restore of every file BoringSpinner has touched, verified by checksum. Uninstalling the extension automatically triggers a restore.

Part B — Advertiser Terms

B1. Funded accounts and billing

Advertisers must maintain a funded balance to bid. Balances are funded via Stripe Checkout (credit card or ACH). You cannot place an active bid with a $0 balance; if your balance falls below the minimum bid, your campaigns pause automatically.

Auto-top-up is available: configure a threshold and a top-up amount, and BoringSpinner will charge your saved payment method when your balance falls below that threshold.

B2. No refund on validated impressions

Charges for validated impressions and clicks are final and non-refundable. An impression is “validated” when the extension reports ≥ the configured view-threshold seconds of cumulative visible time. A click is validated when the click event is received by api.boringspinner.com with a valid nonce.

BoringSpinner may issue credits for technically invalid impressions (e.g., duplicate events bypassing server-side deduplication) at its sole discretion. Disputes must be raised within 30 days of the relevant charge.

B3. Ad surfaces are best-effort, not SLA

BoringSpinner does not guarantee any minimum delivery volume, impression rate, or geographic distribution. The auction is competitive; your spend rate depends on your bid relative to other active advertisers and live publisher inventory.

Surface availability (e.g., the Claude Code webview surface) depends on the publisher having a compatible version of the relevant tool installed. BoringSpinner makes no warranty that any specific surface will be available on any specific publisher device.

B4. Content moderation

All creatives are subject to automated and manual moderation before their first serve. BoringSpinner reserves the right to reject, pause, or permanently remove any creative at any time for any reason, including but not limited to:

  • Content that is deceptive, misleading, defamatory, or fraudulent.
  • Content that promotes illegal activity, violence, adult content, gambling, or controlled substances.
  • Content that impersonates another company, product, or person.
  • Content that violates any applicable law or third-party intellectual property right.

Rejected creatives may not be re-submitted without material changes. Repeated policy violations may result in account suspension without refund of remaining balance.

B5. Creative technical constraints

All creatives must comply with the following hard limits enforced server-side:

  • Text: plain text, ≤ 60 characters, no HTML or Markdown.
  • Icon: optional PNG, exactly 16×16 pixels.
  • Destination URL: HTTPS only; no redirects to non-HTTPS destinations.

Part C — General Terms

C1. Accounts and eligibility

You must be at least 18 years old and legally authorized to enter into contracts in your jurisdiction to create a BoringSpinner account. You are responsible for all activity under your account and for keeping your credentials secure.

C2. Intellectual property

The BoringSpinner extension is proprietary, source-available software. The source is publicly viewable for transparency; viewing the source grants no license to use, copy, modify, or distribute. See the full license at github.com/boringspinner/boringspinner.

You retain all rights to your ad creatives. By submitting a creative, you grant BoringSpinner a worldwide, non-exclusive, royalty-free license to store, display, and transmit the creative to publisher devices for the duration of your campaign.

C3. Disclaimer of warranties

BORINGSPINNER IS PROVIDED “AS IS” AND “AS AVAILABLE” WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR CONTINUOUS AVAILABILITY. BORINGSPINNER DOES NOT WARRANT THAT THE SERVICE WILL BE UNINTERRUPTED, ERROR-FREE, OR THAT ANY SPECIFIC EARNINGS WILL BE ACHIEVED.

C4. Limitation of liability

TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, BORINGSPINNER SHALL NOT BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES, INCLUDING BUT NOT LIMITED TO LOST PROFITS OR DATA, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. BORINGSPINNER' TOTAL CUMULATIVE LIABILITY TO YOU FOR ALL CLAIMS ARISING FROM OR RELATED TO THESE TERMS OR THE SERVICE SHALL NOT EXCEED THE GREATER OF (A) THE TOTAL FEES PAID BY YOU TO BORINGSPINNER IN THE 12 MONTHS PRECEDING THE CLAIM, OR (B) $100.

C5. Termination

Either party may terminate these Terms at any time. You may terminate by uninstalling the extension and closing your account. BoringSpinner may suspend or terminate your account for material breach of these Terms, fraud, non-payment, or for any reason with 7 days' notice (except for fraud or security incidents, where termination is immediate without notice).

On termination, your access to BoringSpinner services ends. Outstanding publisher balances above the minimum payout threshold will be paid out per the normal payout schedule unless the account was terminated for fraud. Advertiser balance remaining after all validated charges are settled will be refunded to the original payment method.

C6. Changes to these Terms

BoringSpinner may update these Terms from time to time. Material changes will be communicated via the extension status bar, by email, and by updating the effective date at the top of this page. Continued use of BoringSpinner after the effective date of revised Terms constitutes acceptance.

C7. Governing law

These Terms are governed by the laws of the State of Delaware, United States, without regard to conflict of law principles. Any dispute arising from these Terms shall be resolved exclusively in the state or federal courts located in Delaware.

C8. Contact

Legal notices and questions: legal@boringspinner.com