NotifyRelay /webhook

Price: $0.001 USDC per call

Endpoint: https://notify.melis.ai/webhook

Method: POST

Pays to: 0x1C680703D6cF7dfC9FEABb5AA28E64B869ddB3bC

What it does

Posts a JSON payload to any public external URL. Supports optional HMAC-SHA256 signing via a shared secret. The signed hash is attached as X-Hub-Signature-256, matching the GitHub/Stripe webhook convention. SSRF-protected — private IP ranges and metadata endpoints are blocked. Use for integrating with Zapier, Make, IFTTT, or any webhook-based automation.

When to use it

  • Trigger a Zapier or Make workflow from within an agent task
  • Notify an external service when a condition is met
  • Dispatch a verified webhook to an IFTTT applet

Request schema

{
  "target_url": "https://hooks.zapier.com/hooks/catch/...",
  "payload": {
    "event": "task_complete",
    "items": 14
  },
  "secret": "optional-signing-key"
}

Response schema

{
  "delivered": true,
  "status_code": 200
}

Code example — TypeScript via MCP

Install the MCP server once; all 16 services become tool calls.

// Configure @melis-ai/x402-tools-mcp in your MCP client
// Then call the tool:

const result = await mcpClient.callTool("notifyrelay_webhook", {
  "target_url": "https://hooks.zapier.com/hooks/catch/...",
  "payload": {
    "event": "task_complete",
    "items": 14
  },
  "secret": "optional-signing-key"
});

console.log(result);
// ["delivered","status_code"]...
→ MCP setup guide

Code example — Python via direct HTTP

import requests

# x402 payment header must be set by your wallet client
# See x402.org for client libraries

headers = {
    "Content-Type": "application/json",
    "x-payment": "<signed-x402-payment-header>",
}

resp = requests.post(
    "https://notify.melis.ai/webhook",
    json={
      "target_url": "https://hooks.zapier.com/hooks/catch/...",
      "payload": {
        "event": "task_complete",
        "items": 14
      },
      "secret": "optional-signing-key"
    },
    headers=headers,
)
print(resp.json())

Code example — curl with internal key bypass

For testing with an issued internal key (skips x402 payment flow):

curl -X POST https://notify.melis.ai/webhook \
  -H "Content-Type: application/json" \
  -H "x-internal-key: YOUR_KEY" \
  -d '{"target_url":"https://hooks.zapier.com/hooks/catch/...","payload":{"event":"task_complete","items":14},"secret":"optional-signing-key"}'

FAQ

Does it work without an account?

Yes. x402 is account-less. Your agent's wallet signs the payment and retries automatically. No registration, no API key, no subscription.

What happens on failure?

Returns HTTP 422 for private IPs, file:// URIs, or missing fields. Returns delivered: false with error message if the target URL returns a non-2xx.

What is the rate limit?

10 requests per minute per IP.

Is this open-source?

The service code is closed-source for security reasons. The MCP wrapper that calls it is open-source and MIT-licensed: github.com/mizukaizen/x402-tools-mcp .

Who built this?

Part of the melis.ai agent infrastructure stack. Running on a dedicated Helsinki VPS since early 2026. Contact sean@melis.ai.