Every webhook lands, or keeps trying until it does.

ShellOrbit receives your inbound webhooks, writes the raw payload down before anything else, and retries delivery with backoff until your destination answers. Replay any event you still hold.

Free for 15,000 events a month, no card. Paid plans start at $15.

Inbound endpoint hooks.shellorbit.com/e/ep_7f3a91
Recent webhook deliveries for one endpoint
SourceEventStateAttempts
stripeinvoice.paiddelivered 2001
githubpushdelivered 2001
stripecharge.refundedretrying delivered 2003
shopifyorders/createdelivered 2002

Delivery attempts for evt_9c41f0

  1. 12:04:01 Attempt 1 returned 502 from api.yourapp.com
  2. 12:04:09 Attempt 2 returned 502, next try in 32 seconds
  3. 12:04:41 Attempt 3 in flight Attempt 3 returned 200 in 240 ms

Priced for the app you actually have

Free inspection tools stop at debugging. Production platforms start where a side project's whole budget ends. This is the band in between.

Inspection toolsShellOrbitProduction platforms
Built forTesting a payload by handA small app with real usersTeams with a platform budget
RetriesNoneConfigurable attempts and backoffConfigurable
StorageThe current session3 to 90 days by planLong, with archive tiers
ReplayCopy and resend yourselfOne event or a filtered rangeYes
Entry priceFreeFree, then $15 a monthRoughly $39 to $75 a month

What happens to a request after it arrives

Four stages, in order, for every event. No agent to install and no change to your existing handler.

  1. Point the provider at your ingest URL

    Create an endpoint and paste the URL into Stripe, GitHub, Shopify, or anything else that sends webhooks. Nothing to install and no library to add.

  2. Every request is stored before anything else happens

    Method, headers, query, raw body, and signature are written down first. If your server is down, restarting, or mid deploy, the event is already safe.

  3. Delivery runs on a queue with backoff

    We POST to your destination, record the status code and response time, and requeue with increasing delay when the attempt fails. Permanent failures move to a dead letter queue you can inspect.

  4. Replay anything inside your retention window

    Fix the bug, then replay a single event, a filtered range, or everything that failed in the last hour. The original payload and headers are sent again, byte for byte.

Hitting your plan limit does not delete your customers' events

A dropped webhook is somebody's missed payment or unshipped order. Billing is a reason to charge you, not a reason to throw the payload away.

Overage instead of a wall

Paid plans keep receiving past the included volume and bill the extra by the thousand. There is no lockout on the day you get attention.

Queued, not discarded

On the free plan we hold events for 48 hours past the limit and tell you. Upgrade and the queue drains to your destination.

Dead letter queue you can read

When every attempt is exhausted the event stays inspectable and replayable for the rest of your retention window.

Controls you reach for once traffic is real

Everything is set per endpoint, so a noisy provider does not force the same policy on the rest.

Retries that outlast an outage

Set attempt count and backoff per endpoint, from three fast tries to fifty attempts spread over a month. A destination that goes down on Friday is still being retried well into the next week.

Starter and above

Circuit breaker

Once ten events in a row have failed every attempt, we stop running full retry schedules against a destination that is plainly down and hold new events instead. Nothing is dropped, and the first success clears it.

All plans

Fan out to several destinations

One inbound event, up to three destinations, each with its own delivery record and retry state.

Pro and above

Payload transformation

Reshape or trim the body before forwarding, so your handler receives what it expects.

Pro and above

Custom ingest domain

Receive on hooks.yourapp.com instead of a shared ShellOrbit URL, with certificates handled for you. Included on every plan, from one hostname on the free tier up to twenty five.

All plans

Signature verification

Verify provider signatures on the way in and sign outbound requests so your handler can trust the source.

Business

Event search

Filter by endpoint, status code, event type, or time range, then act on the whole result set at once.

Starter and above

Failure alerts

Email when an endpoint fails repeatedly, plus a POST to any webhook URL you configure on higher plans. Weekly digest of delivery health.

Starter and above

REST API

Create endpoints, rotate secrets, and trigger replays from scripts and deploy pipelines, with read only or read write keys.

Business

Four plans, one product

Every plan runs on the same delivery pipeline. Higher plans raise volume, retention, and control rather than unlocking reliability.

