Frequently asked questions
Everything people actually ask, in one place. The deep references live in the docs, the network policy, and the privacy policy.
General
›What is OpenCrater, in one sentence?
Sponsorship for terminal tooling: open-source CLI tools, MCP servers, and AI coding agents show small, polite Blips, and their maintainers get paid for every impression and click — Blips for the terminal, built with the restraint that surface demands.
›Which CLIs are supported?
Claude Code (30 hook events), Codex (8), and Antigravity (11) render cards today via their native hook systems. OpenClaw only exposes in-process plugin hooks, which can't paint the terminal — support is pending an external hook system, and we say “coming soon” rather than pretending. Any other tool can integrate directly through the SDKs.
›Why would developers tolerate Blips in a terminal?
Because the rules are absolute and enforced in code, not promised: a quiet gap between any two cards, the same Blips never twice in 5 minutes, dismissed Blips gone for 10, audio at whisper volumes with its own caps, every card labeled and dismissible, and a one-command opt-out. The model only works if developers don't resent the cards — every incentive points at restraint.
›What does it install, and can I audit it?
The SDK is opencrater on npm (TypeScript), wired up by theopencrater installer. The installer is open — you can read exactly whatnpx opencrater on changes (it only adds OpenCrater's own hooks, andnpx opencrater off removes only those). Everything runs locally and fail-silent; opt out anytime with npx opencrater off orOPENCRATER_DISABLE=1.
For terminal users
›How do I turn this off completely?
npx opencrater off — or set OPENCRATER_DISABLE=1. Opted-out machines render nothing and send nothing, not even the anonymous install ID.OPENCRATER_MUTE=1 silences audio while keeping cards.
›What data leaves my machine?
Coarse signals only: the package showing the card, the hook event, an anonymous random install ID, up to 12 aggressively-sanitized keyword tokens, OS family, terminal program name, and SDK version. Never prompts, code, paths, file contents, or credentials — the sanitizer destroys anything secret-shaped on your machine before any request, and the server re-sanitizes on arrival. The privacy policy documents every field with retention times.
›I dismissed a Blips — why is it back?
It shouldn't be within 10 minutes: ✕ starts a local 10-minute block for that campaign on your machine. A different campaign may still render after the normal quiet gap. If the exact same Blips reappears within 10 minutes, that's a bug — report it.
›How do I dismiss a card without a mouse?
npx opencrater x from any shell on the machine. It clears the card instantly, works offline, and records the dismissal.
›How do I report a bad Blips, and what happens when I do?
⌘-click the ⚑ on the card. Three things happen: the campaign is blocked on your machine permanently (tracked locally — the list never leaves your device), a short form opens where you pick a reason from a dropdown, and the report lands in a human review queue. Serious reasons (scam, malware, offensive, broken) also dampen the campaign's ranking network-wide, so a pattern of such reports buries a Blips long before a reviewer pauses it — while preference reasons ("not relevant", "too often") only affect what you see and never hurt the advertiser. Reporting is anonymous.
›Can I see a Blips again after dismissing it?
There's no replay command — once a card is dismissed it stays gone. The last card's payload is kept locally only so the SDK can avoid re-counting the impression or charging anyone, not to re-display it on demand.
›Why did VS Code ask me to trust a domain?
VS Code prompts once per domain for ⌘-clicked links. The ✕ and audio controls use 127.0.0.1 and never prompt; the CTA link goes to the sponsor's site, so the first click asks once. Accept it, or add the domain under Workbench: Trusted Domains.
Compute wallet
›What is the compute wallet?
A way to earn AI compute (not cash) by seeing Blips while you code in any supported CLI — Claude Code, Codex, Antigravity, or Copilot CLI — then spend it when you hit your weekly limit. Attention in, compute out.
›How do I start earning?
npm i -g opencrater, then opencrater login to link the machine, then opencrater on to wire the hooks into every CLI you have (Claude Code, Codex, Antigravity, Copilot CLI). Keep coding — the cards you see in any of them credit your wallet. New accounts get a one-time starter grant immediately so you can try it.
›How do I spend it?
When you hit your limit, run opencrater claude, opencrater codex or opencrater grok (add -c / resume --last to resume the session it cut off). It launches that agent on your earned compute — only for that process — and meters each request against your balance. (Spend support keeps expanding; earning already works across all supported CLIs.)
›Is it real money I can withdraw?
No. The wallet is AI compute you spend on your coding sessions, not a cash balance. (The separate maintainer side — earning from impressions and clicks — is cash, paid in USDC.)
›Does it mess with my normal Claude/Codex login?
No. opencrater claude applies only to the session it launches — no approval prompt, no re-login. Your plain claude keeps using your own subscription. It's a backup for when your weekly plan runs out: paid weekly, rolls over, and unused compute expires only after 30 days untouched.
›Does my token expire? Do I log in every time?
No — device tokens don't expire. Log in once per machine and you're set.
›Is clicking my own cards considered fraud?
No. For the wallet, you are the audience — engaging with cards in your own session is the model. (A publisher earning from Blips shown to other people is the fraud-gated case, and it's separate.)
For publishers
›How much can my package earn?
You earn a share of every Blips shown on your package's surface and every confirmed click — clicks are the headline, impressions add a small per-view earning on top. Earnings scale with real usage of your tool — sessions, not stars — and clear after the fraud window, withdrawable in USDC.
›Is it safe to ship my serve key in a public installer?
Yes — that's the design. The ock_ key can only attribute impressions to your package for payment; it cannot spend, read your account, or do anything else. Rotate it from the dashboard whenever you like.
›Which placements should I enable?
The recommended set per host (e.g. SessionStart + Stop on Claude Code, Stop on Codex). Enabling everything is the classic mistake: dismissal rates climb, the ranking penalizes your surface, and revenue drops. Fewer, better-placed cards earn more.
›What renders when no campaign fills?
Your funding fallback (e.g. your GitHub Sponsors link) if you set one — the slot always works for you. Otherwise nothing renders.
›When do clicks become withdrawable money?
Click → pending (fraud window) → available → withdraw as USDC on Base or Ethereum. Small withdrawals auto-pay; larger ones go through the payout queue.
›Do I have to tell my users?
Yes — a README line mentioning Blips and the opt-out is required by the policy. The cards themselves are always labeled “Sponsored” with the opt-out printed in the footer, so there's nothing covert to begin with.
For advertisers
›How does pricing work — is my CPC what I pay?
Your CPC is a bid. The auction ranks bid × predicted CTR × relevance, so relevant Blips win cheaper. You pay your bid (times regional multipliers) per confirmed click — the headline price — plus a small flat per-impression fee; fraudulent clicks are never billed.
›What happens to my money when I submit a campaign?
The full budget moves into escrow locked to that campaign. Clicks accrue all day and debit the escrow once every 24 hours — the dashboard shows the pending debit and next settlement time. Cancel anytime: accrued clicks settle, the unspent remainder returns to your balance instantly.
›How long does review take, and what gets rejected?
Reviews are human and queue oldest-first; most clear quickly. Common rejections: unverifiable claims, vague titles, illegible logos at terminal scale, audio that sounds like an alarm or a commercial. Rejections always include the reviewer's written reason — fix and resubmit without re-funding.
›Can I edit a live campaign?
Yes, but edits take it off the air immediately and back through review (a confirmation dialog warns you first). Budget, stats, and clicks-so-far are untouched. There is deliberately no way to swap creative on a running campaign unreviewed.
›Why is my campaign approved but not serving?
Usually targeting: placements that publishers haven't enabled, countries your audience isn't in, or package-type/category combinations with little inventory. Loosen one axis at a time. The campaign page's delivery breakdown shows where impressions are happening.
›What does the dismissal rate on my campaign mean?
The share of renders where a user pressed ✕ — the strongest feedback signal you get. Above ~5% we surface advice; high rates rank your campaign down. Shorter copy, a concrete benefit, and narrower targeting fix most of it.
Audio Blips
›What are the hard rules for audio?
≤ 25 seconds (validated at upload and clamped at playback) · 40% volume by day, 20% at night, user-local time · actually plays at most twice per 10 minutes per machine no matter how often cards render · a live waveform with a working pause button shows whenever sound plays · OPENCRATER_MUTE=1 always wins.
›Can a text Blips have audio?
Yes — any format can carry an optional audio track. Upload it in the “audio track” field on the create-Blips page; reviewers listen to the full track before approving.
›I don't have an audio file — how do I make one?
Generate one at elevenlabs.io — write one calm sentence about your product, pick a conversational voice, slow the pace slightly, and export mp3. New accounts get free credits, which is more than enough for a 15-second spot. Remember it plays at 40% volume inside someone's working terminal: a colleague mentioning something, not a commercial.
›What audio gets rejected in review?
Jingles, shouting, music beds that fight speech, anything over 25 seconds, and — instantly — sounds that mimic system alerts, sirens, or notification chimes.
Money & USDC
›Why USDC instead of bank transfers?
Maintainers are global; USDC on Base or Ethereum pays anyone with a wallet address in minutes, with no minimum-country list. Balances are accounted in USD throughout — USDC is just the settlement rail.
›Are on-chain payments private?
No — blockchains are public, permanent ledgers. Your payout address, amounts, and transaction hashes are visible to anyone forever. Choose your payout address with that in mind; the privacy policy covers this in detail.
›I sent a withdrawal to the wrong address.
On-chain transactions are irreversible — neither we nor anyone else can claw back a confirmed transfer. Triple-check addresses before withdrawing; we show the full address at confirmation for exactly this reason.
›How is the ledger kept honest?
Every money movement is a double-entry transaction that must sum to zero, checked by invariant tests and a nightly audit. Escrow, refunds, clawbacks, and payouts all flow through the same ledger — there is no side channel.
Trust, fraud & safety
›How do you stop click fraud?
Every click runs heuristics — sub-human click speed, velocity per install and hashed IP, datacenter IPs, self-click correlation, CTR outliers, geo velocity. Flagged clicks are held (publisher unpaid, advertiser unbilled) and reviewed by a human. Confirmed fraud is clawed back; repeat offenders are suspended and forfeit pending balances.
›Can I test my own integration without committing fraud?
Render away — impressions won't flag you. Just don't click your own cards: self-clicks are the canonical fraud signal. Use OPENCRATER_DEBUG=1 to verify behavior without clicking.
›What if a rogue advertiser slips something past review?
Users reporting a Blips triggers manual review regardless of metrics; violating campaigns are paused or cancelled, and deception forfeits network access. In a true incident there is a global kill switch that stops all rendering network-wide within minutes.
›Who reviews the Blips?
Humans, every creative, before it serves — including listening to full audio tracks. Reviewers see the card exactly as terminals render it.