Credits & Billing
How usage is measured in credits, monthly plans and one-time credit packs.
How credits are counted
Webbu measures usage in credits, charged when a webhook is accepted by the ingest endpoint:
1 credit per started KB (1,024 bytes) of payload.
| Payload size | Credits |
|---|---|
| up to 1 KB | 1 |
| 1.5 KB | 2 |
| 10 KB | 10 |
| 100.2 KB | 101 |
The size is measured on the compact JSON form of the body (without whitespace), so formatting doesn't cost credits.
What doesn't use credits:
- Requests rejected with an error (
400,401,403,404,429) - Duplicates detected by message ID
- Deliveries, retries, the DLQ, analytics and all management API calls
When your balance is lower than what a webhook needs, ingest returns 429:
{
"error": "Insufficient credits",
"credits": 3,
"required": 5,
"message": "Please add more credits to continue receiving webhooks"
}Your sender then sees the failure and can retry according to its own policy.
Monthly allowance
- New accounts start with 10,000 credits.
- Each plan includes a number of credits per month. At the start of each calendar month (UTC) your balance is reset to your plan's monthly credits. Unused monthly credits don't carry over.
- Credits from credit packs are kept across the reset (see below).
Plans
| Plan | Price | Credits per month |
|---|---|---|
| Starter | R$ 49/month | 10,000 |
| Professional | R$ 149/month | 50,000 |
| Enterprise | R$ 499/month | 250,000 |
Subscriptions are billed monthly in Brazilian reais (BRL). Subscribe, change or cancel on the Billing page of the dashboard; a cancelled subscription stays active until the end of the paid period.
Credit packs
Credit packs are one-time purchases on top of your plan:
- Require an active subscription. Without one, the checkout request fails with
403and"code": "subscription_required". - Never expire. Pack credits are kept at the monthly reset; your plan's monthly credits are used first.
- Sizes from 10,000 to 1,000,000 credits.
- Price: the per-credit rate of the largest plan whose monthly credits don't exceed the pack size (packs smaller than every plan use the Starter rate).
- Credits granted are proportional to the amount paid. If the amount paid differs from the pack price, for example because of a discount, you get credits in that proportion.
Examples at the current plan prices:
| Pack | Rate from | Price |
|---|---|---|
| 10,000 | Starter (R$ 4.90 per 1,000) | R$ 49.00 |
| 40,000 | Starter | R$ 196.00 |
| 50,000 | Professional (R$ 2.98 per 1,000) | R$ 149.00 |
| 100,000 | Professional | R$ 298.00 |
| 250,000 | Enterprise (R$ 1.996 per 1,000) | R$ 499.00 |
| 1,000,000 | Enterprise | R$ 1,996.00 |
Because the rate drops at each plan size, a pack just below a plan size can cost more than the next one up (40,000 credits cost more than 50,000). The dashboard points this out when you choose a pack.
Checking your balance
In the dashboard, open Billing. Through the API:
# Current balance and monthly allowance
curl -H "X-API-Key: $WEBBU_API_KEY" https://webbu.dev/api/v1/admin/credits
# Credit history (consumption, purchases, resets)
curl -H "X-API-Key: $WEBBU_API_KEY" https://webbu.dev/api/v1/admin/credits/transactions
# Available credit packs with current prices
curl -H "X-API-Key: $WEBBU_API_KEY" https://webbu.dev/api/v1/admin/credit-packsEstimating usage
Multiply your monthly webhook count by the credits per webhook. For example, 30,000 webhooks of up to 1 KB each use 30,000 credits per month: the Professional plan (50,000) covers it, or the Starter plan (10,000) plus a 20,000-credit pack.