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

470
README.md
View File

@@ -1,65 +1,69 @@
<p align="center"> <div align="center">
<img src="assets/banner.png" alt="Evercatch Banner" width="800">
</p>
<p align="center"> <img src="assets/banner.png" alt="Evercatch" width="800">
<strong>The webhook infrastructure platform for developers who want simplicity without sacrificing power.</strong>
</p>
<p align="center"> <br/>
<a href="https://evercatch.dev">Website</a> • <br/>
<a href="https://docs.evercatch.dev">Docs</a> •
<a href="https://app.evercatch.dev">Dashboard</a> • <img src="https://img.shields.io/badge/STATUS-ALPHA-red?style=flat-square&labelColor=000" alt="ALPHA">
<a href="https://status.evercatch.dev">Status</a> &nbsp;
</p> <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 ```bash
curl -X POST https://api.evercatch.dev/api/v1/auth/signup \ curl -X POST https://api.evercatch.dev/api/v1/auth/signup \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
@@ -70,178 +74,248 @@ curl -X POST https://api.evercatch.dev/api/v1/auth/signup \
}' }'
``` ```
**Response:**
```json ```json
{ {
"user": { "id": "550e8400-...", "email": "you@example.com" }, "user": { "id": "550e8400-e29b-...", "email": "you@example.com" },
"api_key": { "api_key": { "api_key": "ec_live_abc123...", "prefix": "ec_live_abc1" },
"api_key": "ec_live_abc123...", "subscription": { "tier": "sandbox", "status": "active" }
"prefix": "ec_live_abc1"
},
"subscription": { "tier": "sandbox", "status": "trialing" }
} }
``` ```
### 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** Configure Stripe in 30 seconds:
1. Go to [Stripe Dashboard → Webhooks](https://dashboard.stripe.com/webhooks) 1. Open [Stripe Dashboard → Webhooks](https://dashboard.stripe.com/webhooks)
2. Click "Add Endpoint" 2. Add endpoint → paste your Evercatch URL
3. Enter: `https://api.evercatch.dev/api/v1/webhooks/stripe/550e8400-...` 3. Add header: `X-API-Key: ec_live_abc123...`
4. Select events 4. Select events → done
5. Add header: `X-API-Key: ec_live_abc123...`
### 3. Register a destination
### 3. Configure Your Destination
```bash ```bash
curl -X POST https://api.evercatch.dev/api/v1/destinations \ curl -X POST https://api.evercatch.dev/api/v1/destinations \
-H "X-API-Key: ec_live_abc123..." \ -H "X-API-Key: ec_live_abc123..." \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-d '{ -d '{
"name": "Production API", "name": "My API",
"url": "https://yourapp.com/webhooks", "url": "https://yourapp.com/webhooks",
"providers": ["stripe"], "providers": ["stripe"],
"event_types": ["payment.*"] "event_types": ["payment.*"]
}' }'
``` ```
### 4. That's It! 🎉 Evercatch now receives, normalizes, stores, and forwards every matching event — automatically retrying on failure.
Evercatch now:
- ✅ Receives webhooks from Stripe ### Or use a native SDK
- ✅ Normalizes them to a unified schema
- ✅ Stores them for 24 hours (Sandbox tier) ```python
- ✅ Forwards them to `yourapp.com/webhooks` # Python
- ✅ Retries on failure 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
We are launching with major integrations from day one, with more coming after beta.
| Provider | Incoming Webhooks | Signature Verification | Normalized Schema |
|----------|:-----------------:|:---------------------:|:-----------------:|
| **Stripe** | ✅ | ✅ | ✅ |
| **More at launch** | ✅ | ✅ | ✅ |
> 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).
---
## SDKs
Native, idiomatic clients for your language — all built on the same REST API.
| 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 |
All SDKs support the full API surface: destinations, event history, replays, and API key management.
---
## CLI
A first-class CLI tool ships at launch for local development workflows.
```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.
---
## Pricing
| Plan | Price | Events / mo | Retention | Destinations | Overage | | Plan | Price | Events / mo | Retention | Destinations | Overage |
|------|-------|-----------|-----------|--------------|---------| |------|-------|-------------|-----------|--------------|---------|
| **Sandbox** | €0 | 100k | 24 hours | 2 | — | | **Sandbox** | Free | 100k | 24 hours | 2 | — |
| **Indie** | €29 | 1M | 7 days | 10 | €0.50/100k | | **Indie** | €29 / mo | 1M | 7 days | 10 | €0.50 / 100k |
| **Studio** | €99 | 10M | 30 days | Unlimited | €0.30/100k | | **Studio** | €99 / mo | 10M | 30 days | Unlimited | €0.30 / 100k |
| **Enterprise** | €299 | 50M | 90 days | Unlimited | €0.20/100k | | **Enterprise** | €299 / mo | 50M | 90 days | Unlimited | €0.20 / 100k |
**All plans include:** <details>
- ✅ Unlimited API keys <summary>What's included in each plan</summary>
- ✅ Real-time event forwarding
- ✅ Automatic retries
- ✅ 99.9% uptime SLA
- ✅ Support via email
**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)
---
## 🐛 Found a Bug?
We want to fix it! **[→ Report a Bug](../../issues/new?template=bug_report.md)**
Please include:
- Clear steps to reproduce
- Expected vs actual behavior
- Your subscription tier
- Event IDs (if applicable)
**Do NOT include API keys or sensitive data.**
---
## ✨ Have a Feature Idea?
We'd love to hear it! **[→ Request a Feature](../../issues/new?template=feature_request.md)**
Tell us:
- What problem it solves
- How you'd use it
- Which tier would benefit
---
## 🔐 Security Vulnerability?
**DO NOT open a public issue.**
**Email:** [security@evercatch.dev](mailto:security@evercatch.dev)
We'll respond within 24 hours. See our [Security Policy](SECURITY.md) for details.
---
## ❓ Need Help?
- 📚 **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)**
---
## 📚 Resources
- **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)
---
## 🤝 Contributing
We welcome community contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for:
- Bug reports
- Feature requests
- Documentation improvements
- Beta testing
- Integration examples
---
## 📜 Code of Conduct
All community members must follow our [Code of Conduct](CODE_OF_CONDUCT.md).
**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/> <br/>
<strong>No webhook left behind</strong>
<br/><br/> **All plans**
<a href="https://evercatch.dev">Website</a> • - Unlimited API keys
<a href="https://docs.evercatch.dev">Docs</a> • - Real-time event forwarding
<a href="https://app.evercatch.dev">Dashboard</a> • - Automatic retries with exponential backoff
<a href="https://status.evercatch.dev">Status</a> - 99.9% uptime SLA
</p> - 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)
---
## Join the Beta
> 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.
---
## Reference
<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>
---
<div align="center">
<br/>
**No webhook left behind.**
<br/>
[evercatch.dev](https://evercatch.dev) &nbsp;·&nbsp; [status.evercatch.dev](https://status.evercatch.dev) &nbsp;·&nbsp; [contact@evercatch.dev](mailto:contact@evercatch.dev)
</div>

99
ROADMAP.md Normal file
View File

@@ -0,0 +1,99 @@
<div align="center">
# Evercatch Roadmap
**Beta launch tentatively planned for June 2026.**
This is a high-level overview. Evercatch is a closed-source project — a detailed public roadmap is not available at this time. This document will be updated as we get closer to launch.
</div>
---
> [!CAUTION]
> All timelines are **tentative** and subject to change. Nothing here should be treated as a commitment.
---
## Beta Launch — June 2026 *(tentative)*
The initial beta release is focused on delivering a solid, well-tested core. Here is what we are targeting for day one:
### Integrations
We are launching with major webhook provider integrations from day one. Each integration includes:
- Incoming webhook ingestion
- Cryptographic signature verification
- Payload normalisation to the Evercatch unified schema
Additional integrations will be added in the weeks following beta launch based on community demand.
> Want to see a specific integration? [Request it →](https://git.psmattas.com/Evercatch/.profile/issues/new?template=.gitea%2fissue_template%2ffeature_request.yml)
### Native SDKs
First-party SDK support is shipping with beta:
| SDK | Install | Notes |
|-----|---------|-------|
| **Python** | `pip install evercatch` | Full API coverage |
| **Node.js / TypeScript** | `npm install @evercatch/sdk` | Full API coverage, typed |
| **Go** | `go get github.com/evercatch/evercatch-go` | Full API coverage |
| **Ruby** | `gem install evercatch` | Full API coverage |
All SDKs target the same REST API surface and will be kept in sync with API changes.
### CLI Tool
A dedicated CLI for local development ships at beta launch:
```
@evercatch/cli
```
**Key capabilities:**
- `ec auth login` — authenticate your local environment
- `ec listen` — receive and forward live events to a local server without tunnelling
- `ec events list` — browse recent events with filtering
- `ec events replay <id>` — replay any stored event to any destination
- `ec destinations list / create / delete` — manage destinations from the terminal
The CLI is a first-class tool, not an afterthought. The goal is to make local webhook development fast and debuggable.
### Dashboard & API
- Full web dashboard for event browsing, search, filtering, and replay
- REST API with comprehensive coverage
- API key management with per-key scoping
---
## Join the Beta
We are looking for developers to test Evercatch before public launch. Beta testers who provide **valuable feedback** will receive a **free Indie or higher subscription** account for the duration of testing.
**To get on the list:**
Email [contact@evercatch.dev](mailto:contact@evercatch.dev) with subject line **`Beta Dev List`** and a short description of your use case. We will follow up with access details closer to launch.
For general questions or feedback: [support@evercatch.dev](mailto:support@evercatch.dev)
---
## Post-Beta
We will share more details about the post-beta roadmap after the initial launch. Areas we are actively thinking about include:
- Additional webhook provider integrations
- Extended SDK language support
- Advanced event filtering and routing rules
- Team and organisation features
- Custom webhook transformation pipelines
---
*Last updated: February 2026*
[← Back to README](README.md)