Skip to main content
TokoTubeIC OS

Afferent

A decentralized advertising network for censorship-resistant ad placement and monetization.

Afferent

Afferent - Decentralized Advertising Network

Afferent is a decentralized, on-chain ad network for the Internet Computer that lets any dApp monetize with privacy-preserving ads while giving advertisers a single entry point into the entire ICP ecosystem.

Instead of every project rebuilding its own ad stack, Afferent provides shared infrastructure: one network, one set of auctions, and one pool of liquidity that Seachan, HonkFM, and future Dappjak Labs (and non-Dappjak) dApps can all plug into.

Overview

Traditional ad tech is opaque, centralized, and tracking-heavy. Afferent flips that model for the decentralized web:

  • Single campaign, many dApps – Advertisers create one campaign that can run across multiple ICP applications.
  • Five-line integration for publishers – dApps drop in a simple component to start serving ads.
  • Everything on-chain – Ad creatives, auctions, bids, and analytics live entirely on the Internet Computer.
  • Transparent auctions – Second-price auctions with publicly auditable results.
  • Strong publisher economics – 70% of ad spend goes directly to the dApp hosting the ad.
  • No tracking, no profiles – Context-based targeting only; no cookies, fingerprinting, or cross-site user IDs.

Afferent is designed as standalone infrastructure rather than something baked only into Seachan. That makes it reusable for any ICP dApp that wants sustainable, censorship-resistant monetization.

Why a decentralized ad network?

Building dApps is one thing. Funding them long-term is another.

Most Web3 projects either rely on token launches or donation-style funding. Afferent explores a third path: shared advertising infrastructure that can support an entire ecosystem of applications without reintroducing Web2-style surveillance.

Key goals:

  • Sustainable monetization for ICP dApps – Publishers earn a predictable revenue share on every impression.
  • Network effects instead of silos – One network means advertisers get meaningful reach, even when individual dApps are small.
  • Censorship resistance – Ad creatives and auctions live on-chain, reducing reliance on centralized ad servers.
  • Privacy by design – Context-based targeting lets advertisers reach the right audiences without tracking individuals.

How Afferent works

Architecture

Afferent is built around a simplified multi-canister design:

  • IndexCanister – Coordinates the network, manages publisher registration, handles cycle distribution, and orchestrates auto-scaling.
  • AdService partitions – Horizontally scaled canisters that hold all ad-network data using CanDB:
    • Publisher accounts and settings
    • Advertiser accounts
    • Campaigns and targeting configuration
    • Ad creatives stored as chunked on-chain files
    • Bid records and auction outcomes
    • Impressions, clicks, and aggregated analytics

Instead of splitting functionality across separate user/app services, Afferent keeps all ad-related data in a single scalable service type (AdService) that can be partitioned as the network grows.

Second-price auctions

Every time an ad slot is requested from a participating dApp, Afferent runs a Vickrey (second-price) auction among eligible campaigns:

  1. Find all campaigns that match the context (e.g. board/category, publisher, country).
  2. Sort them by bid price.
  3. The highest bidder wins the impression.
  4. The winner pays the price of the second-highest bid, not their full max bid.

This mirrors how major ad platforms work but with transparent, on-chain mechanics and no black-box algorithms.

On-chain creatives & analytics

  • Ad images are stored fully on-chain using chunked file storage with SHA-256 verification.
  • Impressions and clicks are recorded as structured events that feed into campaign-level analytics.
  • Daily/total budgets and pacing logic ensure campaigns respect their configured limits.

Everything - storage, bidding, and reporting - runs directly on the Internet Computer.

For publishers (dApp developers)

Afferent is designed to be as low-friction as possible for dApp teams.

Integration

Publishers integrate via a small SDK and a drop-in component (for example, an AdSlot Svelte component) that they can place in sidebars, between posts, or in other UI regions. The component sends a context-rich but privacy-preserving ad request to Afferent and renders the returned creative.

