Skip to main content
Source available · Self-hosted · Zero platform fees

Sell courses, ebooks, subscriptionswithout platform fees.

For creators, freelancers, and solopreneurs who don't want to give 5-10% of every sale to a middleman.
10 minutes of setup. The rest is just sharing the link.

What you keep vs Gumroad
~10 minutes · ~10 clicks · $0 to start

* Free tier on Vercel + Supabase. Stripe account required (also free to create).

Zero platform fees
Your data stays yours
Runs on any VPS

Real backing, not marketing fluff

Try Live Demo

Stripe test mode, no real charges

USE CASES

Who Sellf is built for

If you sell digital goods online, Sellf likely fits

Online Courses

Share video courses with time-limited access. Simple and effective content delivery.

  • Protected video embeds
  • Access for 30 or 90 days
  • Fast video via Bunny.net

Subscriptions & Memberships

Sell recurring access instead of one-time. Monthly, yearly, with or without a trial. Customers cancel themselves and invoices arrive automatically.

  • Recurring billing on month, year, or any Stripe interval
  • Optional free trial per product
  • Customer portal: cancel, resume, update card

Digital Products

Sell ebooks, templates, software licenses, or files. Better than Gumroad with zero commission.

  • Instant delivery
  • Unlimited products
  • Coupon system

Free Products & Sales Funnels

A free ebook collects emails, then you sell a premium course. One-click login from email, no passwords.

  • Free products to collect contacts
  • No forms, no passwords needed
  • All in one database

Pricing

See how much actually stays with you

Drag the slider to compare platform fees at your revenue level.

$1,000$100,000
Sellf + Stripe~3.4% (Stripe only)
Platform fees: $340You keep: $9,660
Gumroad10% + 2.9% + $0.30
Platform fees: $1,350You keep: $8,650
Paddle5% + 3.5% + $0.30
Platform fees: $910You keep: $9,090
LemonSqueezy5% + 3.5% + $0.30
Platform fees: $910You keep: $9,090

You save $1,010/mo vs Gumroad

Annual savings vs Gumroad: $12,120

Before — Gumroad

On a $10,000/mo course business you pay ≈ $1,260/mo in Gumroad fees alone.

After — Sellf on a VPS

VPS for ~$6/mo. Stripe takes 3.4%. You pocket the rest.

Yearly difference: $11,800 stays with you.

QUICK START

Up and running in 3 steps

From clone to a working shop in under 10 minutes

* Free path: Vercel + Supabase + Stripe (all free tier). VPS path for commercial production.

01

Deploy

One-click deploy to Vercel or Netlify (free tier) — or run on your own VPS. Whatever works.

02

Connect Stripe

Add your Stripe API keys. Payments go directly to your account. No middlemen.

03

Start Selling

Create products, set prices, share links. Your store is live.

stripe
sellf
your n8n

Deploy

Pick the path that fits you

Three honest options from clone to live shop. Every one tested end-to-end. No marketing magic — what you'll actually click is listed below.

Free accounts you'll need on any path

Stripe

Free, ~2 min to sign up at stripe.com

Supabase

Free tier, ~3 min at supabase.com

Deploy to Vercel
Deploy to Netlify
Self-host guide

Every path above is tested end-to-end — same one-click buttons live in the GitHub README. Pick what fits today; you can move to another later without touching the code.

Checkout walkthrough

Click through the checkout your buyer sees.

Order bumps, coupons via URL, one-time offers — all of it on a single page.

  • 1. Product
  • 2. Checkout
  • 6. One-time offer
  • Done
shop.your-domain.com

Premium course bundle

Lowest price in last 30 days: $59

$99
$49

License

Pick the tier that fits where you are

Free covers most solopreneurs forever. Pro removes branding and adds power-user features. Business is anything custom — talk to us.

Free

Free

$0no payment, ever

Elastic License 2.0 (source-available). No limits on products, sales, or buyers. Forever.

  • Unlimited products
  • Unlimited buyers
  • Stripe + 26 currencies
  • REST API keys
  • Webhooks + DLQ + retry
  • Payment CSV export
  • Hide "Powered by Sellf"
  • Save custom themes
  • Expanded API scopes
Self-host now
Registered

Registered

$0free upgrade

Free + payment CSV export. Register your install in 30 seconds.

  • Unlimited products
  • Unlimited buyers
  • Stripe + 26 currencies
  • REST API keys
  • Webhooks + DLQ + retry
  • Payment CSV export
  • Hide "Powered by Sellf"
  • Save custom themes
  • Expanded API scopes
Register install
Pro

Pro

$59one-time, lifetime updates

