BB
Lumi SDK

Sign In

Sign in to track earnings and manage your AI app

Loading...
Spins up a synthetic publisher account with $18.9K MRR and a live ad-request feed.
Total Earnings
$0.00
↑ 0% from last month
Impressions
0
↑ 0% from last month
Your Share
85%
RPM
$0.00
↑ 0% from last month
Revenue Over Last 14 Days
Mediation & Waterfall
Sources compete first-price per impression. Benna re-ranks on every bid.
B BENNA AUTO-ORDER · ON
1
Boost Boss Exchange
direct MCP demand · real-time
ECPM (7d)
$4.82
FILL RATE
94.2%
$
2
Direct Deals
PMP · Anthropic, OpenAI, Vercel
ECPM (7d)
$6.14
FILL RATE
28.7%
$
3
House Ads
backfill · your own promotions
ECPM (7d)
$1.20
FILL RATE
100%
$
3rd-party Networks
off by default · enable to test
ECPM (7d)
FILL RATE
$
$4.98
blended eCPM
99.4%
overall fill
842k
auctions / 24h
+18%
Benna vs manual order
Benna auto-order is on. The engine re-ranks demand sources on each impression using MCP context (user intent, tool, host) to maximize your eCPM. Last 7 days: +18% vs fixed waterfall. Turn off to lock the order above.
Integration Guide
1

Install the SDK

Zero dependencies, Apache-2.0, 8.5 KB gzipped.

npm install @boostbossai/lumi-sdk
2

Add your API key to env

Never commit your key to git. Use your platform's env var system (Vercel Settings → Environment Variables, Netlify, Render, etc.).

BB_API_KEY=bb_dev_sk_loading
3

Wire it into your AI response handler

Pick the tab for your stack. The snippet runs your AI call and ad fetch in parallel — zero latency impact on the chat response.

// app/api/chat/route.ts  (Next.js App Router)
import Anthropic from '@anthropic-ai/sdk'
import bb from '@boostbossai/lumi-sdk'

const anthropic = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY })
bb.configure({ apiKey: process.env.BB_API_KEY })

export async function POST(req: Request) {
  const { prompt } = await req.json()
  const host = (req.headers.get('host') || '').split(':')[0]

  // Fire Claude + ad in parallel — no latency added
  const [claude, ad] = await Promise.all([
    anthropic.messages.create({
      model: 'claude-sonnet-4-6',
      max_tokens: 1024,
      messages: [{ role: 'user', content: prompt }],
    }),
    bb.getSponsoredContent({ context: prompt.slice(0, 300), host, format: 'native' })
      .catch(() => ({ sponsored: null })),
  ])

  return Response.json({
    answer:    claude.content[0].text,
    sponsored: ad.sponsored,   // render this in your chat UI
  })
}
On the frontend, render response.sponsored — we provide a React component SponsoredCard that auto-styles based on ad.type. Request it and we'll send you the component file.
Verify your integration
Fire a synthetic ad request to confirm your setup is wired correctly.
API Keys & Credentials
API Key
bb_dev_sk••••••••••••••••••
App ID
app_loading
MCP Endpoint URL
https://api.boostboss.ai/mcp
Ad Formats You Accept
Est. monthly income:  (at current volume)
Toggling a format OFF removes that ad type from your auction. Higher-CPM formats (video, fullscreen) pay more but require more user attention — pick based on what fits your product's UX.
Earnings History
Date Impressions Your Earnings Clicks RPM Status
Payout Settings
Next Payout Date
Pending Payout
$0.00
Minimum Threshold
$100.00
Test Your Integration
Quick Start
const bb = require("@boostbossai/lumi-sdk");

// 1. Authenticate so impressions are attributed to your account.
bb.configure({ apiKey: process.env.BB_API_KEY });

// 2. Request a Benna-ranked ad for the current user context.
const ad = await bb.getSponsoredContent({
  context: "user is debugging a python traceback",
  host:    "your-app.com",
  format:  "native"      // "image" | "video" | "native"
});

// 3. Render and track. SDK fires the impression beacon for you.
if (ad.sponsored) {
  showAd(ad.sponsored);
  bb.trackEvent("impression", ad.sponsored.id);
}
Full Documentation Try in Playground npm Package