A minimal Svelte integration looks like:

		<script>
  import { AdSlot } from '@afferent/svelte';
</script>
 
<AdSlot
  publisherId="your-dapp-id"
  slotId="sidebar-top"
  context="/tech/"
/>
	

Typical context includes things like:

  • The publisher ID (e.g. seachan, honkfm)
  • The slot identifier (e.g. sidebar-top, feed-inline)
  • A content context (e.g. a board slug like /tech/ or a music genre)

From there, Afferent handles:

  • Selecting a winning ad via auction
  • Returning the appropriate creative
  • Tracking impressions and clicks
  • Allocating revenue shares to the publisher

Economics for publishers

  • 70% of every impression goes directly to the publisher dApp.
  • Payouts are handled automatically on-chain, with publishers able to settle balances once they cross a small threshold.
  • Higher volume and better-performing ad placements translate directly into more ICP flowing back to the project.

The goal is to make it realistic for indie or experimental dApps to fund hosting, development, and growth without having to invent their own monetization stack.

For advertisers

On the other side of the market, Afferent gives advertisers a single interface to reach the whole ICP ecosystem.

Advertisers can:

  • Connect with Internet Identity.
  • Upload creatives as on-chain assets.
  • Configure campaigns with:
    • Bid amount (per impression)
    • Total and/or daily budget
    • Target publishers (e.g. Seachan, HonkFM, future dApps)
    • Target categories or contexts (e.g. tech, crypto, electronic-music).
  • Monitor performance in real time (impressions, clicks, CTR, spend, and revenue distribution).

Because the auctions are second-price and fully transparent, advertisers get fair pricing and clear insight into how their budget is being used across dApps.

Revenue model

Afferent's fee structure is designed to strongly favor publishers while funding ongoing development and ecosystem incentives:

  • 70% → Publisher (the dApp hosting the ad)
  • 20% → Afferent DAO (infrastructure + development)
  • 10% → Reward pool (to incentivize high-quality ads and healthy marketplace behavior)

Example:

  • Campaign spends 1 ICP over 10,000 impressions.
  • Publisher earns 0.7 ICP.
  • Afferent DAO receives 0.2 ICP.
  • Reward pool receives 0.1 ICP.

Over time, the reward pool and DAO governance are intended to move toward a fully decentralized model (e.g. via an SNS), aligning incentives between publishers, advertisers, and the broader community.

Technology stack

Afferent is built on the same decentralized cloud foundation Dappjak Labs uses across its portfolio:

  • Backend

    • Motoko smart contracts
    • CanDB for scalable partitioned storage
    • Internet Computer Protocol for hosting and execution
  • Frontend

    • SvelteKit + TypeScript
    • Tailwind CSS for styling
  • SDKs

    • TypeScript core SDK for interacting with the network
    • Svelte component library for quick publisher integration
    • React component library planned for future versions

This stack keeps everything end-to-end on-chain and open, while still feeling like a modern web application stack for developers.

Development status & roadmap

Afferent is currently in the planning and documentation phase, with architecture, whitepaper, and project structure already laid out. The next milestones include:

  • Implementing the IndexCanister and core AdService logic.
  • Building the auction engine and on-chain file storage.
  • Creating the publisher dashboard and campaign creation UI.
  • Shipping the first SDK (@afferent/sdk and @afferent/svelte).
  • Piloting integrations with Seachan and HonkFM before opening to all ICP dApps.

The bigger picture

Afferent is part of a broader experiment: can we fund open, censorship-resistant applications using shared, transparent infrastructure instead of opaque Web2 platforms or purely speculative token mechanics?

By combining:

  • On-chain storage and execution
  • Privacy-preserving, context-based ads
  • Clear revenue sharing for publishers
  • Ecosystem-wide reach for advertisers

Afferent aims to become a core monetization primitive for the Internet Computer - something any dApp can plug into to support sustainable, user-respecting growth.