Getting Started — Publisher
Earn revenue by showing contextual native ads on your site. Free to join, instant setup.
Two ways to get started
Via API (agents, CLI, scripts)
Step 1: Analyze your sitecurl -X POST https://sponsoric.com/api/ads/analyze-site \
-H "Content-Type: application/json" \
-d '{"url": "https://yoursite.dev"}'Returns AI-classified site info and tags:
{
"url": "https://yoursite.dev",
"siteName": "Your Site",
"description": "A developer blog about building with APIs",
"tags": ["developer-tools", "api", "saas"],
"safetyScore": 9,
"safe": true
}curl -X POST https://sponsoric.com/api/ads/publisher-signup \
-H "Content-Type: application/json" \
-d '{
"email": "you@yoursite.dev",
"siteName": "Your Site",
"siteUrl": "https://yoursite.dev",
"tags": ["developer-tools", "api", "saas"],
"tempoWalletAddress": "0x..."
}'Returns your site ID, API key, and embed code:
{
"ok": true,
"publisherId": "your-site",
"apiKey": "sk_...",
"embedCode": "<script async src=\"https://sponsoric.com/api/ads/embed\" data-site=\"your-site\"></script>\n<div data-sponsoric-slot=\"in-content\" data-tags=\"developer-tools,api,saas\"></div>"
}Save the apiKey — you'll need it for all authenticated requests (checking earnings, requesting payouts, updating settings).
The tempoWalletAddress field is optional. If provided, your earnings are paid out to your Tempo wallet automatically. You can add or update it later via the settings API. Otherwise, configure Stripe Connect in your dashboard.
Important: Save both your wallet address and private key. The address is what you give us for payouts. The private key is what lets you spend or transfer those funds. If you lose the private key, the funds in that wallet are permanently lost. Store both somewhere secure before submitting your address.Step 3: Add the embed code
Add the script tag and ad slot divs to your site's HTML.
Via browser (humans)
Visit sponsoric.com/publishers and follow the 2-step wizard:
- Enter your site URL — we classify your content automatically
- Review, confirm, and copy your embed code
Embed options
Slot types
<!-- In-content (inline with your content) -->
<div data-sponsoric-slot="in-content" data-tags="your,tags"></div>
<!-- Sidebar -->
<div data-sponsoric-slot="sidebar" data-tags="your,tags"></div>
<!-- Floating corner (bottom-left or bottom-right) -->
<div data-sponsoric-slot="floating-br" data-tags="your,tags"></div>
<!-- Top banner -->
<div data-sponsoric-slot="top-banner" data-tags="your,tags"></div>
Responsive layouts
The embed script automatically adapts to its container size:
- Full (≥200px tall): Logo area + headline + body + attribution
- Compact (120-200px): Logo + headline + attribution
- Mini (<120px or <200px wide): Inline logo + headline
- Floating/Banner: Dedicated layouts with close button
Customization
Custom classes
Add any CSS class to your slot element — they're preserved and never stripped by the embed:
<div data-sponsoric-slot="in-content" data-tags="your,tags" class="my-ad-slot"></div>Default sizing
If you don't set an explicit height on an in-content or sidebar slot, the embed applies a sensible min-height automatically (50–100px depending on width). Floating slots are auto-sized to 330px wide. You can override any of these.
Overriding floating ad position
Floating ads (floating-bl, floating-br) are automatically positioned as position: fixed in the correct corner. Override any positioning value two ways:
<div data-sponsoric-slot="floating-br" data-tags="your,tags"
style="bottom: 32px; right: 24px; width: 360px;"></div><div data-sponsoric-slot="floating-br" data-tags="your,tags" class="my-float"></div>.my-float {
--sp-bottom: 32px;
--sp-right: 24px;
--sp-width: 360px;
}Available custom properties:
| Property | Default (floating-br) | Default (floating-bl) |
|---|---|---|
| --sp-position | fixed | fixed |
| --sp-bottom | 16px | 16px |
| --sp-top | — | — |
| --sp-left | auto | 16px |
| --sp-right | 16px | auto |
| --sp-z-index | 9999 | 9999 |
| --sp-width | 330px | 330px |
| --sp-max-width | calc(100vw - 32px) | calc(100vw - 32px) |
Theme
The embed auto-detects dark mode (via .dark on or prefers-color-scheme: dark) and adjusts colors automatically. To force a specific theme, add data-theme to your slot:
<!-- Force light mode regardless of site theme -->
<div data-sponsoric-slot="in-content" data-tags="your,tags" data-theme="light"></div>
<!-- Force dark mode regardless of site theme -->
<div data-sponsoric-slot="floating-br" data-tags="your,tags" data-theme="dark"></div>
Omit data-theme entirely to use auto-detection (default). Each slot can have its own theme override independently.
Revenue
- You earn 70% of every click on ads shown on your site
- Earnings are tracked in real-time in your dashboard
- Payouts via Tempo wallet (agents) or Stripe Connect (humans)
- Minimum payout: $10
- Store your wallet's private key — you need it to access your USDC
Content policy
Your site is screened by AI when you sign up. Sites with a safety score below 7/10 are automatically rejected.