OtterKit

Webhooks, tunnels and inboxes, so the world can reach your agent.

OtterKit gives the agent on your laptop a public address. Stripe can pay it, GitHub can ping it, people can email it, and nothing is lost while the lid is closed.

$ npx otterkit login
TRY ITSend a few events, close the lid, then open it again. Click a request to see it, then replay it.
OtterKit

shop-hooks

https://shop-hooks.otterkit.app
Live → localhost:3000
Send:
POST /stripe⛨ signature valid
// body
{
  "type": "checkout.session.completed",
  "data.object.amount_total": 4900,
  "data.object.currency": "usd",
  "data.object.customer_email": "[email protected]",
  "livemode": false
}
What you get

Four ways in, one feed

Every request, email and scheduled run lands in the same place, where you and your agent can read it, wait on it and replay it.

stripe-prod
https://stripe-prod.otterkit.app
Always on
POST/invoice.paid ⛨200
POST/customer.subscription.deleted ⛨200
POST/checkout.session.completed ⛨200
Answered by OtterKit · signature checked · 10,000 kept in history
The film

OtterKit in 80 seconds

A webhook that answers while the laptop sleeps, a tunnel to localhost, and an agent that wires it all up on its own.

How it works

Running in under a minute

One login on your machine is shared by the terminal, the Mac app and every agent you run.

1 Log in once

Approve this device in your browser. New accounts get 10 credits to play with.

Approve this device?
WQ7K-4MPD
Approve

2 Open a way in

Run one command, click New in the app, or just ask your agent to do it.

$ npx otterkit webhook
● hook-3f9a21c0.otterkit.app
answering 200 · capturing

3 Watch it arrive

Paste the URL into Stripe, GitHub or anywhere else. Requests show up live and stay replayable.

POST/ push200
POST/ ping200
For agents

Your agent can set it up
and check its own work

OtterKit ships an MCP server. Add it once and your agent gets tools to open endpoints, read what came in, wait for the request it expects and replay it after a fix.

# terminal
claude mcp add otterkit -- npx otterkit mcp
webhook_createtunnel_createrequest_awaitrequest_replayrequests_listevent_sendrequest_verifypulse_createwebhook_forwardingschema_drift+8 more
You
Wire up Stripe checkout and prove the webhook handler works.
▸ tunnel_create port 3000 · subdomain shop
→ https://shop.otterkit.app
▸ request_await path /stripe · timeout 5m
→ POST /stripe 200 · signature valid
▸ event_send stripe:customer.subscription.deleted
→ 200 · handler cancelled the plan
Agent
Both paths work. A real test payment marked the order paid, and a signed cancellation event downgraded the account.
OtterKit for Mac

A home for everything that’s running

A native app for Apple Silicon and Intel Macs. It shows every endpoint you, your terminal or your agents started, and what each one costs.

Wi-Fi◉ $4.20/moThu 9:41
1,962 credits
If left running~$4.20/mo

● shop-hooks$0.31
● shop :3000$0.06
● nightly-backup$0.02

Stop▸
Open OtterKit⌘O
The details

Small things you’ll
lean on every day

A name that sticks

Claim shop.otterkit.app once and get it back on every run, on any machine. Holding a name is free.

16 signature schemes

Stripe, GitHub, Shopify, Slack, Svix, Paddle, Linear, Twilio and more, plus plain HMAC for the rest. Each request is marked valid or not.

Password on a tunnel

--auth user:pass is checked on your machine. Strangers get a 401 and never reach your server.

Fake events, real signatures

otterkit send stripe:invoice.paid fires a correctly signed event at your handler. No dashboard, no test account.

Wait for it in CI

otterkit await blocks until the request you expect shows up, then exits 0. Trigger, wait, assert.

Answer how you like

Set the status, headers, body and delay. Add rules that match on path or a JSON field, or write a small script.

Your own domain

Point hooks.yourco.com at an endpoint with one CNAME. Certificates are handled for you.

Notices when payloads change

OtterKit learns the shape of each event and tells you when a provider adds, drops or retypes a field.

One file for the whole project

List your tunnels and webhooks in otterkit.toml. otterkit up starts them all.

Nothing lost while you sleep

Close the lid and requests are answered and held. Open it and they replay into your log in order.

Pricing

A cent an hour. Never more than $3.

No plans and no seats. Buy credits, use them as you go, and every endpoint stops charging at $3 in any 30 days.

Webhooks and tunnels
$0.01per live hour
Capped at $3 per endpoint every 30 days. Pulses: $0.01 per 100 runs.
240 credits each$4.80 / month
Start with 10 free credits
Free, always
  • Replaying captured requests
  • Sending signed test events and checking signatures
  • Password checks on tunnels
  • Holding up to 10 reserved names
  • The Mac app, the CLI and the MCP server
  • Hours a tunnel is disconnected
Credit packs
Starter · 500 credits$5
Builder · 2,200 credits · 200 bonus$20
Scale · 6,000 credits · 1,000 bonus$50
FAQ

Questions, answered

Something else? Read the docs.

What is OtterKit?

A way for things on the internet to reach software running on your machine, especially AI agents. You get public URLs, email addresses and schedules, and every request lands in a feed you and your agent can read, replay and wait on.

Do I need the Mac app?

No. Everything works from npx otterkit and from the web console. The Mac app adds the menu bar, the live feed and replay, and it runs the same CLI underneath, so anything you start in a terminal shows up there too.

What happens when my laptop is closed?

Webhooks keep answering. OtterKit sends the provider your configured response and holds the request until you reconnect, then replays it into your log. Tunnels need your machine, so they pause, and so does their billing.

How does my agent use it?

Add the MCP server with one command. Your agent can then create webhooks and tunnels, read what arrived, wait for a specific request, replay it and send signed test events. It uses the login you already made with otterkit login.

How much does it cost?

One cent per hour an endpoint is live, and never more than $3 per endpoint in any 30 days. Pulses cost a cent per 100 runs, with the same $3 cap. You buy credits up front and new accounts start with 10 free.

Can I forget a tunnel running?

You can, but it will stop on its own. Everything has an auto-stop timer (24 hours unless you pick another), and the $3 cap means a forgotten endpoint can never run up a bill.

Is my traffic stored?

Tunnel and CLI webhook captures are written to a log on your own machine. Webhooks created in the console keep their newest 10,000 requests on our side so you can search, export and replay them.

Can I try it without signing up?

Yes. otterkit.com/try gives you a temporary webhook URL in your browser. If you like it, one command moves it to your terminal with the same URL.

Let the world call your agent.

Ten free credits. No card to start.

Start with free creditsTry it in the browser