Features

Every affiliate program feature in one open-source app

OpenPromoter tracks referrals, pays partners and catches fraud for SaaS teams. AI handles the weekly program work. The free self-hosted version has all 73.
features listed on this page
73
features listed on this page
feature groups
10
feature groups
added to partner payouts
0%
added to partner payouts
features missing from self-host
0
features missing from self-host

The core

Five features that run the program

Each one has its own page with the rules it follows and the questions founders ask.

The full list

All 73 features by group

Everything below ships in the open-source code and in every Cloud plan.

Setup

From Stripe key to a live program in one sitting.

Connect Stripe
OAuth on Cloud or a restricted key when self-hosting. The webhook endpoint is registered for you.
Import on connect
Products, prices, customers with lifetime value and active subscriptions. The program starts from real data.
AI program designer
Commission, duration, cookie window, hold, minimum, double-sided reward and tiers. Each comes with its reasoning.
Portal branded from your site
Logo, color and product copy read from your website and adjusted for contrast. Edit before publishing.
Custom domain
Run the portal and short links on partners.yourapp.com. Available from Cloud Starter and on any self-hosted instance.
Install your way
One script tag, the npm SDK or one prompt for Claude Code or Cursor. Setup confirms when op.js is live.
Import from your old tool
Drop in a partner CSV exported from Rewardful, FirstPromoter, Tolt or PartnerStack. Partners keep their referral codes.
Test mode
Stripe test-mode sales are tagged Test. One click deletes them before you go live.

Tracking and attribution

Credit the right partner even when cookies don't survive.

How affiliate tracking works
First-party cookie
Lasts 60 days by default and can change per program. Choose first-click or last-click.
Server-side attribution
Click ids are passed in Stripe client_reference_id and metadata. Commissions are booked on paid invoices.
Coupon codes
Give partners codes; OpenPromoter can create the matching Stripe promotion code. Sales with a code need no click.
Signups and trials
Record leads from the browser or your server; trials turn into commissions on the first paid invoice.
Short links, deep links and QR codes
Short links to any page, sub-ids and UTMs on every click and a QR code for every link.
EU consent mode
data-consent="required" keeps the cookie off until your banner says yes. Click ids still pass through checkout.
Cookieless mode
data-storage="none" never sets a cookie; attribution uses the click id passed to checkout.
Ad-blocker-proof proxy
data-api="/op" sends tracking through a path on your own domain with one rewrite rule.
Links from other tools keep working
OpenPromoter reads ?via=, ?ref=, ?fpr= and ?gspk=. Migrated partners don't need new links.

AI that does the work

Every action logged with its reason. Every applied action can be undone. AI never moves money.

More on AI Autopilot
Recruiter
Ranks your happiest paying customers and drafts personal invites. Finds creators in your niche with an Anthropic key. Sends only what you approve.
Weekly Autopilot
Re-engages idle partners, promotes tiers, pauses risky partners, approves applications, proposes campaigns and prepares payouts.
Campaigns from a sentence
Describe a commission boost, bounty or contest in one line of text with its start and end dates.
Content kit
Swipe copy, social posts, emails, comparison blurbs and SVG banners. They refresh when your site changes.
Assistant
Ask "who drove the most MRR last month?" and get the number with a link to the report.
No key required
Rules and templates stand in for the model. Bring Anthropic, OpenAI or any OpenAI-compatible endpoint.

Partners

A program partners want to join and can trust.

More on the partner portal
Applications
Custom questions and auto-approve rules by risk score, website, country and email domain.
Public, private or invite-only
Publish a program page with an apply button or keep it closed.
Tiers with auto-promotion
Each tier has its own rate; partners move up when their referred revenue crosses the threshold.
Custom rate per partner
Override the commission rate for one partner without creating a tier.
Embedded dashboard
Customers refer from inside your app with one script, an <openpromoter-dashboard> tag and a 1-hour token from the API.
Two-tier commissions
A recruiter earns a set share of what each partner they recruited earns. One level up, held with the sale and reversed with refunds.
Partner marketplace
Opt in to list your program by category. Signed-in partners join in one click.
Messages and announcements
Talk to one partner or announce to everyone.
Resources library
Files, links and brand assets next to the content kit in the portal.
A ledger partners can see
The partner portal shows every commission with its status and the payout it belongs to.

Payouts and tax

OpenPromoter takes 0% of payouts. You pay only the rail's own fee.

