Webhook Verify
webhook_verifyVerify (or create) webhook signatures for Stripe, GitHub, Slack, Shopify, Twilio, Standard Webhooks / Svix, Paddle, Square, Zoom, Mailgun, Intercom, Linear, Typeform and HubSpot v3, or any generic HMAC scheme — the step agents get wrong when wiring up webhook receivers. Pass the raw body, the received headers (or just the signature) and the signing secret: returns valid, the timestamp age against a replay tolerance, and on failure a diagnosis (body re-serialised or trimmed, wrong secret format, hex vs base64, stale timestamp). mode=sign produces the exact headers a provider would send, for testing receivers. Constant-time comparison; the secret is never echoed. Price: $0.002 USDC per successful call (x402, Solana). Same tool over HTTPS: POST https://scorptech.it.com/api/x402/v1/webhook-verify
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"provider": "<provider>",
"payload": "<payload>",
"secret": "<secret>"
},
"name": "webhook_verify"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Standard Webhooks / Svix message id when not in headers | |
| now | No | Unix time for "now" (testing) | |
| url | No | Full webhook URL (Twilio, Square, HubSpot) | |
| mode | No | verify | |
| header | No | generic: header holding the signature | |
| method | No | HTTP method (HubSpot v3) | POST |
| prefix | No | generic: prefix before the signature, e.g. "sha256=" | |
| secret | Yes | Signing secret (Stripe whsec_..., Svix whsec_<base64>, ...) | |
| headers | No | Received headers (any case), e.g. {"Stripe-Signature": "t=...,v1=..."} | |
| payload | Yes | The raw request body exactly as received (not re-serialised JSON) | |
| encoding | No | generic: signature encoding | hex |
| provider | Yes | ||
| algorithm | No | generic: HMAC hash | sha256 |
| signature | No | The signature header value (alternative to headers) | |
| timestamp | No | Timestamp header value when not in headers (Slack, Zoom, Standard Webhooks, HubSpot) | |
| tolerance | No | Max timestamp age in seconds (0 = skip) |