What it does
Sends a transactional email via Resend from within an agent task. Requires to, subject, and body fields. Rate-limited at 10 requests per minute per IP. Allowlisted sender domains only. Use when an agent needs to alert a human, deliver a report, or confirm an action.
When to use it
- Alert a user when a long-running agent task finishes
- Deliver a generated PDF report
- Confirm a booking or action to a user
Request schema
{
"to": "user@example.com",
"subject": "Your research report is ready",
"body": "# Report\n\nHere is the summary..."
} Response schema
{
"delivered": true,
"message_id": "msg_abc123"
} 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_email", {
"to": "user@example.com",
"subject": "Your research report is ready",
"body": "# Report\n\nHere is the summary..."
});
console.log(result);
// ["delivered","message_id"]... → 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/email",
json={
"to": "user@example.com",
"subject": "Your research report is ready",
"body": "# Report\n\nHere is the summary..."
},
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/email \
-H "Content-Type: application/json" \
-H "x-internal-key: YOUR_KEY" \
-d '{"to":"user@example.com","subject":"Your research report is ready","body":"# Report\n\nHere is the summary..."}' How is this different from alternatives?
NotifyRelay /email vs StableEmail
StableEmail is available via the StableEnrich aggregator. NotifyRelay bundles email + Telegram + webhook in a single service, reducing the number of dependencies your agent stack carries.
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 missing fields, HTTP 429 for rate limit.
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.