Plans & Billing
Nexus Broker offers three plans designed for different scales of operation. All plans include end-to-end encryption, FIFO delivery, and the full management API. Billing is handled through Stripe with monthly cycles.
Plan Comparison
| Feature | Free | Pro | Enterprise |
|---|---|---|---|
| Price | $0 / month | $29 / month | $99 / month |
| Webhooks | 3 | 25 | Unlimited |
| Messages / month | 1,000 | 50,000 | 500,000 |
| Max message size | 32 KB | 64 KB | 256 KB |
| Max queue depth | 500 | 10,000 | 100,000 |
| Message TTL | 7 days | 30 days | 90 days |
| Lock timeout | 60 seconds | 300 seconds | 300 seconds |
| Max retries | 3 | 10 | 20 |
| API keys | 2 | 10 | Unlimited |
| Encryption | RSA-2048 | RSA-2048 + X25519 | RSA-2048 + X25519 |
| Audit log retention | 7 days | 30 days | 365 days |
Billing
Billing is managed through Stripe. When you subscribe to a paid plan, you provide a payment method and are billed on a monthly cycle starting from the subscription date.
- Monthly billing — Charges are applied at the beginning of each billing cycle.
- Prorated upgrades — When upgrading mid-cycle, you are charged a prorated amount for the remaining days.
- Downgrades — Take effect at the end of the current billing cycle. You retain access to the higher plan until then.
- Payment failures — Stripe retries over 7 days. If all retries fail, the account is downgraded to the Free plan.
Usage Tracking
Usage is tracked in real-time and visible on your dashboard. The primary metered quantity is messages — every successful ingestion (HTTP 202 response) counts as one message against your monthly limit. Messages that are rejected (400, 413, 429, 507) are not counted.
- Dashboard — View current usage, limits, and projected usage for the billing period on the dashboard overview page.
- Stats API — Use the
GET /api/statsendpoint to programmatically retrieve usage data. - Reset cycle — Usage counters reset at the beginning of each billing cycle, not on a calendar month basis.
Plan Limits
When you approach or exceed plan limits, the API returns specific error responses:
| Limit | Status | Code | Behavior |
|---|---|---|---|
| Message size | 413 | PAYLOAD_TOO_LARGE | Rejected immediately |
| Queue depth | 507 | QUEUE_FULL | Rejected; dequeue to free space |
| Rate limit | 429 | RATE_LIMIT_EXCEEDED | Includes Retry-After header |
| Monthly messages | 429 | QUOTA_EXCEEDED | Upgrade or wait for reset |
| Webhook count | 403 | PLAN_LIMIT_REACHED | Cannot create more webhooks |
| API key count | 403 | PLAN_LIMIT_REACHED | Cannot create more API keys |
Upgrading & Downgrading
Manage your subscription from the dashboard settings page. Changes take effect as follows:
- Upgrading — Takes effect immediately. You are charged a prorated amount for the remainder of the current billing cycle. Higher limits (queue depth, message size, rate limits) apply within seconds.
- Downgrading — Takes effect at the end of the current billing period. You keep access to the higher plan limits until the cycle ends. If your current usage exceeds the lower plan limits (e.g., more webhooks than allowed), those resources remain active but you cannot create new ones.
- Cancelling — Cancelling a paid subscription is equivalent to downgrading to Free. Access continues until the end of the billing cycle.
FAQ
What counts as a message?
Every successful ingestion (HTTP 202 response) counts as one message. Retries, dequeues, commits, and errors do not count toward your monthly limit. Only the initial POST to the webhook URL is metered.
What happens when I hit my monthly message limit?
New ingestions receive a 429 response with the code QUOTA_EXCEEDED. Existing queued messages are not affected and can still be dequeued and processed. The limit resets at the beginning of your next billing cycle, or immediately when you upgrade.
Can I exceed plan limits temporarily?
No. Plan limits are enforced in real-time. If you need higher limits, upgrade your plan. Enterprise customers can contact support for burst capacity arrangements.
Do committed messages count against queue depth?
No. Queue depth only counts messages in "queued" or "locked" state. Committed and dead-lettered messages are retained for audit purposes but do not consume queue capacity.
Is there a free trial for paid plans?
The Free plan is available indefinitely with no time limit. There is no separate trial for Pro or Enterprise, but you can upgrade and downgrade at any time with prorated billing.
How do I get a refund?
Contact billing@nexusbroker.com within 30 days of the charge. Refunds are handled on a case-by-case basis. Downgrading to Free is always available as an immediate option.