SovAds Docs

SovAds Protocol

Drop the SDK on a site to earn for every verified impression. Run on-chain ad campaigns on Celo with built-in CTA tasks, viewer rewards in G$, and a settlement contract you can read yourself.

Pick the path that matches what you're building. Each one is a self-contained track — start there and follow the in-page links.

Quick install

Register a site at /publisher to get your siteId, then drop this in:

pnpm
pnpm add sovads-sdk
npm
npm install sovads-sdk
yarn
yarn add sovads-sdk
banner.ts
import { SovAds, Banner } from 'sovads-sdk'

const ads = new SovAds({ siteId: 'site_YOUR_SITE_ID' })
const banner = new Banner(ads, 'ad-container')
await banner.render()
No bundler? Drop in a script tag
<div id="ad-container"></div>
<script type="module">
  import { SovAds, Banner } from 'https://ads.sovseas.xyz/_sovads_sdk/index.js'
  const ads = new SovAds({ siteId: 'site_YOUR_SITE_ID' })
  await new Banner(ads, 'ad-container').render()
</script>

Want the raw markdown?

Every doc page has a Copy as Markdown button at the top — perfect for pasting into Cursor, Claude, or ChatGPT. There's also a full /llms.txt summary of the protocol.

For Publishers

You run a site or app and want to earn G$ when verified humans see ads.

For Advertisers

You want to run campaigns on Celo, optionally with CTA tasks (visit, sign, poll, survey, on-chain).

Core concepts

TermMeaning
siteIdPublisher identifier of the form site_<publisherId>. Auto-detected from domain when omitted.
fingerprintAnonymous device identifier. Stored in localStorage as sovads_fingerprint_v1.
trackingTokenServer-issued opaque token returned with each ad. Authenticates impression / click events for that ad.
SovPointReward unit. 1 SovPoint redeems for 1 G$ on Celo. Earned by viewers, paid by advertisers.
G$GoodDollar SuperToken on Celo. The settlement currency for the entire protocol.
CTA taskAn optional action attached to (or standalone alongside) a campaign — visit, sign, poll, survey, on-chain call.