Start your first program
Start your first affiliate program on OpenPromoter Cloud or your own server in about five minutes. Connect billing and accept the program design.
OpenPromoter runs your affiliate and referral program from one place: tracking, partner portal, commissions, fraud checks and payouts. It is open source under AGPL-3.0. You can use the hosted Cloud or run it yourself with every feature included.
Pick where it runs
| Cloud | Self-host | |
|---|---|---|
| Price | Free up to $1k/mo partner revenue and $29, $79 or $199 a month above that | $0 with no limits |
| Fee on payouts | 0% | 0% |
| Setup | Sign up at app.openpromoter.com | docker compose up (see Self-hosting) |
| Stripe connection | OAuth or a restricted key | A restricted key |
Everything below works the same on both.
1. Connect your billing
Most teams start with Stripe. On Cloud, click Connect Stripe or paste a restricted key when you self-host. OpenPromoter checks the key, registers its webhook endpoint and imports your products, prices, customers and subscriptions so the program designer can see what you sell.
Paddle, Lemon Squeezy and Polar connect with a webhook secret, and Chargebee with basic-auth credentials. See Billing providers.
2. Accept the program design
The setup wizard proposes a program from your prices. It covers commission type and rate, how long it recurs, cookie window, hold period, minimum payout, an optional discount for referred customers and partner tiers. Each choice comes with a short reason.
Accept it as is or change any value. You can edit everything later in Settings > Program.
Without an AI key the same wizard uses a deterministic design based on your prices. See AI features.
3. Install tracking
Paste one script tag into the <head> of your marketing site and app:
<script async src="https://app.openpromoter.com/op.js" data-program="your-program"></script>
Self-hosters use their own APP_URL in place of https://app.openpromoter.com. Then call openpromoter.signup({ email }) after a user signs up.
If you use Stripe Payment Links or the Pricing Table, that is all. If you create Checkout Sessions on your server, pass the click id along as shown in Tracking.
Prefer to let your coding agent do it? Paste the agent prompt into Claude Code or Cursor.
The wizard shows a green check as soon as op.js loads on your site.
4. Invite partners
Share your public program page, invite people by email or open Recruiter to see your happiest paying customers with a drafted invite for each. Nothing is sent until you approve it.
Moving from another tool
Export your affiliates as CSV from Rewardful, FirstPromoter, Tolt or PartnerStack and drop the file into Settings > Import. OpenPromoter recognizes their column names, keeps each partner's referral code and imports PayPal emails, websites, countries and coupon codes where present. Because op.js reads ?via=, ?fpr=, ?ref= and ?gspk=, links your partners already shared keep working.
5. Get paid out
Commissions stay pending for the hold period and then become approved. On your payout schedule OpenPromoter prepares payouts for partners above the minimum. A person on your team approves them and the money goes out through Stripe Connect, PayPal, Wise or a manual transfer (see Commissions and payouts).
Next steps
- Tracking: links, coupons, consent mode and server-side attribution
- Stripe: key permissions, webhook events and local testing
- REST API and webhooks
- MCP server for Claude, Cursor and other agents