Point a hostname at Cladior and your site has sign-in and billing. A visitor makes one Cladior account, carries it to every other site on Cladior, and pays for exactly what they load.
For the sites a subscription never fitted
One record instead of a login page.
The integration is a DNS record. Point it back and we are gone, with no code of yours to undo.
Our 20% is added on top of what you set, never taken out of it. Set $0.0001 and you are paid $0.0001, because the reader pays $0.00012.
Verified crawlers read your paid pages, checked by IP rather than a name anyone can type.
Readers hold one balance and spend it everywhere. Your origin never sees a payment detail.
You can write it yourself, or point a DNS record at us.
app.post('/webhooks/stripe', async (req, res) => { const sig = req.headers['stripe-signature'] const event = stripe.webhooks.constructEvent(raw, sig, SECRET) if (event.type === 'invoice.payment_failed') await suspend(sub) if (event.type === 'customer.subscription.deleted') await revoke(sub) return res.json({ received: true })}) app.use(session({ store: new RedisStore(redis), secret: SESSION_KEY }))passport.use(new LocalStrategy(async (email, password, done) => { const user = await db.users.findUnique({ where: { email } }) if (!user || !(await argon2.verify(user.hash, password))) return done(null, false)})) return renderChapter(book, chapterId) const sent = Number(res.getHeader('content-length') ?? 0)await db.usage.increment({ userId, bytes: sent, at: startOfHour() })const invoice = await stripe.invoices.create({ customer, auto_advance: true })if (invoice.status === 'uncollectible') await suspend(userId) Click in and change a line.
Written yourself, auth and billing is a file of payment webhooks, sessions, password hashing and usage metering, and it is yours to maintain. With Cladior your visitor sees one screen showing the exact rate per kilobyte, agrees to it before anything is charged, and there is no equivalent file to write.
A kilobyte is not a judgement about value or effort. It cannot be inflated by the site or argued down by the reader. You and your reader are looking at the same number on the same meter.
What you both have to trust is us, so every charge is itemised on both sides, down to the bytes that produced it.
Not features. The things that quietly eat a week and never appear on a roadmap.
No password to store, no reset email to send, no session to keep alive, and nothing of yours to breach.
The reader who wanted a single page stops bouncing off a subscription, which is the audience most sites of this size never convert at all.
A calculator or a reading site earns from the reading rather than from selling the reader's attention to somebody else.
The reason most of this never got built is that billing costs more than it returns until a site is large. That is the part this removes.
Cladior sits in front of whatever already serves the site. Nothing is redeployed and nothing is rewritten, so the stack you picked stays the stack you have.
Four things a product might return. The largest is sixty thousand times the smallest, so they only sit in one picture if every step along the scale is ten times the step before it.
Priced by the kilobyte, the first costs almost nothing and the last earns what it cost to serve. You never decide who is a Starter and who is a Pro, because nobody has to be either.
See how it is countedSet a rate of $0.0001 a kilobyte and your reader pays $0.00012, our twenty percent included. That buys rather more than it sounds like.
Five dollars of credit is about a thousand articles. A reader tops up once and stops thinking about it, which is the part a subscription never manages.
Every listed app appears in Explore, ranked inside its category by net votes. Placement is not for sale and we do not curate it.
Browse ExploreNo code to write and no card on your site. The rate you set is the number that reaches you.