Every affiliate program feature in one open-source app
- 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.
Affiliate tracking
Tracking that survives checkout
Coupons, Stripe click ids and first-party cookies credit the right partner. Consent and cookieless modes are built in.
Learn morePayouts
Payouts a person approves
Pay through Stripe Connect, PayPal or Wise with 0% added. Every batch waits for a signed-in approver.
Learn moreFraud detection
Fraud checks on every plan
Ten published signals score each referral. Risky commissions wait in a review queue before money moves.
Learn moreAI Autopilot
Weekly Autopilot with an undo button
It reviews the program each week and logs every action with its reason. AI never moves money.
Learn morePartner portal
A portal partners trust
Partners see every commission and the payout it belongs to. Customers can refer from inside your app.
Learn more
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.
- 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.
- 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.
- 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.
- 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?
Is every feature in the free self-hosted version?
Does OpenPromoter take a cut of affiliate payouts?
Which billing systems does it work with?
Can the AI send money to partners?

[ 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.