Hobby

For side projects and the first users of a new app.

$0 per month

15,000 events per month

  • 15 day retention and replay
  • 1 endpoint, 1 destination
  • 1 custom ingest domain
  • Fixed retry policy, 3 attempts
  • Dashboard event inspector
  • Community support
  • Small ShellOrbit mark in the dashboard

Starter

For a small production app with paying users.

$15 per month

75,000 events per month, then $0.50 per 1,000

  • 30 day retention and replay
  • 5 endpoints, 1 destination each
  • 2 custom ingest domains
  • Configurable attempts and backoff
  • Email alerts on repeated failure
  • Event search and filtering
  • Email support

Business

For products where webhook downtime becomes a support queue.

$99 per month

750,000 events per month, then $0.30 per 1,000

  • 180 day retention and replay
  • Unlimited endpoints and destinations
  • 25 custom ingest domains
  • 5 team seats, buy more at any time
  • Signature verification and IP allowlisting
  • Audit log of dashboard actions
  • 99.9 percent uptime commitment
  • Priority support with faster response

Pay yearly and two months come off the price. Usage above your included volume is billed by the thousand at the rate shown on your plan, so a busy week costs a few dollars instead of a forced upgrade.

Payments are handled by Paddle as merchant of record. Paddle collects sales tax and VAT where it applies and appears on your statement as the seller. Prices are in United States dollars and exclude tax where local rules add it.

Questions worth answering before you sign up

What happens when I pass my monthly event limit?

Nothing gets thrown away. On paid plans you keep receiving and the extra events are billed by usage, at the per thousand rate on your plan.

On the free plan we keep accepting and queueing for 48 hours and send you a warning. Delivery resumes as soon as you upgrade. If the plan is still at its limit after that window, delivery slows rather than stopping outright.

Do you ever drop an event?

Not on purpose, and not because of billing. A dropped webhook can be your customer's missed payment, so the design writes the event down before doing anything else.

Events leave storage only when they age out of your plan's retention window, or when you delete them.

How long are webhook events kept, and can I replay them later?

Every event is stored the moment it arrives, with its raw headers, raw body, and every delivery attempt. The free plan keeps 15 days, Starter 30, Pro 60, and Business 180.

Anything inside that window can be replayed, one event at a time or a whole filtered range. That is the point of the window: when you fix the bug that broke your handler, the events that hit it are still there to run again.

What happens if my destination is down for days?

ShellOrbit keeps retrying. A retry policy can be set to as many as fifty attempts with up to a day between them, which is a window of over a month, so a destination that goes down on a Friday evening is still being retried long after the weekend.

Once ten events in a row have failed every attempt, a circuit breaker holds new events rather than running full retry schedules against a destination that is plainly not there. Nothing is dropped, and the first success clears it immediately.

You hear about it before that happens: failure alerts fire by email after five consecutive failures by default.

How fast is delivery?

A healthy first attempt typically leaves within a second of receipt. Retries follow your backoff setting, so a failing destination sees increasing gaps rather than a tight loop.

Where does my payload data live?

On Amazon Web Services. Event records sit in DynamoDB, oversized payloads in S3, and delivery runs through SQS and Lambda. Nothing is copied to a third party for analytics.

Can I inspect what the provider actually sent?

Yes. Raw headers, raw body, signature, and every delivery attempt with its response code and body are visible for the whole retention window.

Can I move off ShellOrbit later?

Point the provider back at your own URL and delivery stops being ours. Export your stored events over the API before you cancel if you want to keep them.

How do I cancel?

From the dashboard, at any time. The plan runs to the end of the paid period and then stops. Payments already made are not refunded, which is set out in the refund policy.

Is there an uptime commitment?

The Business plan carries a 99.9 percent monthly commitment on the ingest endpoint. Lower plans run on the same infrastructure without a contractual target.

Point one provider at it and watch the log fill

Create an endpoint, paste the URL into a provider you already use, and send a test event. Nothing to deploy on your side.

curl -X POST https://hooks.shellorbit.com/e/ep_7f3a91 \
  -H 'content-type: application/json' \
  -d '{"event":"invoice.paid","id":"evt_9c41f0"}'