Backed by

Combinator
We made Stripe easy for AI
Stripe subscriptions, usage tracking, and paywalls in 3 functions, 0 webhooks. Build pricing plans in 30 minutes and never touch it again.





autumn.config.ts
import { product, feature, pricedFeature } from "atmn"; export const pro = product({ id: "pro", items: [ feature({ feature_id: "messages", included_usage: 10, interval: "month", }), pricedFeature({ feature_id: "tools_use", price: 0.01, interval: "month", }), ], });
Pro
10 messages per month
$0.01 per tools uses per month
Usage & Overage
Credits
Seat-based
Pay upfront
autumn.config.ts
import { product, feature, pricedFeature } from "atmn"; export const pro = product({ id: "pro", items: [ feature({ feature_id: "messages", included_usage: 10, interval: "month", }), pricedFeature({ feature_id: "tools_use", price: 0.01, interval: "month", }), ], });
Pro
10 messages per month
$0.01 per tools uses per month
Usage & Overage
Credits
Seat-based
Pay upfront
How it works
How it works
A simple, 3 step payments experience for developers (and LLMs)
A simple, 3 step payments experience for developers (and LLMs)
1
Handle any payment with one function
2
Usage tracking, limits and billing
3
No webhooks required, just check for feature access
Stripe without Autumn
Stripe with Autumn
stripe.ts
// 1. Create checkout session stripe.checkout.sessions.create({ customer: "cus_1234567890", line_items: [ { price: "price_1MotwRLkdIwHu7ixYcPLm5uZ", quantity: 1, }, ], success_url: "https://useautumn.com", mode: "subscription", }); // 2. Update subscription (upgrades) const currentSub = await stripe.subscriptions.retrieve(subscriptionId) const newSubItems = currentSub.items.map((item) => ({ id: item.id, deleted: true, })); newSubItems.push({ price: "price_1MotwRLkdIwHu7ixYcPLm5uZ", // new price quantity: 1, }) await stripe.subscriptions.update(subscriptionId, { items: newSubItems, proration_behavior: "create_prorations", }); // 3. One time payments / add ons stripe.invoices.create({ customer: "cus_1234567890", items: [ { price: "price_1MotwRLkdIwHu7ixYcPLm5uZ", quantity: 1, } ], }) // 4. Schedule downgrade stripe.subscriptionSchedules.create({ customer: "cus_1234567890", start_date: endOfBillingPeriod, phases: [ { items: [{ price: "price_1MotwRLkdIwHu7ixYcPLm5uZ", quantity: 1, }], default_payment_method: paymentMethod?.id, }, ], })
Expand code
upgrade-button.tsx
const { checkout } = useAutumn(); <Button onClick={async () => { await checkout({ productId: "pro" }); }} />
Generate Stripe checkout URLs, or handle upgrades, downgrades, and one-time payments for add-ons or top-ups.
Stripe without Autumn
Stripe with Autumn
stripe.ts
// 1. Create checkout session stripe.checkout.sessions.create({ customer: "cus_1234567890", line_items: [ { price: "price_1MotwRLkdIwHu7ixYcPLm5uZ", quantity: 1, }, ], success_url: "https://useautumn.com", mode: "subscription", }); // 2. Update subscription (upgrades) const currentSub = await stripe.subscriptions.retrieve(subscriptionId) const newSubItems = currentSub.items.map((item) => ({ id: item.id, deleted: true, })); newSubItems.push({ price: "price_1MotwRLkdIwHu7ixYcPLm5uZ", // new price quantity: 1, }) await stripe.subscriptions.update(subscriptionId, { items: newSubItems, proration_behavior: "create_prorations", }); // 3. One time payments / add ons stripe.invoices.create({ customer: "cus_1234567890", items: [ { price: "price_1MotwRLkdIwHu7ixYcPLm5uZ", quantity: 1, } ], }) // 4. Schedule downgrade stripe.subscriptionSchedules.create({ customer: "cus_1234567890", start_date: endOfBillingPeriod, phases: [ { items: [{ price: "price_1MotwRLkdIwHu7ixYcPLm5uZ", quantity: 1, }], default_payment_method: paymentMethod?.id, }, ], })
Expand code
upgrade-button.tsx
const { checkout } = useAutumn(); <Button onClick={async () => { await checkout({ productId: "pro" }); }} />
Generate Stripe checkout URLs, or handle upgrades, downgrades, and one-time payments for add-ons or top-ups.
1
2
3
Handle any payment with one function
Everything you'll need
Everything you'll need
Autumn is packed with features out the box, and you can change pricing without touching code.
Autumn is packed with features out the box, and handles the complexity while you grow
UI Components
Drop in our react components, or customize our shadcn/ui variants
UI Components
Drop in our react components, or customize our shadcn/ui variants
Flexible pricing
Credits, usage-limits, tiers, prepaid, add-ons, seats, rollovers and more
Flexible pricing
Credits, usage-limits, tiers, prepaid, add-ons, seats, rollovers and more
Custom plans
Set custom pricing, features and usage limits for any customer
Custom plans
Set custom pricing, features and usage limits for any customer
Versions & Grandfathering
Version your products and migrate customers when you're ready
Versions & Grandfathering
Version your products and migrate customers when you're ready
Usage Analytics
Show usage analytics charts for users every billing cycle
Usage Analytics
Show usage analytics charts for users every billing cycle
Referral Programs
Give away discounts or free credits whenever users refer friends
Referral Programs
Give away discounts or free credits whenever users refer friends
Founders love Autumn
Founders love Autumn
Autumn lets you go back to building your core product faster, and never worry about billing again.
Daniel Edrisiar
Literally cannot imagine going without it. Thank you.
We had some pretty crazy usage-based limitations for different features, as well as a free trial, and had...
Daniel Edrisiar
Literally cannot imagine going without it. Thank you.
We had some pretty crazy usage-based limitations for different features, as well as a free trial, and had...
Ben Y
What migrating to Autumn does (scroll!)

Ben Y
What migrating to Autumn does (scroll!)

Nizzy
Amazing product. Amazing founders.
Nizzy
Amazing product. Amazing founders.
Benny Kok
Autumn fixed stripe. Trust me. Save you at least a week and potentially months of Stripe integration time. I wish we could have discovered Autumn earlier.
Benny Kok
Autumn fixed stripe. Trust me. Save you at least a week and potentially months of Stripe integration time. I wish we could have discovered Autumn earlier.
Max Prilutskiy
Autumn is awesome. We've been happy customers since the very beginning - it was a no-brainer to be honest. The founders are in true founder mode.
Max Prilutskiy
Autumn is awesome. We've been happy customers since the very beginning - it was a no-brainer to be honest. The founders are in true founder mode.
Can Vardar
@autumnpricing is so good it ruined every other tool for me. nothing else even feels right anymore
Can Vardar
@autumnpricing is so good it ruined every other tool for me. nothing else even feels right anymore
Start for Free
Start for Free
Autumn enables complex pricing but ours is simple. Free, or a flat fee. No additional transaction fees*.
Autumn enables complex pricing but ours is simple. Free, or a flat fee. No additional transaction fees*.
Builder
Free
Free until $8K Monthly Revenue
Up to $8K processed monthly
10 products
Discord support
Startup
$375
$8K-50K Monthly Revenue
Up to $50K processed monthly
Unlimited products
Slack support
*Autumn is built on top of Stripe Billing (for now), so their fees (~0.7%) still apply.
*Autumn is built on top of Stripe Billing (for now), so their fees (~0.7%) still apply.
San Francisco & London