// 100% open source

One API for plans, usage and AI credits

Replace your in-house usage tracking, gating and asynchronous billing logic. Autumn keeps payments, webhooks and usage in sync.

// Features

Say goodbye to your vibecoded infra.

Real-time balances

Credits, seats and usage stay in sync with every webhook.

Any pricing model

Seats, usage, credits, hybrid — seriously, any of them.

Customer record

One object for entitlements, plans and balances.

// customer.entitlements
ai_credits4,120 / 10,000
seats12 / 25
api_callsunlimited
// Controls

Buttons & fields

Start for free Get started Docs Disabled // mono chip accent chip
Start for free Get started Docs ← hover state
api_key api_key ← focus (site defines none — recommended replacement)

Every control is square (0px radius) — the radius census on the real page is entirely empty. The one filled CTA is violet #9564ff at 44px; the secondary is a 1px #292929 outline at 48px. The site defines no focus ring at all, so a recommended 0 0 0 2px #9564ff is shown instead.

// Typography

Two voices: Geist and Geist Mono

Display · Geist · 56/56 · 400 · -5%One API for plans
Body · Geist · 16/20 · 300 · -2%Replace your in-house usage tracking and gating logic.
Nav · Geist Mono · 12/16 · 400 · UPPERDocs · Blog · Pricing
Button · Geist Mono · 12/16 · 400 · UPPERStart for free
Link · Geist Mono · 14 · 400 · -1% UPPER// 100% open source
Secondary CTA · Geist · 16 · 400Get started
// Palette

Black, alpha-white, one violet

Text
text#ededed
text-secondaryrgba(255,255,255,.6)
grey-bf#bfbfbf
grey-95#959494
grey-6b#6b6b6b
gray-400#99a1af
Surfaces & borders
canvas#000000
surface-1#0f0f0f
surface-2#2a2a2a
surface-3#2c2c2d
border#292929
border-alt#27272a
border-alt2#1e1e1e
border-alt3#1a1a1a
Accent & semantic
violet#9564ff
violet-deep#20143c
green#2b8c3f
// Depth & motion

Nothing rounded, nothing floating

0px — button
0px — card
0px — chip
0px — field
no shadow — 1px #292929
depth = surface step
backdrop blur(12px) nav

The entire radius census is EMPTY — every corner is square. There are zero real box-shadows; depth is surface steps plus hairlines, with one blur(12px) sticky nav. Motion is cubic-bezier(0.4,0,0.2,1) on colour, with an ease-out-expo cubic-bezier(0.16,1,0.3,1) for reveals and exactly one keyframe – a 20s carouselUp ticker. No reduced-motion block (anti-pattern).