DOCS: Updated README & ROADMAP
All checks were successful
Close Stale Issues / stale (push) Successful in 3s

This commit is contained in:
2026-02-17 21:27:56 +00:00
parent 3c8903ac66
commit cc519e4cee
2 changed files with 340 additions and 167 deletions

408
README.md
View File

@@ -1,65 +1,69 @@
<p align="center">
<img src="assets/banner.png" alt="Evercatch Banner" width="800">
</p>
<div align="center">
<p align="center">
<strong>The webhook infrastructure platform for developers who want simplicity without sacrificing power.</strong>
</p>
<img src="assets/banner.png" alt="Evercatch" width="800">
<p align="center">
<a href="https://evercatch.dev">Website</a> •
<a href="https://docs.evercatch.dev">Docs</a> •
<a href="https://app.evercatch.dev">Dashboard</a> •
<a href="https://status.evercatch.dev">Status</a>
</p>
<br/>
<br/>
<img src="https://img.shields.io/badge/STATUS-ALPHA-red?style=flat-square&labelColor=000" alt="ALPHA">
&nbsp;
<img src="https://img.shields.io/badge/BETA-JUNE%202026-orange?style=flat-square&labelColor=000" alt="Beta June 2026">
&nbsp;
<img src="https://img.shields.io/badge/CLOSED%20SOURCE-111?style=flat-square&labelColor=000" alt="Closed Source">
<br/>
<br/>
### Webhook infrastructure that just works.
**One endpoint. Any provider. Reliable delivery.**
Point every webhook at Evercatch. We capture, normalize, and forward them to your app — with retries, history, and zero glue code.
<br/>
[Join the Beta](#-join-the-beta) &nbsp;·&nbsp; [Roadmap](ROADMAP.md) &nbsp;·&nbsp; [Docs](https://docs.evercatch.dev) &nbsp;·&nbsp; [Status](https://status.evercatch.dev) &nbsp;·&nbsp; [Pricing](#-pricing)
</div>
<br/>
> [!WARNING]
> **Evercatch is in active ALPHA development and is not production-ready.** Most external links (docs, dashboard, API, blog) will not be live until the beta launch. Interested in early access? Reach out at [contact@evercatch.dev](mailto:contact@evercatch.dev).
---
> **The webhook infrastructure platform for developers who want simplicity without sacrificing power.**
## The Problem
Evercatch is a modern webhook ingestion and forwarding platform that captures, normalizes, and reliably delivers webhooks from any source to any destination. Built for developers, by developers.
You're wiring up Stripe, SendGrid, GitHub, Shopify — all at once. Each one speaks a different language:
- Different payload schemas
- Different signature verification methods
- Different retry semantics
- No single place to debug, search, or replay events
**You're writing glue code instead of shipping features.**
## The Fix
```
Your Providers → Evercatch → Your App
```
Point every webhook at a single Evercatch endpoint. We handle the rest:
- **Normalize** every payload to a unified schema
- **Validate** signatures so you don't have to
- **Store** events with configurable retention (24h → 90 days)
- **Forward** to your destination with automatic retries and exponential backoff
- **Replay** any event from your dashboard in seconds
---
## 📋 What is Evercatch?
## Quick Start
Evercatch sits between your webhook providers (Stripe, SendGrid, GitHub, etc.) and your application, giving you:
### 1. Create an account
- **📦 Unified Schema** - One normalized format for all webhook providers
- **🔄 Reliable Delivery** - Automatic retries with exponential backoff
- **📊 Event History** - Search, filter, and replay webhooks up to 90 days
- **⚡ Lightning Fast** - Sub-100ms webhook ingestion
- **🔐 Secure by Design** - API key authentication, filtered sensitive data
- **💰 Usage-Based Pricing** - Pay only for what you use, with generous free tier
---
## 💡 Why Evercatch?
### The Problem
You're integrating with multiple services (Stripe for payments, SendGrid for emails, Shopify for orders). Each has:
- Different webhook formats
- Different retry behaviors
- Different ways to verify authenticity
- No central dashboard to debug issues
**You spend more time managing webhooks than building your product.**
### The Evercatch Solution
Point all your webhooks at Evercatch. We:
1. ✅ Receive and validate webhooks from any provider
2. ✅ Normalize them to a unified schema
3. ✅ Store them with intelligent retention (7-90 days)
4. ✅ Forward them to your app with automatic retries
5. ✅ Give you a beautiful dashboard to search, filter, and replay events
**You focus on your product. We handle the webhooks.**
---
## 🚀 Quick Start
### 1. Sign Up
```bash
curl -X POST https://api.evercatch.dev/api/v1/auth/signup \
-H "Content-Type: application/json" \
@@ -70,178 +74,248 @@ curl -X POST https://api.evercatch.dev/api/v1/auth/signup \
}'
```
**Response:**
```json
{
"user": { "id": "550e8400-...", "email": "you@example.com" },
"api_key": {
"api_key": "ec_live_abc123...",
"prefix": "ec_live_abc1"
},
"subscription": { "tier": "sandbox", "status": "trialing" }
"user": { "id": "550e8400-e29b-...", "email": "you@example.com" },
"api_key": { "api_key": "ec_live_abc123...", "prefix": "ec_live_abc1" },
"subscription": { "tier": "sandbox", "status": "active" }
}
```
### 2. Point Your Webhooks at Evercatch
### 2. Point your webhook provider at Evercatch
```
https://api.evercatch.dev/api/v1/webhooks/stripe/550e8400-...
https://api.evercatch.dev/api/v1/webhooks/{provider}/{your-user-id}
```
**Example: Configure Stripe**
1. Go to [Stripe Dashboard → Webhooks](https://dashboard.stripe.com/webhooks)
2. Click "Add Endpoint"
3. Enter: `https://api.evercatch.dev/api/v1/webhooks/stripe/550e8400-...`
4. Select events
5. Add header: `X-API-Key: ec_live_abc123...`
Configure Stripe in 30 seconds:
1. Open [Stripe Dashboard → Webhooks](https://dashboard.stripe.com/webhooks)
2. Add endpoint → paste your Evercatch URL
3. Add header: `X-API-Key: ec_live_abc123...`
4. Select events → done
### 3. Register a destination
### 3. Configure Your Destination
```bash
curl -X POST https://api.evercatch.dev/api/v1/destinations \
-H "X-API-Key: ec_live_abc123..." \
-H "Content-Type: application/json" \
-d '{
"name": "Production API",
"name": "My API",
"url": "https://yourapp.com/webhooks",
"providers": ["stripe"],
"event_types": ["payment.*"]
}'
```
### 4. That's It! 🎉
Evercatch now:
- ✅ Receives webhooks from Stripe
- ✅ Normalizes them to a unified schema
- ✅ Stores them for 24 hours (Sandbox tier)
- ✅ Forwards them to `yourapp.com/webhooks`
- ✅ Retries on failure
Evercatch now receives, normalizes, stores, and forwards every matching event — automatically retrying on failure.
### Or use a native SDK
```python
# Python
from evercatch import Evercatch
ec = Evercatch("ec_live_abc123...")
ec.destinations.create(
name="My API",
url="https://yourapp.com/webhooks",
providers=["stripe"],
event_types=["payment.*"],
)
```
```typescript
// Node.js / TypeScript
import { Evercatch } from "@evercatch/sdk";
const ec = new Evercatch("ec_live_abc123...");
await ec.destinations.create({
name: "My API",
url: "https://yourapp.com/webhooks",
providers: ["stripe"],
eventTypes: ["payment.*"],
});
```
---
## 📊 Pricing
## Integrations
| Plan | Price | Events/mo | Retention | Destinations | Overage |
|------|-------|-----------|-----------|--------------|---------|
| **Sandbox** | €0 | 100k | 24 hours | 2 | — |
| **Indie** | €29 | 1M | 7 days | 10 | €0.50/100k |
| **Studio** | €99 | 10M | 30 days | Unlimited | €0.30/100k |
| **Enterprise** | €299 | 50M | 90 days | Unlimited | €0.20/100k |
We are launching with major integrations from day one, with more coming after beta.
**All plans include:**
- ✅ Unlimited API keys
- ✅ Real-time event forwarding
- ✅ Automatic retries
- ✅ 99.9% uptime SLA
- ✅ Support via email
| Provider | Incoming Webhooks | Signature Verification | Normalized Schema |
|----------|:-----------------:|:---------------------:|:-----------------:|
| **Stripe** | ✅ | ✅ | ✅ |
| **More at launch** | ✅ | ✅ | ✅ |
**Studio+ includes:**
- ✨ Full-text search
- ✨ Advanced filtering
- ✨ Event replay
- ✨ Custom retention
**Enterprise includes:**
- 🚀 Priority support
- 🚀 Custom SLAs
- 🚀 Dedicated Slack channel
- 🚀 SSO/SAML
- 🚀 Custom contracts
[**→ Start Free**](https://evercatch.dev/signup) · [**→ View Full Pricing**](https://evercatch.dev/pricing)
> New integrations are tracked in [ROADMAP.md](ROADMAP.md). Want to see a specific provider? [Request it here](https://git.psmattas.com/Evercatch/.profile/issues/new?template=.gitea%2fissue_template%2ffeature_request.yml).
---
## 🐛 Found a Bug?
## SDKs
We want to fix it! **[→ Report a Bug](../../issues/new?template=bug_report.md)**
Native, idiomatic clients for your language — all built on the same REST API.
Please include:
- Clear steps to reproduce
- Expected vs actual behavior
- Your subscription tier
- Event IDs (if applicable)
| Language | Package | Status |
|----------|---------|--------|
| **Python** | `pip install evercatch` | Launching with beta |
| **Node.js / TypeScript** | `npm install @evercatch/sdk` | Launching with beta |
| **Go** | `go get github.com/evercatch/evercatch-go` | Launching with beta |
| **Ruby** | `gem install evercatch` | Launching with beta |
**Do NOT include API keys or sensitive data.**
All SDKs support the full API surface: destinations, event history, replays, and API key management.
---
## ✨ Have a Feature Idea?
## CLI
We'd love to hear it! **[→ Request a Feature](../../issues/new?template=feature_request.md)**
A first-class CLI tool ships at launch for local development workflows.
Tell us:
- What problem it solves
- How you'd use it
- Which tier would benefit
```bash
# Install
npm install -g @evercatch/cli
# Authenticate
ec auth login
# Forward live events to your local server during development
ec listen --forward http://localhost:3000/webhooks
# Replay a past event
ec events replay evt_01j9x...
# Inspect recent events
ec events list --provider stripe --limit 20
```
The CLI is designed to replace `ngrok` style tunnelling for webhook development — no tunnels needed, just replay and inspect from your terminal.
---
## 🔐 Security Vulnerability?
## Pricing
**DO NOT open a public issue.**
| Plan | Price | Events / mo | Retention | Destinations | Overage |
|------|-------|-------------|-----------|--------------|---------|
| **Sandbox** | Free | 100k | 24 hours | 2 | — |
| **Indie** | €29 / mo | 1M | 7 days | 10 | €0.50 / 100k |
| **Studio** | €99 / mo | 10M | 30 days | Unlimited | €0.30 / 100k |
| **Enterprise** | €299 / mo | 50M | 90 days | Unlimited | €0.20 / 100k |
**Email:** [security@evercatch.dev](mailto:security@evercatch.dev)
<details>
<summary>What's included in each plan</summary>
We'll respond within 24 hours. See our [Security Policy](SECURITY.md) for details.
<br/>
**All plans**
- Unlimited API keys
- Real-time event forwarding
- Automatic retries with exponential backoff
- 99.9% uptime SLA
- Email support
**Studio and above**
- Full-text event search
- Advanced filtering
- Event replay
- Custom retention windows
**Enterprise**
- Priority support + dedicated Slack channel
- Custom SLAs and contracts
- SSO / SAML
- Custom retention and event volume
</details>
[Start Free →](https://evercatch.dev/signup) &nbsp;·&nbsp; [View Full Pricing →](https://evercatch.dev/pricing)
---
## ❓ Need Help?
## Join the Beta
- 📚 **Documentation**: [docs.evercatch.dev](https://docs.evercatch.dev)
- 📧 **Email Support**: [support@evercatch.dev](mailto:support@evercatch.dev)
- 💳 **Billing**: [billing@evercatch.dev](mailto:billing@evercatch.dev)
- **[→ Open a Support Ticket](../../issues/new?template=support_request.md)**
> We are preparing for **beta launch in June 2026** *(tentative)*. See [ROADMAP.md](ROADMAP.md) for details.
We're looking for early developers to test the platform before public launch. Sign up, try it out, and share honest feedback — we'll set you up with a **free Indie or higher subscription** account for the duration of testing.
**To join the beta developer list:**
Send an email to [contact@evercatch.dev](mailto:contact@evercatch.dev) with the subject line **`Beta Dev List`** and a short description of your use case.
We'll follow up with access details as we get closer to launch.
---
## 📚 Resources
## Reference
- **Documentation:** [docs.evercatch.dev](https://docs.evercatch.dev)
- **API Reference:** [docs.evercatch.dev/api](https://docs.evercatch.dev/api)
- **Status Page:** [status.evercatch.dev](https://status.evercatch.dev)
- **Blog:** [blog.evercatch.dev](https://blog.evercatch.dev)
- **Roadmap:** [roadmap.evercatch.dev](https://roadmap.evercatch.dev)
- **Changelog:** [changelog.evercatch.dev](https://changelog.evercatch.dev)
<details>
<summary>Found a bug?</summary>
<br/>
**[→ Open a Bug Report](https://git.psmattas.com/Evercatch/.profile/issues/new?template=.gitea%2fissue_template%2fbug_report.yml)**
Include: steps to reproduce · expected vs actual behaviour · your subscription tier · event IDs if applicable.
Do **not** include API keys or sensitive data in public issues.
</details>
<details>
<summary>Have a feature request?</summary>
<br/>
**[→ Open a Feature Request](https://git.psmattas.com/Evercatch/.profile/issues/new?template=.gitea%2fissue_template%2ffeature_request.yml)**
Tell us what problem it solves, how you'd use it, and which tier it matters most for.
</details>
<details>
<summary>Security vulnerability?</summary>
<br/>
**Do not open a public issue.**
Email [security@evercatch.dev](mailto:security@evercatch.dev) — we respond within 24 hours. See [SECURITY.md](SECURITY.md) for our full disclosure policy and bug bounty details.
</details>
<details>
<summary>Need help?</summary>
<br/>
- [docs.evercatch.dev](https://docs.evercatch.dev) — full documentation
- [support@evercatch.dev](mailto:support@evercatch.dev) — email support
- [billing@evercatch.dev](mailto:billing@evercatch.dev) — billing questions
- [Open a support ticket →](https://git.psmattas.com/Evercatch/.profile/issues/new?template=.gitea%2fissue_template%2fsupport_request.yml)
</details>
<details>
<summary>Legal</summary>
<br/>
[Terms of Service](https://evercatch.dev/terms) &nbsp;·&nbsp; [Privacy Policy](https://evercatch.dev/privacy) &nbsp;·&nbsp; [SLA](https://evercatch.dev/sla) &nbsp;·&nbsp; [Acceptable Use](https://evercatch.dev/acceptable-use)
Community: [Code of Conduct](CODE_OF_CONDUCT.md) — report violations to [conduct@evercatch.dev](mailto:conduct@evercatch.dev)
</details>
---
## 🤝 Contributing
<div align="center">
We welcome community contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for:
- Bug reports
- Feature requests
- Documentation improvements
- Beta testing
- Integration examples
<br/>
---
**No webhook left behind.**
## 📜 Code of Conduct
<br/>
All community members must follow our [Code of Conduct](CODE_OF_CONDUCT.md).
[evercatch.dev](https://evercatch.dev) &nbsp;·&nbsp; [status.evercatch.dev](https://status.evercatch.dev) &nbsp;·&nbsp; [contact@evercatch.dev](mailto:contact@evercatch.dev)
**TL;DR:** Be respectful, professional, and kind. No harassment, discrimination, or spam.
**Report violations:** [conduct@evercatch.dev](mailto:conduct@evercatch.dev)
---
## ⚖️ Legal
- **Terms of Service:** [evercatch.dev/terms](https://evercatch.dev/terms)
- **Privacy Policy:** [evercatch.dev/privacy](https://evercatch.dev/privacy)
- **SLA:** [evercatch.dev/sla](https://evercatch.dev/sla)
- **Acceptable Use:** [evercatch.dev/acceptable-use](https://evercatch.dev/acceptable-use)
---
<p align="center">
<img src="assets/banner.png" alt="Evercatch Banner" width="800">
<br/>
<strong>No webhook left behind</strong>
<br/><br/>
<a href="https://evercatch.dev">Website</a> •
<a href="https://docs.evercatch.dev">Docs</a> •
<a href="https://app.evercatch.dev">Dashboard</a> •
<a href="https://status.evercatch.dev">Status</a>
</p>
</div>