Hide "Powered by Sellf", save custom themes, expand API key scopes.

  • Unlimited products
  • Unlimited buyers
  • Stripe + 26 currencies
  • REST API keys
  • Webhooks + DLQ + retry
  • Payment CSV export
  • Hide "Powered by Sellf"
  • Save custom themes
  • Expanded API scopes
Go Pro
Business

Business

Contacttailored

Custom needs, enterprise support, volume licensing — talk to us.

  • Unlimited products
  • Unlimited buyers
  • Stripe + 26 currencies
  • REST API keys
  • Webhooks + DLQ + retry
  • Payment CSV export
  • Hide "Powered by Sellf"
  • Save custom themes
  • Expanded API scopes
Talk to us

FEATURES

Everything you need to sell digital products

Built-in features that other platforms charge hundreds per month for

See your revenue at a glance

Revenue, sales, and trends in one dashboard. 20+ currencies, sales goals, and performance at your fingertips.

Accept payments everywhere

Customers pay without leaving your page. 20+ currencies, guest checkout, bank-level encryption.

Charge customers on a schedule

Sell memberships and recurring access alongside one-time products. Free trials, Stripe-native coupon duration (once, N cycles, forever), and webhooks on every lifecycle event.

Earn 30% more per order

Show an extra offer at checkout. Buyer clicks 'Add' and the order value grows 30-50%.

One-time offer pages

Post-purchase OTO with its own discount and analytics. Connect any product as the upsell.

Switch checkout layout per product

Default, tip jar, or one-time offer (OTO) layout per product. Add custom fields to capture exactly the data you need at checkout.

Run promos that sell

Create discount codes and automatic promos. Set usage limits and expiry dates to protect your margins.

Webhook DLQ + retry

Failed deliveries land in a dead-letter queue with exponential backoff and a one-click replay UI.

Build your audience for free

Offer a free product and collect emails. Buyers log in with one click from email, no passwords. Then sell them premium content.

Validate before you build

Add a waitlist to upcoming products. Capture emails before launch, signups fire a webhook to your mailer (n8n, Make, Listmonk). Signed-in users see their email pre-filled with one-click override.

Pay what you want

Let fans set their own price, with or without a minimum threshold. Higher conversion on lead magnets.

Tip jar

Optional tip step at checkout. Never coercive — buyers stay in control.

Deliver content your way

Serve downloads, redirect buyers to your platform, or embed protected video through the self-hosted Playerstack bundle.

Stay EU-compliant automatically

Sellf automatically tracks price history as required by the Omnibus Directive. Zero manual work.

Create real urgency

Set time or quantity limits. Live countdowns motivate faster purchases.

Turn buyers into repeat customers

After purchase, route buyers through a One-Time Offer or fallback Downsell. Drive return visits with post-purchase coupons. Build a path from first sale to lifetime value.

Handle refunds without headaches

Set refund rules per product, approve requests, handle partial refunds, and trigger signed refund webhooks automatically.

Your keys never leave your server

Stripe credentials stay in your .env file. No telemetry, no external calls. RLS on every table, penetration-tested, with a built-in security audit panel.

Magic-link guest checkout

Buyers purchase without an account. Their purchases auto-claim when they later register with the same email.

Lock premium content

Lock any page behind your Sellf product.

Paste one line on your existing course page. Sellf checks the buyer's access before content shows.

https://your-course.example/module-4#_sf_token=…

This lesson is for buyers of the Premium course only. Sign in to unlock.

In production, Sellf checks the buyer's purchase before the page unlocks — the snippet works on any of your pages (Astro, WordPress, plain HTML). Protected content stays protected.

Set up Sellf

Want to lock your premium content? Self-host →

Recurring revenue

How a recurring customer looks over a year.

Watch one subscriber for 12 months. Sellf handles trials, failed-card retries, customer-portal cancellations, and partial refunds.

Membership — $29 / month
  1. TRIAL
    7-day free trial
  2. ACTIVE
    Month 1
  3. ACTIVE
    Month 2
  4. ACTIVE
    Month 3
  5. RETRYING
    Month 4
  6. ACTIVE
    Retry succeeded — payment captured
  7. ACTIVE
    Month 5
  8. ACTIVE
    Month 6
  9. ACTIVE
    Month 7
  10. ACTIVE
    Month 8
  11. ACTIVE
    Month 9
  12. ACTIVE
    Month 10
  13. CANCELLED
    Month 11
  14. CANCELLED
    Partial refund for unused days

0

Subscriptions run on Stripe Billing — retries, customer portal, and partial refunds all work out of the box.

Set up Sellf

Want recurring revenue on your products? Self-host →

