Files
.profile/README.md
Puranjay Savar Mattas cc519e4cee
All checks were successful
Close Stale Issues / stale (push) Successful in 3s
DOCS: Updated README & ROADMAP
2026-02-17 21:27:56 +00:00

322 lines
8.9 KiB
Markdown

<div align="center">
<img src="assets/banner.png" alt="Evercatch" width="800">
<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 Problem
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
---
## Quick Start
### 1. Create an account
```bash
curl -X POST https://api.evercatch.dev/api/v1/auth/signup \
-H "Content-Type: application/json" \
-d '{
"email": "you@example.com",
"full_name": "Your Name",
"country": "IE"
}'
```
```json
{
"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 webhook provider at Evercatch
```
https://api.evercatch.dev/api/v1/webhooks/{provider}/{your-user-id}
```
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
```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": "My API",
"url": "https://yourapp.com/webhooks",
"providers": ["stripe"],
"event_types": ["payment.*"]
}'
```
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.*"],
});
```
---
## 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 |
|------|-------|-------------|-----------|--------------|---------|
| **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 |
<details>
<summary>What's included in each plan</summary>
<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)
---
## 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>