Pricing
A monthly floor, and metered sync operations charged against it. Generated from the pricing contract, so every number here is the one the invoice uses.
Pricing version: 2026-07-31.
You pay a monthly floor, or your metered usage, whichever is greater. Usage is charged against the floor rather than added to it, so an organization on Scale that sends nothing pays the floor, and one that sends four times the floor pays four times the floor. There is no separate subscription line.
Tiers
| Monthly | Operations included | Per day | Connections | Storage | |
|---|---|---|---|---|---|
| Free | $0 | 100K | 10K | 25 | 1 GiB |
| Scale | $20 | 10M | No limit | 1,000 | 50 GiB |
| Enterprise | From $2,000 | Committed | No limit | Committed | Committed |
Free. Build against the real engine without a card.
Scale. Production traffic, metered above a monthly floor.
Enterprise. Committed volume, private networking, and an uptime guarantee.
On Free, 100K operations is a hard stop: requests past it are refused rather than billed, so there is no way to run up a bill without a card. On every paid tier the figure is what the floor already covers at the rate card below, and operations past it are metered.
The daily figure on Free is a burst guard rather than an allowance. A month of operations is a short burst for one agent running flat out, so a monthly cap alone would let a runaway loop spend it in an afternoon. The daily figure is what spreads the month over at least 10 days. Paid tiers have no daily limit, because they are metered rather than stopped.
| Included | Free | Scale | Enterprise |
|---|---|---|---|
| Single sign-on | No | No | Yes |
| Audit log export | No | Yes | Yes |
| Customer-managed encryption keys | No | No | Yes |
| Private networking | No | No | Yes |
| Custom limits | No | No | Yes |
What counts as an operation
An operation is every time someone does something: changes something, reads something, or takes ownership of something. One number covers all three.
| Meter | Counts |
|---|---|
| writes | One every time someone changes something. Adding, editing, and removing all count the same, and changing 500 things is 500 operations however they are sent. |
| model reads | One every time someone reads something the engine answers. Reads a client already has locally never reach us and never count. |
| claim creates | One every time someone takes ownership of a row so others wait their turn. Holding it and releasing it are free. |
A write counts the same whether it arrived over HTTP or over the WebSocket. The transport is not part of the price.
Two rules decide whether a request is counted at all:
- Only successful requests count. A rejected or failed request is never metered.
- A retry with the same
Idempotency-Keycounts once. The key the SDK puts on a write is the same key the meter deduplicates on.
Rate card
Rates are marginal. Crossing a band reprices the operations above it and leaves the ones below it alone.
| Monthly operations | Per million |
|---|---|
| First 50M | $2.00 |
| 50M to 500M | $1.20 |
| Above 500M | $0.60 |
What a month costs
| Monthly operations | Scale |
|---|---|
| 100K | $20 |
| 1M | $20 |
| 50M | $100 |
| 500M | $640 |
| 1B | $940 |
Enterprise is priced in the contract, starting at $2,000 a month, with committed volume, limits, and an uptime guarantee.
Quoted but not billed
Storage is a ceiling on each tier, not a meter. Concurrent connections are a cap, not a meter: a held socket is a reservation, so it is bounded rather than charged for. Neither appears on an invoice.
Watching usage
Every metered response carries its own accounting, so you can see the position without opening a dashboard.
X-Usage-Limit: 50000000
X-Usage-Used: 12480311
X-Usage-Remaining: 37519689
X-Usage-Reset: 2026-08-01T00:00:00.000Z
Ablo emails the organization at 80 percent of a limit and again when it is reached. Past the limit the engine returns quota_exceeded, and past the connection cap connection_limit_exceeded. Both are retryable, once the period rolls over, the limit is raised, or other connections drain.
Requests authenticated by a browser session are never counted against a quota. Only API key traffic is metered and gated.