EVIDIQ Envelope
Bulwark reads what the message says.
Envelope proves who sent it.
Agents now read mailboxes and act on what they find. Envelope is the missing direction: cryptographic verification of inbound messages — SPF, DKIM, DMARC and ARC on the raw message, sender-spoofing and lookalike-domain detection, header-chain forensics, and structural risk of attachments and links — with the DNS answers pinned into a signed report. 18 tools (8 free, 10 paid).
EVIDIQ Envelope
Agent #10435Quickstart
Connect the Streamable HTTP MCP endpoint, inspect capabilities, and validate a message before paying for a verdict.
claude mcp add --transport http evidiq-envelope https://mcp.evidiq.dev/envelope/mcp
Or probe the public pricing discovery endpoint:
curl -s https://mcp.evidiq.dev/envelope/x402
Prefer a Skill file? Fetch the agent-readable EVIDIQ Envelope Skill:
curl -s https://mcp.evidiq.dev/envelope/skill.md
What Envelope is for
Transport Authenticity
SPF, DKIM, DMARC and ARC over the raw message — per-signature DKIM detail, RFC 7489 identifier alignment, ARC chain validation for forwarded mail.
Never Intent
A message from a genuine but compromised account passes every check. Every verdict says so in its own body — authenticity of transport, never intent or safety.
Absence Is Not Evidence
No DKIM signature does not mean forged; a valid signature does not mean safe. Both directions are stated in the response.
Pinned DNS
Every report carries the DNS answers the verdict was derived from, so a verdict is meaningful against the records as they stood at verification time.
Never a Proxy
Envelope never fetches a URL found in a message, never opens or extracts an attachment, never sends mail, and never persists the raw message.
Attestation
attest_message_verdict returns a JCS-digested, EIP-191-signed, 0G-anchored report — the record that survives key rotation.
Eighteen MCP tools
Eight free tools support discovery, validation, and verification. Ten paid tools run the cryptographic checks.
Paid verification tools
- verify_dkim — Per-signature DKIM verification: canonicalisation, body hash, key retrieval, algorithm, expiry — with the reason for each failure. (0.005 USDT0)
- check_dmarc_alignment — DMARC policy for the From domain and RFC 7489 identifier alignment against DKIM d= and the SPF domain, strict or relaxed. (0.005 USDT0)
- verify_message_auth — The composite verdict: SPF, DKIM, DMARC and alignment in one call, with the pinned DNS records behind it. (0.01 USDT0)
- validate_arc_chain — ARC chain validation so forwarded and mailing-list mail is not treated as forgery per hop. (0.01 USDT0)
- detect_sender_spoofing — Display-name impersonation, homoglyph / punycode / edit-distance lookalikes against expected senders, Reply-To / Return-Path divergence. (0.015 USDT0)
- audit_header_chain — Received-chain forensics: hop consistency, timestamp ordering, injected or duplicated critical headers, gaps that indicate a forged path. (0.015 USDT0)
- assess_attachment_surface — Structural risk without opening anything: extension against magic bytes, double extensions, macro-capable formats, encrypted archives. (0.02 USDT0)
- assess_link_surface — Structural link analysis without fetching: punycode hosts, anchor text vs href, credential-shaped URLs, redirector patterns, lookalike hosts. (0.02 USDT0)
- screen_domain_posture — The sender domain's own posture: SPF validity and lookup count, resolvable DKIM selectors, DMARC policy strength, DNSSEC, MX. (0.02 USDT0)
- attest_message_verdict — EIP-191 signed, 0G-anchored attestation of a verification, pinned DNS included — the record that survives key rotation. (0.03 USDT0)
Free preflight and verification
- envelope_capabilities — Catalog: 18 tools, prices, claim limits, boundaries against the other services. (free)
- estimate_cost — Exact USDT0 price for any paid tool, from the same table the gate charges from. (free)
- validate_message_input — Is this parseable, which auth headers are present, which paid checks can run — before paying. (free)
- parse_message_structure — MIME tree and header inventory. Structure only, no verdict. (free)
- explain_auth_result — Plain-language meaning of a result code, and what it does not prove. (free)
- check_dns_txt — Raw SPF, DKIM-selector and DMARC records for a domain, no verdict. (free)
- verify_envelope_report — Recompute the JCS digest and EIP-191-verify the signature. Verification is never charged. (free)
- get_artifact — Retrieve a stored attested verdict by digest, including the 0G anchor if present. (free)
x402 pricing
| Tool | Atomic | USDT0 | Access |
|---|---|---|---|
| verify_dkim | 5000 | 0.005 | x402-paid |
| check_dmarc_alignment | 5000 | 0.005 | x402-paid |
| verify_message_auth | 10000 | 0.01 | x402-paid |
| validate_arc_chain | 10000 | 0.01 | x402-paid |
| detect_sender_spoofing | 15000 | 0.015 | x402-paid |
| audit_header_chain | 15000 | 0.015 | x402-paid |
| assess_attachment_surface | 20000 | 0.02 | x402-paid |
| assess_link_surface | 20000 | 0.02 | x402-paid |
| screen_domain_posture | 20000 | 0.02 | x402-paid |
| attest_message_verdict | 30000 | 0.03 | x402-paid |
| envelope_capabilities | 0 | Free | Always ungated |
| estimate_cost | 0 | Free | Always ungated |
| validate_message_input | 0 | Free | Always ungated |
| parse_message_structure | 0 | Free | Always ungated |
| explain_auth_result | 0 | Free | Always ungated |
| check_dns_txt | 0 | Free | Always ungated |
| verify_envelope_report | 0 | Free | Always ungated |
| get_artifact | 0 | Free | Always ungated |
Payments use x402 v2 exact scheme with USDT0 (6 decimals) on X Layer (eip155:196). Verification and settlement run through the official OKX Onchain OS Payment SDK.
Settled on X Layer
Live tool calls verified on-chain via OKX Facilitator:
paid call: 0xb8e6ede…15e51a0 · verify_dkim
agent wallet: 0x2a8efe30…a992ca4fc9b0
0G Storage Anchoring (0G mainnet, chain 16661)
anchor tx: 0xcbd7f01…891de5 · status 0x1
storage root: 0xa377a863…bbe23d147
Verification Log
The fixture gate passed 7/7 against mailauth 4.13.3 (three deviations reported and operator-approved: body-hash and missing-key label as neutral not-pass; strict identifier alignment computed locally per RFC 7489 because mailauth's strict mode compares registrable domains). All 18 tools exercised live end-to-end by the OpenClaw agent (glm-5.2) against the deployed endpoint on 2026-08-03; the 402 gate is on. Raw run + report in the envelope repo.
Free Tools (HTTP 200)
envelope_capabilities → 200 ✓ (18 tools, 8 claim limits)
estimate_cost → 200 ✓ (verify_message_auth = 0.01 USDT0)
validate_message_input → 200 ✓ (parseable, which paid checks can run)
parse_message_structure → 200 ✓ (9 headers, 1 Received hop, structure only)
explain_auth_result → 200 ✓ (code explained + what it does not prove)
check_dns_txt → 200 ✓ (SPF -all · DMARC reject · selector)
verify_envelope_report → 200 ✓ (signatureValid: true, fleet signer)
get_artifact → 200 ✓ (artifact with anchorRoot + anchorTx)
Paid Tools (HTTP 200 — bypass mode, Phase 1)
verify_dkim → 200 ✓ (0/1 signatures, not-pass with reason)
check_dmarc_alignment → 200 ✓ (dmarc-not-aligned, adkim=s aspf=s)
verify_message_auth → 200 ✓ (not-authenticated; DKIM/SPF/DMARC)
validate_arc_chain → 200 ✓ (no-arc-chain — normal for direct mail)
detect_sender_spoofing → 200 ✓ (no-indicators, matches expected sender)
audit_header_chain → 200 ✓ (1 hop, internally consistent)
assess_attachment_surface → 200 ✓ (risky: .pdf.exe double extension)
assess_link_surface → 200 ✓ (structural only, never fetched)
screen_domain_posture → 200 ✓ (SPF valid -all · DMARC reject · 6 selectors)
attest_message_verdict → 200 ✓ (EIP-191 signed, 0G anchored)
Phase 2 gate (bypass removed) — measured from outside:
empty POST → 402 · no content-type → 415 · HEAD → 402 (72ms, no hang)
10 paid bare {} → 402 · 8 free bare {} → 200
paid call settled on X Layer: 0xb8e6ede…15e51a0 (verify_dkim, 0.005 USDT0)
License
EVIDIQ owns and licenses its original Envelope code under MIT. Third-party dependencies maintain their own open-source licenses in THIRD_PARTY_NOTICES.md.