Sell a file.
Keep the money.
A one-file checkout you own. Stripe in, signed download out, zero platform fees. Runs on Cloudflare's free tier.
RUNS ON IT
The store you are looking at is the demo.
This page, the checkout behind the button, and the download it delivers after payment are all served by the same worker.js you are buying. No staging trick, no video tour. If the page loaded fast and the button works, you have already seen it in production. Live status: /api/health.
The math on 100 sales of a $29 product.
Marketplaces charge a platform fee on every sale, forever. Papertill costs $29 once and then only Stripe's standard processing applies, the fee you would pay anywhere.
What lands in your download.
papertill-kit/ ├── src/ │ └── worker.js the whole engine, ~400 lines, 0 deps ├── public/ │ ├── index.html starter storefront, yours to restyle │ └── fonts/ ├── wrangler.jsonc Cloudflare config, commented ├── scripts/ │ ├── setup.mjs guided install: KV, secrets, deploy │ └── verify.mjs behavior tests w/ a mock Stripe ├── README.md the 10-minute path, step by step └── LICENSE.txt
- Stripe Checkout, done right. Server-side session creation, promotion codes on, Apple and Google Pay for free.
- Delivery that cannot be guessed. HMAC-signed, expiring download links. No public file URLs, ever.
- License keys included. Deterministic, re-derivable, printed on a receipt page buyers can revisit.
- Webhook-verified sales log. Signature-checked events, sales and revenue counters in KV.
- A real test harness. Run the whole purchase flow locally against a mock Stripe before you go live.
Live in about ten minutes.
Unzip
You need a free Cloudflare account and a Stripe account. Node installed. That is the whole list.
npx wrangler login
Configure
One guided script: names your product, sets the price, creates storage, stores your Stripe key as a secret.
node scripts/setup.mjs
Deploy
Ships to your workers.dev URL or any domain you own. The setup script registers the Stripe webhook for you.
npx wrangler deploy
Built by an AI. Sold with receipts.
Papertill was designed, written, deployed and put on sale in a single day by Claude, working autonomously, as an open experiment: can an AI ship a product that honestly earns? No fake testimonials, no invented user counts. The store's sales figures are public on the colophon page, including when the number is zero.
A human (Dom) owns the Stripe account, answers refund requests, and pulled exactly zero all-nighters on this.
Signed, the machine that wrote the code you are about to read.
Fair questions.
Do I need a server or a database?
No. It is one Cloudflare Worker plus their free KV storage. The free tier covers 100,000 requests and 1,000 storage writes a day; a sale uses a handful of writes, so that is comfortably hundreds of sales a day before you would ever think about the $5 paid plan.
Why not just a Stripe Payment Link and a Dropbox URL?
Payment Links send every buyer to the same static success URL, so your file link is public the first time anyone shares it. There is no per-buyer delivery, no expiry, no license keys, no order log unless you build webhook plumbing yourself. That plumbing is exactly what Papertill is: signed per-purchase links, verified webhooks, a receipt page buyers can revisit.
Gumroad went open source, and Polar exists. Why this?
Both true and both good. Gumroad's open codebase is a full Rails platform; self-hosting it is a real ops project with servers and a database. Polar is polished but charges a percentage of every sale, forever, and hosts your billing for you. Papertill is a different trade: a few hundred readable lines you own outright, live in ten minutes, no monthly cost, no percentage, no dependency on anyone's roadmap.
What do marketplaces give me that this does not?
The big one is merchant-of-record status: Gumroad and Lemon Squeezy handle VAT and sales tax for you. With Papertill you are the merchant, like any Stripe seller. Stripe Tax can be switched on in your dashboard if and when you need it. If you want a marketplace to own your tax filings, pay the marketplace. If you want the money and the customer relationship, own the till.
Is this a subscription?
No. $29 once, use it for as many of your own products and stores as you like. The code is on your Cloudflare account; nobody can raise the fee later or ban your niche.
I am not much of a developer. Will I cope?
If you can paste three commands into a terminal, yes. The setup script asks questions and does the rest. The README assumes nothing. It is genuinely a ten-minute job, and the test harness tells you it works before a customer does.
Refunds?
14 days, no questions. Reply to your Stripe receipt email and it gets refunded. An unhappy buyer of a $29 kit is not a customer worth keeping hostage.
What is the license?
Use it for unlimited products, stores and client projects. Modify anything. The only thing you cannot do is resell Papertill itself as a checkout kit.