More on payouts
Commission ledger
Pending, approved, held, paid and reversed states. Every change goes in the audit log.
Refunds and chargebacks
Proportional reductions, reversals and clawbacks from the next payout. Open disputes hold the commission.
Four ways to pay
Stripe Connect Express, PayPal Payouts, Wise or manual with a reference. CSV export for accounting.
Human approval
Payouts are prepared on your schedule and wait for a signed-in person. Idempotency keys on every send.
2FA on large batches
Approving more than $1,000 at once (configurable) needs two-factor authentication and a fresh code.
W-9 and W-8BEN
Tax forms are collected in the portal and tax ids are encrypted at rest. US partners paid outside Stripe need a TIN before crossing the 1099 threshold.
VAT ids checked
EU VAT ids are validated against the European Commission's VIES service and the result is stored.
1099-NEC and EU invoices
1099 export with the right threshold for the year ($2,000 for 2026). Self-billed invoices carry the EU reverse-charge note.

Fraud checks

Checks on every plan with every rule published in the docs.

More on fraud detection
Self-referral
The same person on both sides including email aliases and the partner's own network.
Duplicate accounts
Several referred accounts that look like one person and payout accounts shared between partners.
Coupon leaking
Coupon sales with no partner click behind them.
Brand bidding
Clicks that arrive from paid search ads on your brand.
Click spam and bots
Unnatural click bursts and crawler or headless user agents.
Auto-hold
A 0 to 100 risk score; commissions above your threshold wait in a review queue.

Analytics

The numbers founders ask for without a spreadsheet.

Program dashboard
Revenue referred, MRR from partners, clicks, signups, conversion rate, EPC and commission owed. It refreshes every 30 seconds.
Partners and sources
Top partners by revenue, customers and EPC; the links and traffic sources that produce customers.
Cohorts
Monthly customer cohorts with retention.
Period comparison
Any date range against the previous period.
Scheduled reports
Weekly or monthly summaries by email.
CSV everywhere
Export partners, customers, commissions, payouts, analytics and the audit log.

Developers and agents

Everything in the dashboard is available to your code and your agents.

REST API
23 endpoints including an event feed, an OpenAPI 3.1 spec, scoped keys and 600 requests a minute.
Signed webhooks
HMAC-SHA256 signatures, 8 retries with backoff and a delivery log with resend.
TypeScript SDK
npm install openpromoter: typed client, trackSignup, Stripe Checkout helper and verifyWebhook.
MCP server
npx -y openpromoter-mcp for Claude, Cursor and other agents. Read-only by default. Agents can prepare payouts but cannot send them.
CLI
openpromoter-cli for scripts and CI. openpromoter listen forwards signed events to localhost.
Agent skill
openpromoter skill adds an install skill to Claude Code and Cursor. You can also paste one prompt.

Integrations

Bring the billing system you already use.

All integrations
Stripe
Attribution, subscription lifecycle, refunds, disputes and Connect payouts.
Paddle
Paddle Billing webhooks with custom data attribution and discount codes.
Lemon Squeezy
Orders, subscriptions and refunds attributed through checkout custom data.
Polar
Orders, subscriptions and refunds attributed through checkout metadata.
Chargebee
Payments, refunds and subscriptions attributed through customer metadata or a custom field.
Anything else
Report payments and refunds idempotently through the API.
Slack, Discord, Zapier and Make
Alerts for new partners, commissions, fraud flags and payouts. Works with any webhook consumer.

Team and platform

Built to be run and audited by a team.

Workspaces and programs
Several programs per workspace with their own settings.
Roles
Owner, admin, finance and viewer.
Two-factor authentication
TOTP for every user.
Audit log
Every money, permission and agent action in one exportable log.
GDPR tools
Erase a partner's personal data while keeping the ledger, export your account data and export a whole workspace as JSON.
Light and dark mode
Both themes plus a command palette and keyboard shortcuts.
Open source
AGPL-3.0 and self-hosted with one docker compose command. Every feature with no limits.

FAQ

Questions about the features

What features should SaaS affiliate software have?
Tracking that survives checkout and a commission ledger that follows refunds. Then payouts, tax forms and fraud checks. A partner portal and an API matter once the program grows. OpenPromoter includes all of them on every plan.
Is every feature in the free self-hosted version?
Yes. The self-hosted version is AGPL-3.0 and has every feature with no limits. Cloud adds hosting and is free up to $1k a month in partner revenue.
Does OpenPromoter take a cut of affiliate payouts?
No. OpenPromoter adds 0% to payouts on every plan. You pay only the fee of Stripe, PayPal or Wise.
Which billing systems does it work with?
Stripe, Paddle, Lemon Squeezy, Polar and Chargebee connect through their webhooks. Any other billing system can report payments and refunds through the API.
Can the AI send money to partners?
No. Autopilot and the MCP server can prepare a payout. Only a signed-in person can approve and send it.

[ openpromoter ]

Try it with your own Stripe account

Free on Cloud up to $1k a month in partner revenue or free forever on your own server.