Platform

Everything you need.
Already built.

Attribution, commissions, payouts, partner recruitment. Wired to Stripe and Paddle. Built for SaaS.

First-party attribution

Cookie-free tracking that survives ad blockers. Events hit your ledger in real time.

Multi-tier commissions

Percentage, flat, recurring, per-plan. Stack rules by product, tier, or partner.

Stripe Connect payouts

Bulk payouts that clear themselves, with a full audit trail behind every transfer.

Coupon attribution

Hand out Stripe or Paddle codes. Every redemption traces back to a partner automatically.

Refunds and clawbacks

Chargebacks and refunds auto-reverse the commission. Your ledger stays clean without you touching it.

Affiliate managers

Top partners recruit their own network. Overrides stack without cutting into partner pay.

Campaigns

Launch windows, seasonal pushes, tiered bonuses. Set them once, let them expire on their own.

Tracking links

Short branded links on your own subdomain. UTMs pass through untouched.

Workspaces

One workspace per brand. Partners, rates, and payouts stay fully isolated.

Outbound webhooks

Signed, retried, and replayable. Pipe every lifecycle event straight into your stack.

REST API and SDKs

TypeScript SDK, React hooks, a CLI for scripts, and an MCP server for AI agents.

Embeddable portal

Drop your partner dashboard into your own app with a single script tag. White-label ready.

Integrates with what you already run

StripeCloudflareVercelNext.jsResend

Multi-Workspace

One workspace per brand. Fully isolated.

Each workspace owns its own domain, commission rules, partner roster, and payout schedule. Switch between them in one click. Studio ships with 3, Scale with 10.

Workspace Switcher
A

acme.com

Current · 47 partners · $24,580 MRR

A

acme.com

47 partners

Scale
L

lumen.app

18 partners

Studio
N

notch.io

9 partners

Studio
+

Add workspace

Recruit-to-earn

Let your best partners build your team

Top partners recruit new affiliates and earn an override on every sale their roster drives. Managers get their own dashboard. You stay in control of the rates.

Manager Network+$1,240 this week
SC

Sarah Chen

Manager · 4 recruits · 10% override

$840

AR

Alex Rivera

Sales $2,400

+$240
MJ

Mike Johnson

Sales $1,900

+$190
KB

Kim Blake

Sales $1,600

+$160
TN

Tara Ng

Sales $1,500

+$150

Attribution without links

Every coupon code, tied to a partner

Assign Stripe or Paddle coupons to partners and every redemption is attributed automatically. No cookies, no scripts, no referral link required.

Coupons

SARAH20

@sarah_chen · 47 redemptions

$2,340

MIKE-10

@mike_builds · 12 redemptions

$480

ALEX15

@alex_rivera · 31 redemptions

$1,555

KIM-LAUNCH

@kim_blake · 8 redemptions

$320

4 active · 98 redemptions · $4,695 attributedStripe + Paddle

Automatic reversal

When the sale goes back, so does the commission

Stripe and Paddle chargebacks auto-reverse the matching commission. The partner is notified, your ledger stays balanced, and nobody opens a spreadsheet.

Commission Ledger · Pro Plan #4821

Sale captured

+$49.00

Pro Plan · $49.00 · partner @alex_rivera

Mar 18

Commission created

+$14.70

30% recurring · auto-approved

Mar 18

Refund received

−$49.00

Stripe chargeback · reason: customer request

Apr 09

Clawback applied

−$14.70

Commission reversed · partner notified

Apr 09

Net for partner$0.00

Real-time events

Every event, signed and replayable

Subscribe to commission.created, payout.paid, partner.recruited, and more. Every delivery is HMAC-signed, retried on failure, and replayable from the dashboard.

Delivery LogLive
POSThttps://api.acme.com/affihub/hookActive
commission.created2001/384ms
partner.recruited2001/362ms
payout.paid2001/3118ms
commission.clawback5002/3412ms
commission.created2001/371ms
Signing: HMAC-SHA256Retry: 3× exponential

Built for builders

Build on top of everything we ship

Every button in the dashboard has an API call behind it. Use the TypeScript SDK, drop in React hooks, script with the CLI, or hand the whole program to an AI agent through MCP.

commissions.ts
import { Affihub } from "@affihub/sdk";

const affihub = new Affihub({
  apiKey: process.env.AFFIHUB_API_KEY,
});

const commission = await affihub.commissions.create({
  partner_id: "p_38x",
  amount_cents: 1470,
  event: "Pro Plan signup",
});

@affihub/sdk

TypeScript

@affihub/react

Hooks + provider

affihub-cli

Scripting + CI

affihub-mcp

AI agents

OpenAPI · llms.txt · MCPRead the docs

Early Access

Launch your program on Affihub

Every feature on this page is shipped and running in production. Join the beta to get early access.

Get Early Access