Webhooks as a Service Compared: Svix vs Hookdeck Outpost vs Convoy vs Hook0 vs QStash vs Webhook Relay (2026)
Svix, Hookdeck Outpost, Convoy, Hook0, QStash and Webhook Relay compared for sending webhooks to customers: pricing at 100k to 50M messages, retention, signatures, portal, self-hosting, compliance.

Webhooks as a service means your backend publishes an event once and a hosted service signs it, delivers it to every customer endpoint subscribed to it, retries failures and keeps a log you can replay from. Six options come up most often in 2026. Svix is the broadest and most compliance-heavy. Hookdeck Outpost is the cheapest per event and delivers to queues. Hook0 is the EU-hosted, self-hostable option. Convoy is a self-hosted gateway with uncertain momentum. QStash is a general HTTP queue rather than a webhook product. Webhook Relay's Outbound Gateway is the flat-priced option: 35-day history and Standard Webhooks from $9.99/month, no per-message fees, with inbound webhooks on the same account. All prices on this page are list prices checked on 2026-10-10.
Disclosure: we build Webhook Relay. Every competitor figure links to its source, and we list our own gaps.
Summary: who each one is for
| Service | Best for | Not a fit when |
|---|---|---|
| Svix | Regulated or enterprise SaaS that needs a portal, HIPAA/PCI, FIFO, many SDKs | Volume is growing and the per-message bill matters; 90-day history costs $490+ |
| Hookdeck Outpost | Lowest per-event price; delivering to customers' SQS, Kafka, Pub/Sub | You want 30+ days of history without $499/month |
| Convoy | Teams that must self-host a send-and-receive gateway | You don't want to operate infrastructure, or need an actively staffed vendor |
| Hook0 | EU-headquartered, EU-hosted, self-hostable | You need Standard Webhooks today, SOC 2 from the vendor, or no daily quotas |
| QStash | Serverless apps that need a queue with HTTP delivery | You need per-customer endpoints, subscriptions, a portal, or unbilled retries |
| Webhook Relay | Long history at a small price, flat cost as volume grows, inbound + outbound on one account | You need a portal, queue destinations, HIPAA/PCI, self-hosting, or more than 1,000 customers |
Feature matrix
| Svix | Hookdeck Outpost | Convoy | Hook0 | QStash | Webhook Relay | |
|---|---|---|---|---|---|---|
| Hosted | Yes | Yes | Cloud trial; mainly self-hosted | Yes | Yes | Yes |
| Self-host licence | MIT | Apache 2.0 | Elastic 2.0 | SSPL-1.0 | No | No |
| Customers / endpoints / event types model | Yes | Yes (tenants, topics) | Yes | Yes | No | Yes (consumers) |
| Default signature | Standard Webhooks (svix-*) | x-outpost-signature (Standard Webhooks mode optional) | X-Convoy-Signature | X-Hook0-Signature (Standard Webhooks planned) | JWT in Upstash-Signature | Standard Webhooks (webhook-*) |
| Retries billed | No | No | n/a (licence) | No | Yes, every attempt | No |
| Per-endpoint rate limits | Yes | Not stated | Yes | Not stated | Per-queue parallelism | Yes, per endpoint |
| Payload transformations | Yes | No | Premium | No | No | Yes (JavaScript) |
| Embeddable customer portal | Yes | Yes | Portal links (Premium) | Yes | No | Not yet |
| Non-HTTP destinations | Object storage (Pro), brokers (Enterprise) | SQS, Kafka, Pub/Sub, EventBridge, RabbitMQ | Not stated | No | No | Not yet |
| FIFO | Yes | Not stated | Not stated | Not stated | Yes (queues) | No |
| Static source IPs | Professional | +$100/mo | Via your proxy | Not stated | Not stated | No (outbound) |
| SDKs | 9 languages + CLI | 3 | Several | MIT SDKs | Several | TypeScript, Go |
| MCP / agent tools | Agent skill (SKILL.md) | MCP server | Not stated | MCP | Not stated | MCP tools for every operation |
| Receive webhooks on the same account | Separate product (Ingest) | Separate product (Event Gateway) | Yes | No | No | Yes, plus private-network delivery and tunnels |
Sources: Svix pricing, Outpost and pricing, Outpost webhook docs, Convoy pricing, Hook0 pricing, Hook0 vs Svix, Hook0 signature docs, QStash pricing, QStash signatures, Webhook Relay outbound docs. "Not stated" means we didn't find it on the vendor's pages. Checked 2026-10-10/11.
How much does each cost at 100k, 1M, 10M and 50M messages a month?
Webhook Relay stays flat because it prices on customers served, not messages. Per-message services scale with volume.
| Messages / month | Webhook Relay (35d) | Svix Basic (30d) | Svix Pro (90d) | Outpost Starter (7d) | Outpost Growth (30d) | Hook0 Pro (30d) | QStash PAYG (7d) |
|---|---|---|---|---|---|---|---|
| 100,000 | $9.99 | ~$25 | ~$495 | ~$0.50 | ~$500 | €190 | ~$1 + retries |
| 1,000,000 | $9.99 | ~$115 | ~$585 | ~$9.50 | ~$509 | €190 | ~$10 + retries |
| 10,000,000 | $9.99 | ~$1,015 | ~$1,485 | ~$100 | ~$599 | ~€890 | ~$100 + retries |
| 50,000,000 | $9.99 | ~$5,015 | ~$5,485 | ~$500 | ~$999 | ~€4,890 | ~$500 + retries |
List prices checked 2026-10-10. Webhook Relay: Basic $9.99 up to 100 customers, Business $79.99 up to 500, Pro $249.99 up to 1,000, at any of these volumes; outbound is included on all three paid plans (not Free). Svix: $20 / $490 including 50,000 messages, then $0.0001; each 64 KiB of payload is a separate message. Outpost: $10 per million after 50,000 free; Growth $499 + $10/M. Hook0: Pro €190 with 100,000 events/day, then €0.0001 per event, assuming even daily volume. QStash: $1 per 100,000 messages, each delivery attempt billed. Convoy is not in the table: Community is free to self-host (you pay for infrastructure and operations) and Premium is $999/month self-hosted.
The short version: Outpost Starter is cheapest if 7 days of history is enough. Webhook Relay is cheapest for 30+ days of history at any volume up to its 1,000-customer limit. Svix becomes the most expensive option as volume grows, and in exchange gives the broadest feature and compliance set.
How long does each keep delivery history?
| Service | Free / entry | Mid tier | Top published tier |
|---|---|---|---|
| Webhook Relay | 35 days (Basic, $9.99) | 35 days | 35 days |
| Svix | 7 days (Free) | 30 days (Basic, $20) | 90 days (Professional, $490) |
| Hookdeck Outpost | 7 days (Starter) | 30 days (Growth, $499) | Custom |
| Hook0 | 7 days (Free) | 14 days (Startup, €59) | 30 days (Pro, €190) |
| QStash | 7 days (PAYG) | 14 days (Fixed 1M, $180) | 14 days (Fixed 10M, $420) |
| Convoy | Your database | "Advanced retention" (Premium) | Your database |
History is what lets you answer "we never got the event" a few weeks later. That's the most common reason teams buy instead of building.
Which signature scheme does each use?
Standard Webhooks is the open spec adopted by OpenAI, Anthropic, Twilio and others: HMAC-SHA256 over {id}.{timestamp}.{body} in webhook-id, webhook-timestamp and webhook-signature headers. If your customers can verify with any Standard Webhooks library, you don't have to ship verification code for them.
- Standard Webhooks by default: Webhook Relay (unbranded
webhook-*headers) and Svix (svix-*headers; Svix's libraries also verify the unbranded ones). - Optional: Hookdeck Outpost (default
x-outpost-signature, hex HMAC of the body). - Custom: Hook0 (
X-Hook0-Signature, Standard Webhooks planned), Convoy (X-Convoy-Signature), QStash (JWT signed with an account-level key).
Check any captured request with our free Standard Webhooks signature verifier.
Which have a customer portal?
Svix (all plans, unbranded on Professional), Hookdeck Outpost and Hook0 offer an embeddable portal where your customers manage endpoints and inspect deliveries. Convoy offers portal links on Premium. QStash has none. Webhook Relay doesn't have one yet; it's the next phase. Today you see every delivery and attempt in the dashboard, API and MCP, and support staff can retry, recover or replay on a customer's behalf.
Compliance
| Service | What the vendor states |
|---|---|
| Svix | SOC 2 Type II, HIPAA (BAA on Enterprise), PCI DSS, GDPR |
| Hookdeck Outpost | SOC 2; HIPAA on Growth |
| Webhook Relay | SOC 2 Type II, GDPR; no HIPAA or PCI |
| Hook0 | GDPR with a DPA, EU hosting (Clever Cloud, France); no SOC 2 report of its own listed |
| Convoy | Self-hosted, so largely yours; "SOC 2 & compliance support" on Enterprise |
| QStash | Not reviewed for this page |
Webhook Relay's gaps, stated plainly
The Outbound Gateway is new (generally available since October 2026). It has no customer portal yet, no queue or object-storage destinations yet, no FIFO, no static source IPs for outbound, no HIPAA or PCI, TypeScript and Go SDKs only (plus REST and MCP), no self-hosted version, and a limit of 1,000 customers per account. What it does have: Standard Webhooks signing with rotation, 8 retries over 48 hours, per-endpoint rate limits and isolation, auto-disable, idempotency keys, 256 KiB payloads, JavaScript transforms, 35-day history with retry/recover/replay, and the same account for receiving webhooks, delivering them into private networks and running tunnels. See the Outbound Gateway docs.
Head-to-head pages and migration guides
- Svix alternative, including a response to Svix's page about us (migrate from Svix)
- Hookdeck Outpost alternative (migrate) and Hookdeck alternative for inbound + outbound
- Convoy alternative (migrate)
- Hook0 alternative (migrate)
- Built it yourself? Migrate from a homegrown queue
Every guide supports importing existing signing secrets: create each Webhook Relay endpoint with the secret it uses today (32-100 base64 characters, whsec_ optional) so customers keep their key. From Svix that means receivers on Svix libraries change nothing; from Convoy, Hook0, Outpost's default mode or homegrown signing, receivers still move to Standard Webhooks verification.
Ready to try it? See how outbound webhooks work or start sending webhooks from the dashboard on any paid plan.
