Limits and formats
Look up storage ceilings, request limits, and the accepted formats for amounts, dates, and names.
On this page
Use this chapter as a quick reference for the limits and input formats Ebbe enforces.
How much a budget may hold
| Kind | Ceiling |
|---|---|
| Recurring items | 500 |
| One-off items | 2,000 |
| Categories | 100 |
| Balance readings | 100 |
| Tag settings | 200 |
About 2,900 rows in total, which is far more than a household reaches by living and about what one reaches by never clearing anything out.
Only new rows are refused. You can always delete or prune your way back under, and the refusal message links there rather than simply saying no.
Paused items count. Archived categories count. They are still rows.
How large a figure may be
The largest amount on any single item is 1,000,000,000 cents — ten million euros. Anything larger is a typo rather than a budget.
Balances and the buffer may be negative down to the same magnitude, because an overdrawn account is a fact and an overdraft is a real place to draw a line.
Money is held as a whole number of cents throughout. There is no rounding drift to accumulate, and a percentage raise compounds on the rounded amount because that is what actually happens.
Other ceilings
| Thing | Ceiling |
|---|---|
| Instalments, or hand-written payments, on one one-off | 120 |
| Tags on one item | 20 |
| Characters in a tag | 40 |
| Characters in an item name | 120 |
| Characters in a note | 2,000 |
| Months in a projection | 1 to 120 |
| Personal access tokens per account | 50 |
| Password length | at least 10 characters |
| Session lifetime | 30 days |
Rate limits
Per token where there is one, otherwise per address.
| What | Allowance |
|---|---|
Anything under /api |
300 per 5 minutes |
| Signing in | 10 per 5 minutes |
| Registering, first-account setup, starting a demo, resending a confirmation, forgotten password | 5 per 15 minutes |
| Password reset, password change, address change, account deletion | 10 per 5 minutes |
| Forecast and occurrence endpoints | 120 per 5 minutes |
| The JSON exports | 10 per 5 minutes |
| Import and prune | 30 per 5 minutes |
Sign-in and registration are the strict ones on purpose: they are the two endpoints somebody guesses at.
Links and tokens
| Thing | Lives for |
|---|---|
| Email confirmation link | 24 hours |
| Address-change confirmation link | 24 hours |
| Password reset link | 60 minutes |
| A demo account | 60 minutes |
| An OAuth authorization code | 60 seconds, single use |
| An OAuth access token | 1 hour |
| An OAuth refresh token | 30 days, rotating |
Every emailed link can be used once. There is a sixty-second wait before one can be resent.
Money and date formats
Currencies: EUR, CHF, GBP, USD, SEK, NOK, DKK, PLN, CZK. A property of the budget, not of the reader.
Number formats: one per distinct way of writing a figure, so 1.234,56,
1,234.56, 1 234,56 and 1'234.56 are all available. A property of you.
Date formats: six, from 20/04/2026 through 2026-04-20 to
April 20th, 2026. Also yours, and the options are shown as today’s date
written each way rather than as a pattern to decode.
What you can type into an amount field: rather more than you would expect.
1234, 1.234,56, 1,234.56, 1 234,56 € and (12.34) for a negative all
work. Where both separators appear, the last one is the decimal mark.
Languages
Chosen per account. The language changes the interface and never anything you
typed: a category you named Housing on a German account stays Housing.