OpenMerch Email Verify
/install openmerch-email-verify
Email verify (powered by OpenMerch)
Verify whether an email address is deliverable, and surface basic reputation signals (disposable / free-provider / role address, a quality score), for a single address.
This skill uses OpenMerch to plan, route, and execute the check. You give it one email address; it returns a normalized result plus the raw provider output.
Requirements & cost
This skill uses OpenMerch to plan, route, and execute the email check. OpenMerch is an external
paid API: you need an OpenMerch account and an API key, and each verification consumes your
OpenMerch account balance/credits. The exact price is confirmed by the /v1/plan call before
anything runs — that quote is the source of truth for what you pay (currently roughly
$0.006–$0.007 per email, depending on OpenMerch pricing policy). The skill never charges more
than the planned max_cost. ClawHub does not handle this billing and takes no fee — the charge is
between you and OpenMerch.
Get a key from the Developer page in the OpenMerch app and set it as an environment variable:
export OPENMERCH_API_KEY="om_live_xxxxxxxx"
# Optional — defaults to https://api.openmerch.dev:
# export OPENMERCH_BASE_URL="https://api.openmerch.dev"
What this calls
No hidden network behavior. This skill makes only these OpenMerch HTTP calls, in order:
POST {OPENMERCH_BASE_URL}/v1/plan— confirm the job is executable and get the price.POST {OPENMERCH_BASE_URL}/v1/execute— run the verification (one job).GET {OPENMERCH_BASE_URL}/v1/jobs/{job_id}— only if the job is stillexecuting, to poll until it finishes.
Every request sends the header X-OpenMerch-Key: $OPENMERCH_API_KEY. POST bodies send
Content-Type: application/json. Base URL is OPENMERCH_BASE_URL or https://api.openmerch.dev.
How to run
You can run this two ways. Both do exactly the same calls.
Option A — reference script (deterministic)
Requires Node 18+ (uses built-in fetch; no npm install):
node verify-email.mjs [email protected]
It prints a JSON result to stdout (see "Output" below) and exits non-zero on error.
Option B — agent-driven (instructions)
If you (the agent) are running the flow with your own HTTP tools, follow these steps exactly:
1. Plan. POST /v1/plan:
{ "job_type": "email_reputation_v1", "input": { "email": "\x3CEMAIL>" } }
- If the response
can_executeis nottrue, stop and report the reason. Do not execute. - Set
max_cost = quoted_customer_price_microcentsif present, otherwiseestimated_cost.max_microcents./v1/planis the source of truth for the price — never hardcode one.
2. Execute. Generate one UUID v4 as idempotency_key for this submission. POST /v1/execute:
{
"job_type": "email_reputation_v1",
"input": { "email": "\x3CEMAIL>" },
"max_cost": \x3Cmax_cost from step 1>,
"idempotency_key": "\x3Cuuid>"
}
- Reuse the same
idempotency_keyif you retry this same submission (e.g. after a timeout). Generate a new key only for a genuinely new verification. This prevents double charges.
3. Poll only if needed. If the execute response status is "executing", poll
GET /v1/jobs/{job_id} every ~1s (cap ~8 tries / ~15s) until status is completed, failed, or
cancelled. Most runs return completed immediately and no polling is needed.
4. Report. On completed, present the normalized result (below). On failed/cancelled,
report error.code and error.message. Always report cost.total_microcents (the actual amount
charged) and the job_id.
curl equivalent
BASE="${OPENMERCH_BASE_URL:-https://api.openmerch.dev}"
# 1. Plan
curl -sS -X POST "$BASE/v1/plan" \
-H "X-OpenMerch-Key: $OPENMERCH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"job_type":"email_reputation_v1","input":{"email":"[email protected]"}}'
# 2. Execute
# Replace \x3CMAX_COST_FROM_PLAN> with quoted_customer_price_microcents from /v1/plan,
# or estimated_cost.max_microcents if no quote was returned. Do not hardcode a price.
curl -sS -X POST "$BASE/v1/execute" \
-H "X-OpenMerch-Key: $OPENMERCH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"job_type":"email_reputation_v1","input":{"email":"[email protected]"},"max_cost":\x3CMAX_COST_FROM_PLAN>,"idempotency_key":"'"$(uuidgen)"'"}'
# 3. Poll only if status was "executing"
# curl -sS "$BASE/v1/jobs/\x3Cjob_id>" -H "X-OpenMerch-Key: $OPENMERCH_API_KEY"
Output
The skill returns a normalized object. The summary fields are best-effort and appear only when
the underlying provider response contains them; raw is always the full, unmodified OpenMerch job
output and is the source of truth. cost_usd is derived from the actual charged
cost.total_microcents.
{
"email": "[email protected]",
"summary": {
"deliverable": true,
"is_disposable": false,
"is_free_email": false,
"quality_score": 0.95
},
"raw": { "...": "verbatim OpenMerch job output" },
"cost_usd": 0.007,
"job_id": "…"
}
Notes & limits
- One email per run. For a list, call the skill once per address.
- The skill executes a single atomic OpenMerch job — no multi-step orchestration.
- All monetary values from OpenMerch are in microcents (1 cent = 100,000 microcents;
$1.00 = 10,000,000).
cost_usdiscost.total_microcents / 10000000.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install openmerch-email-verify - After installation, invoke the skill by name or use
/openmerch-email-verify - Provide required inputs per the skill's parameter spec and get structured output
What is OpenMerch Email Verify?
Verify an email address's deliverability and reputation. Powered by OpenMerch. It is an AI Agent Skill for Claude Code / OpenClaw, with 37 downloads so far.
How do I install OpenMerch Email Verify?
Run "/install openmerch-email-verify" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is OpenMerch Email Verify free?
Yes, OpenMerch Email Verify is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does OpenMerch Email Verify support?
OpenMerch Email Verify is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created OpenMerch Email Verify?
It is built and maintained by Kernel Studio (@kernel-gd); the current version is v1.0.0.