@carbonads/sdk · early access

Ads in the terminal.
Yes, really.

One respectful ad, at a breakpoint you choose, in the tools developers actually work in. We’re looking for the first wave of tool authors to build it with us.

The SDK is young. The network behind it is not—it’s the one that’s run on Bootstrap, Vue.js, and hundreds of open-source sites since 2010.

Most ad networks would ship this page two years before the product worked and blame “beta” when it didn’t. We’d rather show you exactly what ships today, what doesn’t yet, and let you decide if you want in early.

$ npm install @carbonads/sdk ink react
Render <CarbonAd interactionId="main" /> and a demo ad appears — no signup, no key, no call with sales.

The pitch, rendered

What your users see & what you write

Each demo is labeled with the SDK call that powers it. If it’s shown here, you can build it today.

Terminal — post-command
npm install
added 847 packages in 12s
Fly.io
Deploy app servers close to your users. Run full-stack apps in 30+ regions. No ops required.
ads via Carbon
npm run build
compiled successfully in 3.2s
powered by renderCarbonAd({ serve, placement }) — one await after the work is done
AI Coding Assistant
You
Refactor this function to use async/await instead of callbacks
Assistant
Done — here’s the refactored version using async/await, with a try/catch replacing the nested callbacks.
WorkOS
Your app, Enterprise Ready. Add SSO and SCIM support in minutes.
ads via Carbon
powered by <CarbonAd interactionId={sessionId} /> — rotates between sessions, never mid-answer
Terminal UI — status panel
PASS src/utils.test.js (0.84s)
PASS src/api.test.js (1.23s)
Test Results — 5 passed, 0 failed
Datadog
Monitor your entire stack. Tracing, metrics, and logs in one platform.
ads via Carbon
powered by <CarbonAd interactionId={view} /> in your Ink layout — or fetchAd() for any custom surface
Illustrative mockups — actual presentation adapts to your tool’s width, borders, and colors.

Status board

Shipped today & not built yet

What works today and what doesn’t, in public. If it’s not in the left column, we won’t pretend it is.

✓ Shipped today

Ink terminal components
A bordered card for TUIs and one-shot CLI output—text by default, “ads via Carbon” built into the frame.
AI-assistant breakpoints
Ads rotate only when a conversation or session changes, with a 30-second minimum display window.
Fail-safe by design
A hard 5-second cap on every request. Failures render nothing—or your fallback house ad—and never break your tool.
Zero user data
A terminal request carries the zone key, placement, and SDK version—no cookies, no fingerprinting, no identifiers. Targeting is zone-based only.
Headless API with creative assets
fetchAd() returns the ad’s text, images, logo, and background color. Image-capable terminals and custom surfaces aren’t limited to the text card.

◌ Not built yet

CI & piped-output detection
No detection yet—if you need it today, gate the SDK call in your own code.
Offline ad cache
No local store yet. No network means no ad, and nothing breaks.
IDE extension components
No editor renderer yet. fetchAd() is the only path to an IDE panel today.
User opt-out flag
No standard env var yet. You can wire your own kill switch around the SDK.
Impression reporting
The SDK builds view-beacon URLs but doesn’t fire them yet. Clicks are tracked; impressions aren’t.
There’s no fixed roadmap behind this list. Early tool authors decide what gets built next.

Why join early

What founding publishers get

01

Demand from day one

The advertisers already buying developer attention through Carbon fill your tool from day one.

02

A direct line, not a ticket queue

Early integrations talk to the team building the SDK. The people who wrote the code answer your placement questions.

03

Rails that already pay

Payouts run through the same BuySellAds system web publishers already rely on. The new part is the surface—not the money.

Straight answers

Questions you should ask any ad network

Will this annoy my users?
That’s the thing we optimize against. One clearly-labeled ad at a breakpoint you choose, never mid-task. The default card is plain text; if your surface renders images, the campaign’s creative is there to use—your call, not ours.
What kinds of ads will show?
Developer tools and services—the same hand-picked advertisers you’ve seen in Carbon placements around the web. Curation is the product. If it wouldn’t belong on an open-source docs page, it won’t show in your terminal.
How much will I earn?
It depends on your usage volume and audience, and this surface is new, so we won’t quote you a fantasy number. The track record below is the best signal we can give you.
$120M+
Paid to publishers, on time
600+
Active advertisers today
Est. 2010
Funding the independent web ever since
Apply for early access

Help us build this the right way

Tell us about your CLI tool, TUI, or AI assistant.
If it’s a fit, we’ll set you up with a zone key and get you live.