Pricing

Free to start. $20 when you outgrow it.

You're billed for what the backend serves: requests and events. Not for how many people or agents you have. Pick the row that matches your app; you can change bands whenever you like.

Requests and events

API calls your app and your agents make, plus the events your project emits. Counted per month, per account, not per project, so splitting work across projects never costs more.

Projects

Each project is an independent backend with its own definition, data, and API. Development and throwaway projects count toward the same allowance as production ones.

Tenants

Customers inside a multi-tenant project. Tenant isolation is a property of every project regardless of plan. The limit is on how many tenants a plan carries, never on whether isolation applies.

Requests + events / moProjectsTenantsStoragePer month
SoloOne app, first users100,000241.5 GB$0
MicroA product with paying customers500,0004108 GB$20
SmallA growing SaaS, or a few of them1,500,000102023 GB$100
MediumAn agency, or a product at scale8,000,000255090 GB$500
EnterpriseCustom volumes and termsCustomCustomCustomCustomTalk to sales

Requests and events are a fixed ceiling per band. Past it, calls return 429 until your next cycle or an upgrade, never a bigger bill. Projects and tenants meter instead: Micro +$5/project · +$2/tenant, Small +$10/project · +$5/tenant, Medium +$20/project · +$10/tenant. Solo has no overage; it's capped at what's included. Support and log retention scale with plan too: community support and 3-day logs on Solo, up to dedicated support and 30-day logs on Medium and Enterprise.

Worked example

You're on Micro — 4 projects included, $20/mo. You spin up a 5th project for a client's staging environment. You're billed $20 + $5 = $25 that month. Nothing above what you added, and nothing you didn't already agree to.

Usage-based, without the bill you didn't agree to.

Traffic alone can't balloon your bill

Every band's request-and-event volume is a fixed ceiling, not a metered overage. Hit it and calls return 429 until your next cycle or an upgrade, never a bigger invoice for it.

Usage visible before it bills

Current-period request and event counts in the dashboard and over the API, so an agent in a retry loop shows up as a graph, not as an invoice.

No per-seat billing

Invite your whole team and every agent you run. You are billed for what the backend serves, not for how many people or agents can reach it.

Free tier that survives a real project

Enough requests, projects, and tenants to put something small in front of real users, not a trial that expires while you are still building.

Billing questions

Before you commit.

What happens when I hit my monthly limit?
Depends what you hit. Request-and-event volume is a fixed ceiling per band: past it, calls are refused with a 429 until your next cycle or an upgrade, and it never turns into a bigger invoice. Projects and tenants work differently: adding one past what's included bills at that band's per-unit overage rate (see the table above) rather than blocking you.
Do development and throwaway projects count against my limit?
Yes, at the same rate as production projects, because Aaly has no separate dev/prod environment yet, so every band includes at least two projects specifically so you can keep a throwaway separate from the real one.
Can I change bands at any time?
Yes. Move up when you're approaching a limit, or down if you're not using what you've got. Changes take effect for the current billing cycle's usage going forward.
How is overage billed?
Only projects and tenants carry metered overage, priced per extra project or per extra tenant beyond what your band includes (see the table above). Request and event volume has no overage at all. It's a fixed monthly ceiling, and more of it means moving to the next band.