PAYMENTS

Tax handling that grows with you

Stripe takes care of most of it. You start simple and only add complexity when your revenue actually demands it.

Merchant of Record

Paddle, LemonSqueezy, Gumroad

  • Platform fees: 5–10%
  • Customer data belongs to the platform
  • Platform risk: account freezes, shutdowns
Recommended

Sellf + Own Stripe

Direct payments to your account

  • Platform fees: $0
  • Only Stripe fees: ~2.9%
  • You own all customer data
  • Self-hosted. No platform risk

Grow into tax handling, not against it

1

Just starting

Selling under €10,000/yr cross-border in the EU? You only declare VAT in your home country. Nothing extra to do.

2

Growing

Crossed €10,000/yr cross-border? Register once in EU OSS and flip on Stripe Tax (+0.5%) — VAT calculations become automatic.

3

Scaling

Optional: hand off accounting to a bookkeeper or switch to Stripe Managed Payments. You decide when.

General info, not tax or legal advice. Talk to your accountant before going live.

DEPLOYMENT

Deploy anywhere, your way

From ~$3/month VPS for hobbyists to production-ready infrastructure

Quick Start

mikr.us (free SSL) or any VPS + Caddy

~$3/mo
  • PM2 process manager
  • Auto SSL included
  • Supabase Cloud
  • ~130MB RAM footprint
RECOMMENDED

Production

Best price/performance ratio

~$4-14/mo
  • PM2 or Docker
  • Managed database
  • Zero-downtime deploys
  • 2-core CPU, 8GB RAM, 100GB NVMe
  • MCP server (Claude Desktop integration)

Want to see it in action first?

Explore the full admin panel, test checkout with Stripe test cards, and browse sample products. No setup required.

TECHNOLOGY

Built on technology you can trust

Reliable, proven tools for performance, security, and growth

Next.js 16React framework with Turbopack
SupabasePostgreSQL + Auth + Realtime
StripePayment processing
Tailwind CSSUtility-first styling
TypeScriptType-safe development
DockerContainerization
PostgreSQLReliable database
Bunny.netCDN & Video hosting
MCPClaude Desktop integration via 45-tool MCP server
BunRuntime + package manager — faster dev cycles

Honest answers

"Yes, but…" — let's talk about your concerns

The fears that stop most people from leaving Gumroad. Here's what actually happens.

"I've never set up a server"

One-line deploy. You paste a command, the server installs itself. Detailed guide for SSL, domain, backups. Most users finish in 10 minutes. If you can paste a command, you can run Sellf.

"What if the server crashes?"

Set up automatic backups once (not complicated — a single cron job or your VPS provider's built-in snapshots). Server dies? Spin up a new VPS, restore from the latest backup — usually 5 minutes. Your Stripe account and payment data stay with Stripe — never lost.

"How much will this actually cost me?"

VPS: 25-50 zł/mo (forever). Stripe: ~3.4% per sale (no subscription). Domain: 50 zł/year. Total: under 700 zł/year regardless of revenue. Save thousands vs Gumroad.

"Is my buyers' data safe?"

Stripe keys never leave your .env file. Database has row-level security on every table. Sellf passed a security audit, has 3,500+ automated tests. Your buyers' data lives on your server, not in someone else's cloud.

Frequently Asked Questions

GitHub Issues →

Yes. We provide a one-line deploy script for any modern VPS (DigitalOcean, Hetzner, Mikrus). The provided guide walks through SSL, backups, and domain pointing step by step. If you can copy-paste a command, you can run Sellf.

A VPS that fits Sellf costs $5-15/month (Hetzner CX22, DigitalOcean basic). Stripe charges its normal ~3.4% per transaction. There's no Sellf subscription. Total: roughly $60-180/year of infrastructure regardless of how much you sell.

Set up automatic backups once (not complicated — a single cron job or your VPS provider's built-in snapshots). If your VPS dies, spin up a new one and restore from the latest backup — usually under 5 minutes. Your Stripe account and payment data are never lost (Stripe stores them).

Failed deliveries land in a dead-letter queue with exponential backoff. You see them in the dashboard and can replay any of them with one click.

Yes — Sellf ships an MCP server with 45 tools, 4 resources, and 6 prompts. Add it to Claude Desktop and ask it to list products, refund a payment, or pull analytics.

Sellf records the data and exports CSVs. You stay the Merchant of Record so you keep full control (and your data), and you grow into VAT / OSS handling on your own timeline.

Ready to Start?

Deploy Sellf in 10 minutes. Sell without monthly platform fees.

10-minute setup
Full source code
Elastic License 2.0