NimbusNexus
Webhooks

Ship webhooks you
don't have to babysit.

A managed webhook platform for both directions: receive events from Stripe, GitHub and anything else that signs its payloads, and send your own to your customers — signed, retried, replayable, and metered per event rather than per endpoint.

How it works

Four moving parts, none of them yours.

Publish an event once. We store it, match it against every endpoint subscribed to that type, sign each delivery, and keep retrying on your behalf until it lands or the attempt budget runs out.

  1. Accept

    POST an event to the API and it is persisted before we answer — that stored row is the source of truth, not a queue entry that can evaporate. Send an Idempotency-Key and a retried publish returns the original event instead of a duplicate; the same key with a different body is rejected rather than silently accepted.

  2. Fan out

    One event is matched against every enabled endpoint whose subscription covers that type — exact, prefix, suffix, or everything. Each match becomes its own delivery with its own retry budget. Fanning one event out to ten endpoints still costs one event.

  3. Sign and send

    The payload envelope is built once at publish time and stored byte-for-byte, so every retry ships an identical body. Each attempt is re-signed with a fresh timestamp, which means your subscribers can enforce a tight replay window and a delivery that succeeds two hours later still verifies.

  4. Retry, then park

    Exponential backoff with a per-endpoint attempt budget and, if you want one, a custom retry curve. Anything that exhausts its budget lands in a dead-letter queue you can filter and replay in bulk once the far end is healthy again.

Endpoints that keep failing are disabled automatically and the owner is emailed — with the reason, not just a failure count. Recovery re-enables them.

What you get

The parts everyone rebuilds, already built.

None of this is behind a plan gate. Every capability below ships on every tier, including the free one — plans differ by volume and ceilings, not by features.

Inbound sources

Give a provider a URL and we verify their signature — Stripe, GitHub, or a generic HMAC scheme — then normalise the event type from a header, a JSON path, or a default.

HMAC signing

SHA-256 over timestamp and body, sent as X-Webhook-Signature. Secrets are encrypted at rest and rotate with an overlap window so subscribers can cut over without a failed delivery.

Dead-letter replay

Filter the DLQ by status or endpoint and replay in bulk. Redelivery is a compare-and-set on settled rows, so a delivery still in flight can never be armed twice.

Operational webhooks

Subscribe to our events about your events — endpoint disabled, degraded, recovered, attempts exhausted. They run on an isolated lane, so an alert is never stuck behind the backlog it is warning you about.

Event-type catalog

Register the types you emit and attach a JSON Schema. An unknown type is rejected at publish rather than silently matching nothing and disappearing.

Egress protection

Every outbound request is HTTPS-only, blocks private and metadata addresses, pins the connection to the validated IP so DNS cannot be rebound underneath it, and never follows redirects.

Scoped API keys

Keys are hashed, shown once, and scoped to publish or admin — so a key embedded in a producer service cannot read your delivery history or rewrite your endpoints.

Tenant isolation

Enforced in Postgres with row-level security through a role that cannot bypass it, rather than by remembering a WHERE clause in every query.

Audit log

Every administrative change is recorded and queryable per tenant — who changed which endpoint, and when.

SDKs

Python, TypeScript and Go, with the signature-verification helper in each (Java and PHP are written and awaiting first publish) — the part everyone gets subtly wrong by hand.

Single sign-on

The console signs in through NimbusNexus Identity, so webhook access follows the same accounts and roles as the rest of your estate.

Live usage

Endpoint health, queue depth, delivery outcomes and your current consumption against the plan ceiling — in the console and on the API.

For your subscribers

Verification is nine lines, and we ship it for you.

Every delivery carries the headers below. Because the signed body is stored once and re-signed per attempt, a subscriber can safely reject anything older than five minutes without breaking retries.

# Verify a NimbusNexus webhook (Python)
import hashlib, hmac, time
signed = f"{ts}.{raw_body.decode()}"
expected = hmac.new(
"whsec_…".encode(),
signed.encode(),
hashlib.sha256,
).hexdigest()
# constant-time compare, then bound the replay window
assert hmac.compare_digest(f"sha256={expected}", sig)
assert abs(time.time() - int(ts)) < 300
Sent with every attempt
X-Webhook-Signaturesha256=…
X-Webhook-Timestampunix seconds
X-Webhook-Delivery-Idper attempt
X-Webhook-Event-Idstable
X-Webhook-Event-Typeorder.created
Plans

Priced on events, not on endpoints.

You pay for events you publish. Fanning one event out to every endpoint that wants it is included — so adding a subscriber never costs you anything.

Free

Enough to run something real.

$0

 

  • 50,000 events / month
  • 25 endpoints
  • 600 requests / min, burst 100
  • 5 delivery attempts
  • Hard cap — never an unexpected bill
Get started

Starter

A product with customers on it.

$29/ month

$278.40 / year — save 20%

  • 500,000 events / month
  • 50 endpoints
  • 6,000 requests / min, burst 1,000
  • 8 delivery attempts
  • Then $1.00 per additional 10,000
Choose Starter

Pro

Most popular

Production traffic, many services.

$149/ month

$1,430.40 / year — save 20%

  • 5,000,000 events / month
  • 500 endpoints
  • 30,000 requests / min, burst 5,000
  • 10 delivery attempts
  • Then $0.75 per additional 10,000
Choose Pro

Custom

Volume, terms and a contract.

Custom

 

  • Volume beyond the Pro ceiling
  • 2,500 endpoints
  • 60,000 requests / min, burst 10,000
  • Annual invoicing
  • Contracted support and terms
Contact sales

An event fanned out to many endpoints counts once. Delivery attempts carry their own ceiling on top, at twice your included events.

On every plan, including Free
  • HMAC-signed deliveries with secret rotation
  • Retries, backoff and dead-letter replay
  • Inbound sources with provider signature checks
  • Operational webhooks on an isolated lane
  • Event-type catalog with schema validation
  • Scoped API keys and a per-tenant audit log
  • Single sign-on through NimbusNexus Identity
  • The console, the API and all three SDKs

Plans are set up by our team — there is no self-serve checkout yet. Tell us which one you want and we will get you onto it, usually the same day.

Questions

The things worth asking before you commit.

One accepted publish. If that event matches ten endpoints, we make ten delivery attempts and still bill you for one event — endpoints are not a billing dimension. Delivery attempts do have their own ceiling, set at twice your included events, which is what the console shows you against your plan.
Get started

Tell us what you are sending, and we will get you set up.

Onboarding is hands-on right now, which mostly means someone reads what you are building before you write any code. Free plans included.