Hermes Plant — Agent Commerce Assurance
Preflight, approve, and prove consequential agent actions with signed evidence and x402 tools.
Should I use this
Quality & Safety
Findings (3)
- HIGH
- MEDIUMin freetier_status
- MEDIUMin emailguard_validate_batch
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"hermes-plant": {
"url": "https://mcp.hermesplant.com/mcp"
}
}
}Remote endpoints
https://mcp.hermesplant.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (25)
🟢freetier_status(apiKey)
Check a free API key's remaining monthly quota, reset date, and upgrade path. Pass your hp_free_ key as apiKey. No key yet? POST an email to https://hermesplant.com/api/keys/free (250 calls/mo, no wallet).
Input Schema
{
"type": "object",
"properties": {
"apiKey": {
"type": "string",
"description": "Your free-tier key (hp_free_...)"
}
},
"required": [
"apiKey"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢list_products
List active products from the Hermes Plant catalog
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_product(slug)
Get a single product by slug
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Product slug from the catalog"
}
},
"required": [
"slug"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_checkout_policies
Return legal policy URLs required before checkout
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_x402_manifest
Return the live x402 manifest with paid endpoint prices, Bazaar metadata, and buyer policy checks
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪start_checkout(slug)
Start a Stripe checkout session for a product slug
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Product slug to purchase"
}
},
"required": [
"slug"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢purchase_with_x402(slug, email, apiKey, paymentSignature, xPayment, ...)
Purchase a one-time product via x402 (returns 402 challenge or fulfillment JSON). Call get_x402_manifest first, verify method/path/network/amount/payTo, then sign and retry with PAYMENT-SIGNATURE.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "One-time product slug (e.g. destructguard-pro)"
},
"email": {
"description": "Optional email for the order record",
"type": "string",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"apiKey": {
"description": "Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing.",
"type": "string"
},
"paymentSignature": {
"description": "x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry",
"type": "string"
},
"xPayment": {
"description": "Raw X-PAYMENT proof from an x402-compatible wallet/client",
"type": "string"
},
"paymentIdentifier": {
"description": "Optional x402 payment identifier for idempotency/retry correlation",
"type": "string"
},
"synthetic": {
"description": "Mark this paid retry as an internal test/probe for analytics exclusion",
"type": "boolean"
},
"channel": {
"description": "Discovery channel or source tag",
"type": "string"
},
"campaign": {
"description": "Campaign tag for downstream telemetry",
"type": "string"
},
"actorType": {
"description": "Caller type for analytics: agent, human, synthetic, system, or unknown",
"type": "string",
"enum": [
"agent",
"human",
"synthetic",
"system",
"unknown"
]
},
"payer": {
"description": "Optional wallet/account identifier; stored only as a hash",
"type": "string"
}
},
"required": [
"slug"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪action_safety_quick_gate(command, repo, cwd, branch, actor, ...)
AI agent action safety quick gate ($0.01 over x402 or free-tier quota). Deterministically scores a consequential action and returns the exact next call: proceed, request full DestructGuard evidence, or run the complete Action Safety workflow.
Input Schema
{
"type": "object",
"properties": {
"command": {
"type": "string",
"description": "Shell, SQL, Git, deploy, or infrastructure action to preflight"
},
"repo": {
"description": "Repository or project context",
"type": "string"
},
"cwd": {
"description": "Working directory or execution context",
"type": "string"
},
"branch": {
"description": "Branch or environment context",
"type": "string"
},
"actor": {
"description": "Agent or tool requesting the action",
"type": "string"
},
"intent": {
"description": "Why the action is being requested",
"type": "string"
},
"diffStat": {
"description": "Optional git diff --stat or change summary",
"type": "string"
},
"apiKey": {
"description": "Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing.",
"type": "string"
},
"paymentSignature": {
"description": "x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry",
"type": "string"
},
"xPayment": {
"description": "Raw X-PAYMENT proof from an x402-compatible wallet/client",
"type": "string"
},
"paymentIdentifier": {
"description": "Optional x402 payment identifier for idempotency/retry correlation",
"type": "string"
},
"synthetic": {
"description": "Mark this paid retry as an internal test/probe for analytics exclusion",
"type": "boolean"
},
"channel": {
"description": "Discovery channel or source tag",
"type": "string"
},
"campaign": {
"description": "Campaign tag for downstream telemetry",
"type": "string"
},
"actorType": {
"description": "Caller type for analytics: agent, human, synthetic, system, or unknown",
"type": "string",
"enum": [
"agent",
"human",
"synthetic",
"system",
"unknown"
]
},
"payer": {
"description": "Optional wallet/account identifier; stored only as a hash",
"type": "string"
}
},
"required": [
"command"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪action_safety_run(command, repo, cwd, branch, actor, ...)
Complete AI agent action safety workflow ($0.25 over x402 or free-tier quota): DestructGuard evidence, conditional ReviewQueue triage for high or critical risk, an honest decision, signed receipt, and 30-day status record. Triage does not imply human approval.
Input Schema
{
"type": "object",
"properties": {
"command": {
"type": "string",
"description": "Shell, SQL, Git, deploy, or infrastructure action to preflight"
},
"repo": {
"description": "Repository or project context",
"type": "string"
},
"cwd": {
"description": "Working directory or execution context",
"type": "string"
},
"branch": {
"description": "Branch or environment context",
"type": "string"
},
"actor": {
"description": "Agent or tool requesting the action",
"type": "string"
},
"intent": {
"description": "Why the action is being requested",
"type": "string"
},
"diffStat": {
"description": "Optional git diff --stat or change summary",
"type": "string"
},
"apiKey": {
"description": "Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing.",
"type": "string"
},
"paymentSignature": {
"description": "x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry",
"type": "string"
},
"xPayment": {
"description": "Raw X-PAYMENT proof from an x402-compatible wallet/client",
"type": "string"
},
"paymentIdentifier": {
"description": "Optional x402 payment identifier for idempotency/retry correlation",
"type": "string"
},
"synthetic": {
"description": "Mark this paid retry as an internal test/probe for analytics exclusion",
"type": "boolean"
},
"channel": {
"description": "Discovery channel or source tag",
"type": "string"
},
"campaign": {
"description": "Campaign tag for downstream telemetry",
"type": "string"
},
"actorType": {
"description": "Caller type for analytics: agent, human, synthetic, system, or unknown",
"type": "string",
"enum": [
"agent",
"human",
"synthetic",
"system",
"unknown"
]
},
"payer": {
"description": "Optional wallet/account identifier; stored only as a hash",
"type": "string"
}
},
"required": [
"command"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟡submit_reviewqueue_request(command, repo, branch, actor, reason, ...)
Submit a command/action to the x402-paid ReviewQueue agent service. Call get_x402_manifest first, verify the ReviewQueue price and buyer policy, then retry the 402 challenge with an x402 payment signature.
Input Schema
{
"type": "object",
"properties": {
"command": {
"type": "string",
"description": "Command or agent action being requested"
},
"repo": {
"description": "Repository or project context",
"type": "string"
},
"branch": {
"description": "Branch or environment context",
"type": "string"
},
"actor": {
"description": "Agent/tool requesting the action",
"type": "string"
},
"reason": {
"description": "Why the action is being requested",
"type": "string"
},
"diffStat": {
"description": "Optional git diff --stat or change summary",
"type": "string"
},
"apiKey": {
"description": "Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing.",
"type": "string"
},
"paymentSignature": {
"description": "x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry",
"type": "string"
},
"xPayment": {
"description": "Raw X-PAYMENT proof from an x402-compatible wallet/client",
"type": "string"
},
"paymentIdentifier": {
"description": "Optional x402 payment identifier for idempotency/retry correlation",
"type": "string"
},
"synthetic": {
"description": "Mark this paid retry as an internal test/probe for analytics exclusion",
"type": "boolean"
},
"channel": {
"description": "Discovery channel or source tag",
"type": "string"
},
"campaign": {
"description": "Campaign tag for downstream telemetry",
"type": "string"
},
"actorType": {
"description": "Caller type for analytics: agent, human, synthetic, system, or unknown",
"type": "string",
"enum": [
"agent",
"human",
"synthetic",
"system",
"unknown"
]
},
"payer": {
"description": "Optional wallet/account identifier; stored only as a hash",
"type": "string"
}
},
"required": [
"command"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢score_destructguard_command(command, repo, cwd, actor, intent, ...)
Score a command/action with the x402-paid DestructGuard service. Call get_x402_manifest first, verify the DestructGuard price and buyer policy, then retry the 402 challenge with an x402 payment signature.
Input Schema
{
"type": "object",
"properties": {
"command": {
"type": "string",
"description": "Command or agent action to score"
},
"repo": {
"description": "Repository or project context",
"type": "string"
},
"cwd": {
"description": "Working directory or execution context",
"type": "string"
},
"actor": {
"description": "Agent/tool requesting the action",
"type": "string"
},
"intent": {
"description": "Why the command is being requested",
"type": "string"
},
"diffStat": {
"description": "Optional git diff --stat or change summary",
"type": "string"
},
"apiKey": {
"description": "Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing.",
"type": "string"
},
"paymentSignature": {
"description": "x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry",
"type": "string"
},
"xPayment": {
"description": "Raw X-PAYMENT proof from an x402-compatible wallet/client",
"type": "string"
},
"paymentIdentifier": {
"description": "Optional x402 payment identifier for idempotency/retry correlation",
"type": "string"
},
"synthetic": {
"description": "Mark this paid retry as an internal test/probe for analytics exclusion",
"type": "boolean"
},
"channel": {
"description": "Discovery channel or source tag",
"type": "string"
},
"campaign": {
"description": "Campaign tag for downstream telemetry",
"type": "string"
},
"actorType": {
"description": "Caller type for analytics: agent, human, synthetic, system, or unknown",
"type": "string",
"enum": [
"agent",
"human",
"synthetic",
"system",
"unknown"
]
},
"payer": {
"description": "Optional wallet/account identifier; stored only as a hash",
"type": "string"
}
},
"required": [
"command"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢dealanalyzer_analyze(dcf, returns, waterfall, apiKey, paymentSignature, ...)
DealAnalyzer (x402-paid, $2.00): the flagship. Deterministic full deal underwrite in a single call — DCF valuation (EV, equity value, implied share price), fund returns (IRR/MOIC), and the LP/GP distribution waterfall, plus sensitivity. Combines what CashflowLens + WaterfallLens do, cross-checked.
Input Schema
{
"type": "object",
"properties": {
"dcf": {
"type": "object",
"properties": {
"cashflows": {
"type": "array",
"items": {
"type": "number"
},
"description": "Projected free cash flows"
},
"discountRate": {
"type": "number",
"description": "Annual discount rate, e.g. 0.11"
},
"terminalGrowth": {
"description": "Gordon-growth terminal rate",
"type": "number"
},
"exitMultiple": {
"description": "Exit multiple on final year",
"type": "number"
},
"netDebt": {
"description": "Net debt to bridge EV to equity",
"type": "number"
},
"shares": {
"description": "Shares outstanding for per-share value",
"type": "number"
}
},
"required": [
"cashflows",
"discountRate"
],
"description": "Required. DCF valuation inputs."
},
"returns": {
"description": "Optional fund/deal return inputs (IRR, MOIC, NPV).",
"type": "object",
"properties": {
"cashflows": {
"type": "array",
"items": {
"type": "number"
},
"description": "Investment cashflows (outflows negative)"
},
"discountRate": {
"description": "Annual rate for NPV",
"type": "number"
}
},
"required": [
"cashflows"
]
},
"waterfall": {
"description": "Optional LP/GP distribution waterfall inputs.",
"type": "object",
"properties": {
"contributedCapital": {
"type": "number"
},
"carryPercentage": {
"type": "number"
},
"catchUpPercentage": {
"type": "number"
},
"preferredRate": {
"type": "number"
},
"preferredReturnAmount": {
"type": "number"
},
"years": {
"type": "number"
}
},
"required": [
"contributedCapital"
]
},
"apiKey": {
"description": "Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing.",
"type": "string"
},
"paymentSignature": {
"description": "x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry",
"type": "string"
},
"xPayment": {
"description": "Raw X-PAYMENT proof from an x402-compatible wallet/client",
"type": "string"
},
"paymentIdentifier": {
"description": "Optional x402 payment identifier for idempotency/retry correlation",
"type": "string"
},
"synthetic": {
"description": "Mark this paid retry as an internal test/probe for analytics exclusion",
"type": "boolean"
},
"channel": {
"description": "Discovery channel or source tag",
"type": "string"
},
"campaign": {
"description": "Campaign tag for downstream telemetry",
"type": "string"
},
"actorType": {
"description": "Caller type for analytics: agent, human, synthetic, system, or unknown",
"type": "string",
"enum": [
"agent",
"human",
"synthetic",
"system",
"unknown"
]
},
"payer": {
"description": "Optional wallet/account identifier; stored only as a hash",
"type": "string"
}
},
"required": [
"dcf"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢cashflowlens_analyze(cashflows, discountRate, periodsPerYear, nav, dcf, ...)
CashflowLens (x402-paid, $0.20): deterministic NPV, IRR, XIRR, DCF valuation, MOIC/DPI/TVPI, and payback period from a cashflow series. Use for valuation and return analysis instead of letting the model estimate.
Input Schema
{
"type": "object",
"properties": {
"cashflows": {
"type": "array",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "object",
"properties": {
"amount": {
"type": "number"
},
"date": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"amount"
]
}
]
},
"description": "Cashflows: numbers for periodic, or {amount,date} objects for dated XIRR. Outflows negative."
},
"discountRate": {
"description": "Annual rate for NPV, e.g. 0.08",
"type": "number"
},
"periodsPerYear": {
"description": "Periods per year to annualize a periodic IRR",
"type": "number"
},
"nav": {
"description": "Residual value, for TVPI",
"type": "number"
},
"dcf": {
"description": "Optional DCF valuation inputs (projected FCFs, discount rate, terminal value, net debt, shares)",
"type": "object",
"properties": {
"cashflows": {
"type": "array",
"items": {
"type": "number"
}
},
"discountRate": {
"type": "number"
},
"terminalGrowth": {
"type": "number"
},
"exitMultiple": {
"type": "number"
},
"netDebt": {
"type": "number"
},
"shares": {
"type": "number"
}
},
"required": [
"cashflows",
"discountRate"
]
},
"apiKey": {
"description": "Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing.",
"type": "string"
},
"paymentSignature": {
"description": "x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry",
"type": "string"
},
"xPayment": {
"description": "Raw X-PAYMENT proof from an x402-compatible wallet/client",
"type": "string"
},
"paymentIdentifier": {
"description": "Optional x402 payment identifier for idempotency/retry correlation",
"type": "string"
},
"synthetic": {
"description": "Mark this paid retry as an internal test/probe for analytics exclusion",
"type": "boolean"
},
"channel": {
"description": "Discovery channel or source tag",
"type": "string"
},
"campaign": {
"description": "Campaign tag for downstream telemetry",
"type": "string"
},
"actorType": {
"description": "Caller type for analytics: agent, human, synthetic, system, or unknown",
"type": "string",
"enum": [
"agent",
"human",
"synthetic",
"system",
"unknown"
]
},
"payer": {
"description": "Optional wallet/account identifier; stored only as a hash",
"type": "string"
}
},
"required": [
"cashflows"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪waterfall_distribute(contributedCapital, distributable, carryPercentage, catchUpPercentage, preferredReturnAmount, ...)
WaterfallLens (x402-paid, $0.30): deterministic LP/GP distribution waterfall (return of capital, preferred, GP catch-up, carried-interest split) with the exact split, per-tier breakdown, LP MOIC, and effective carry %.
Input Schema
{
"type": "object",
"properties": {
"contributedCapital": {
"type": "number",
"description": "Total LP capital to return in tier 1"
},
"distributable": {
"type": "number",
"description": "Total cash to distribute"
},
"carryPercentage": {
"description": "GP carry, e.g. 0.20 (default 0.20)",
"type": "number"
},
"catchUpPercentage": {
"description": "GP catch-up share, 1.0 = full (default)",
"type": "number"
},
"preferredReturnAmount": {
"description": "Explicit preferred return amount",
"type": "number"
},
"preferredRate": {
"description": "Annual preferred rate, e.g. 0.08",
"type": "number"
},
"years": {
"description": "Holding period for preferred accrual",
"type": "number"
},
"compounding": {
"description": "Preferred-return accrual basis: 'simple' or 'compounded' (default compounded)",
"type": "string",
"enum": [
"simple",
"compounded"
]
},
"apiKey": {
"description": "Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing.",
"type": "string"
},
"paymentSignature": {
"description": "x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry",
"type": "string"
},
"xPayment": {
"description": "Raw X-PAYMENT proof from an x402-compatible wallet/client",
"type": "string"
},
"paymentIdentifier": {
"description": "Optional x402 payment identifier for idempotency/retry correlation",
"type": "string"
},
"synthetic": {
"description": "Mark this paid retry as an internal test/probe for analytics exclusion",
"type": "boolean"
},
"channel": {
"description": "Discovery channel or source tag",
"type": "string"
},
"campaign": {
"description": "Campaign tag for downstream telemetry",
"type": "string"
},
"actorType": {
"description": "Caller type for analytics: agent, human, synthetic, system, or unknown",
"type": "string",
"enum": [
"agent",
"human",
"synthetic",
"system",
"unknown"
]
},
"payer": {
"description": "Optional wallet/account identifier; stored only as a hash",
"type": "string"
}
},
"required": [
"contributedCapital",
"distributable"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪options_price(spot, strike, timeToExpiry, volatility, riskFreeRate, ...)
OptionLens (x402-paid, $0.30): deterministic Black-Scholes price and full Greeks (delta, gamma, vega, theta, rho) for European calls/puts, with dividend yield, intrinsic/time value, and moneyness.
Input Schema
{
"type": "object",
"properties": {
"spot": {
"type": "number",
"description": "Underlying price (> 0)"
},
"strike": {
"type": "number",
"description": "Strike price (> 0)"
},
"timeToExpiry": {
"type": "number",
"description": "Years to expiry, e.g. 0.5"
},
"volatility": {
"type": "number",
"description": "Annualized volatility, e.g. 0.2"
},
"riskFreeRate": {
"description": "Annual risk-free rate, default 0",
"type": "number"
},
"dividendYield": {
"description": "Continuous dividend yield, default 0",
"type": "number"
},
"optionType": {
"description": "Option type, 'call' or 'put' (default call)",
"type": "string",
"enum": [
"call",
"put"
]
},
"apiKey": {
"description": "Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing.",
"type": "string"
},
"paymentSignature": {
"description": "x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry",
"type": "string"
},
"xPayment": {
"description": "Raw X-PAYMENT proof from an x402-compatible wallet/client",
"type": "string"
},
"paymentIdentifier": {
"description": "Optional x402 payment identifier for idempotency/retry correlation",
"type": "string"
},
"synthetic": {
"description": "Mark this paid retry as an internal test/probe for analytics exclusion",
"type": "boolean"
},
"channel": {
"description": "Discovery channel or source tag",
"type": "string"
},
"campaign": {
"description": "Campaign tag for downstream telemetry",
"type": "string"
},
"actorType": {
"description": "Caller type for analytics: agent, human, synthetic, system, or unknown",
"type": "string",
"enum": [
"agent",
"human",
"synthetic",
"system",
"unknown"
]
},
"payer": {
"description": "Optional wallet/account identifier; stored only as a hash",
"type": "string"
}
},
"required": [
"spot",
"strike",
"timeToExpiry",
"volatility"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢bond_analyze(faceValue, couponRate, periods, frequency, price, ...)
BondLens (x402-paid, $0.25): deterministic fixed-income and loan analytics. Bond mode solves price<->yield-to-maturity, duration, and convexity; loan mode (send principal+annualRate+termMonths) returns an amortization schedule.
Input Schema
{
"type": "object",
"properties": {
"faceValue": {
"description": "Bond face value (default 1000)",
"type": "number"
},
"couponRate": {
"description": "Annual coupon rate, e.g. 0.05",
"type": "number"
},
"periods": {
"description": "Periods to maturity",
"type": "number"
},
"frequency": {
"description": "Coupons per year (default 2)",
"type": "number"
},
"price": {
"description": "Bond price; supply to solve yield",
"type": "number"
},
"yield": {
"description": "Annual yield; supply to solve price",
"type": "number"
},
"principal": {
"description": "Loan principal (selects loan mode)",
"type": "number"
},
"annualRate": {
"description": "Loan annual rate, e.g. 0.06",
"type": "number"
},
"termMonths": {
"description": "Loan term in months",
"type": "number"
},
"apiKey": {
"description": "Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing.",
"type": "string"
},
"paymentSignature": {
"description": "x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry",
"type": "string"
},
"xPayment": {
"description": "Raw X-PAYMENT proof from an x402-compatible wallet/client",
"type": "string"
},
"paymentIdentifier": {
"description": "Optional x402 payment identifier for idempotency/retry correlation",
"type": "string"
},
"synthetic": {
"description": "Mark this paid retry as an internal test/probe for analytics exclusion",
"type": "boolean"
},
"channel": {
"description": "Discovery channel or source tag",
"type": "string"
},
"campaign": {
"description": "Campaign tag for downstream telemetry",
"type": "string"
},
"actorType": {
"description": "Caller type for analytics: agent, human, synthetic, system, or unknown",
"type": "string",
"enum": [
"agent",
"human",
"synthetic",
"system",
"unknown"
]
},
"payer": {
"description": "Optional wallet/account identifier; stored only as a hash",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪portfolioguard_score(holdings, periodReturns, riskFreeRate, apiKey, paymentSignature, ...)
PortfolioGuard (x402-paid, $0.15): deterministic portfolio risk scoring from holdings — volatility, Sharpe, max drawdown, concentration (HHI), diversification, plus per-rule findings.
Input Schema
{
"type": "object",
"properties": {
"holdings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"symbol": {
"type": "string"
},
"weight": {
"type": "number"
},
"returns": {
"type": "array",
"items": {
"type": "number"
}
},
"sector": {
"type": "string"
},
"assetClass": {
"type": "string"
}
},
"required": [
"symbol",
"weight"
]
},
"description": "Positions with symbol, weight (0-1), optional returns[], sector"
},
"periodReturns": {
"description": "Optional portfolio/market return series",
"type": "array",
"items": {
"type": "number"
}
},
"riskFreeRate": {
"description": "Optional risk-free rate for the Sharpe ratio (default 0)",
"type": "number"
},
"apiKey": {
"description": "Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing.",
"type": "string"
},
"paymentSignature": {
"description": "x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry",
"type": "string"
},
"xPayment": {
"description": "Raw X-PAYMENT proof from an x402-compatible wallet/client",
"type": "string"
},
"paymentIdentifier": {
"description": "Optional x402 payment identifier for idempotency/retry correlation",
"type": "string"
},
"synthetic": {
"description": "Mark this paid retry as an internal test/probe for analytics exclusion",
"type": "boolean"
},
"channel": {
"description": "Discovery channel or source tag",
"type": "string"
},
"campaign": {
"description": "Campaign tag for downstream telemetry",
"type": "string"
},
"actorType": {
"description": "Caller type for analytics: agent, human, synthetic, system, or unknown",
"type": "string",
"enum": [
"agent",
"human",
"synthetic",
"system",
"unknown"
]
},
"payer": {
"description": "Optional wallet/account identifier; stored only as a hash",
"type": "string"
}
},
"required": [
"holdings"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪walletguard_score(wallet, labels, exposures, sanctionsHits, transfers, ...)
WalletGuard (x402-paid, $0.10): analyzes caller-provided sanctions, exposures, labels, and funding context. Positive risk findings receive a score; no risk findings means unknown with a null score and review required. No chain lookup, independent sanctions screening, or compliance clearance.
Input Schema
{
"type": "object",
"properties": {
"wallet": {
"type": "string",
"description": "Wallet address"
},
"labels": {
"description": "Address labels, e.g. exchange:binance, contract:..., sanctions:...",
"type": "array",
"items": {
"type": "string"
}
},
"exposures": {
"description": "Signals e.g. mixer:tornado, sanctions:ofac",
"type": "array",
"items": {
"type": "string"
}
},
"sanctionsHits": {
"description": "Sanctions / OFAC / blacklist hit identifiers",
"type": "array",
"items": {
"type": "string"
}
},
"transfers": {
"description": "Optional transfer summaries (direction, value, counterparty, tags)",
"type": "array",
"items": {
"type": "object",
"properties": {
"direction": {
"type": "string",
"enum": [
"in",
"out"
]
},
"valueUsd": {
"type": "number"
},
"counterparty": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"direction"
]
}
},
"fundingSources": {
"description": "Optional fund-source breakdown (source, share 0-1, verified)",
"type": "array",
"items": {
"type": "object",
"properties": {
"source": {
"type": "string"
},
"share": {
"type": "number"
},
"verified": {
"type": "boolean"
},
"labels": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"source",
"share",
"verified"
]
}
},
"apiKey": {
"description": "Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing.",
"type": "string"
},
"paymentSignature": {
"description": "x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry",
"type": "string"
},
"xPayment": {
"description": "Raw X-PAYMENT proof from an x402-compatible wallet/client",
"type": "string"
},
"paymentIdentifier": {
"description": "Optional x402 payment identifier for idempotency/retry correlation",
"type": "string"
},
"synthetic": {
"description": "Mark this paid retry as an internal test/probe for analytics exclusion",
"type": "boolean"
},
"channel": {
"description": "Discovery channel or source tag",
"type": "string"
},
"campaign": {
"description": "Campaign tag for downstream telemetry",
"type": "string"
},
"actorType": {
"description": "Caller type for analytics: agent, human, synthetic, system, or unknown",
"type": "string",
"enum": [
"agent",
"human",
"synthetic",
"system",
"unknown"
]
},
"payer": {
"description": "Optional wallet/account identifier; stored only as a hash",
"type": "string"
}
},
"required": [
"wallet"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪emailguard_validate(email, name, domain, mxPresent, apiKey, ...)
EmailGuard (x402-paid, $0.02): deterministic email/contact quality scorer — validity, deliverability score, disposable/role/free classification, typo suggestion. Pure function, no DNS.
Input Schema
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Email address to validate"
},
"name": {
"description": "Optional contact name associated with the email",
"type": "string"
},
"domain": {
"description": "Optional explicit domain hint (usually derived from email)",
"type": "string"
},
"mxPresent": {
"description": "Caller-supplied MX hint",
"type": "boolean"
},
"apiKey": {
"description": "Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing.",
"type": "string"
},
"paymentSignature": {
"description": "x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry",
"type": "string"
},
"xPayment": {
"description": "Raw X-PAYMENT proof from an x402-compatible wallet/client",
"type": "string"
},
"paymentIdentifier": {
"description": "Optional x402 payment identifier for idempotency/retry correlation",
"type": "string"
},
"synthetic": {
"description": "Mark this paid retry as an internal test/probe for analytics exclusion",
"type": "boolean"
},
"channel": {
"description": "Discovery channel or source tag",
"type": "string"
},
"campaign": {
"description": "Campaign tag for downstream telemetry",
"type": "string"
},
"actorType": {
"description": "Caller type for analytics: agent, human, synthetic, system, or unknown",
"type": "string",
"enum": [
"agent",
"human",
"synthetic",
"system",
"unknown"
]
},
"payer": {
"description": "Optional wallet/account identifier; stored only as a hash",
"type": "string"
}
},
"required": [
"email"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪emailguard_validate_batch(records, apiKey, paymentSignature, xPayment, paymentIdentifier, ...)
Validate up to 20 emails in one tool call — one deterministic verdict per record (validity, deliverability score, disposable/role/free classification, typo suggestion, canonical normalization). Pass your free apiKey (250 records/mo, no wallet — https://hermesplant.com/pricing) and each record serves from quota. Results preserve input order; the batch stops at the first 402 (quota exhausted) and marks the rest skipped so you can upgrade and resume.
Input Schema
{
"type": "object",
"properties": {
"records": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Email address to validate"
},
"name": {
"description": "Optional contact name",
"type": "string"
}
},
"required": [
"email"
]
},
"description": "Contact records to validate — one storefront call per record (max 20 per tool call)"
},
"apiKey": {
"description": "Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing.",
"type": "string"
},
"paymentSignature": {
"description": "x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry",
"type": "string"
},
"xPayment": {
"description": "Raw X-PAYMENT proof from an x402-compatible wallet/client",
"type": "string"
},
"paymentIdentifier": {
"description": "Optional x402 payment identifier for idempotency/retry correlation",
"type": "string"
},
"synthetic": {
"description": "Mark this paid retry as an internal test/probe for analytics exclusion",
"type": "boolean"
},
"channel": {
"description": "Discovery channel or source tag",
"type": "string"
},
"campaign": {
"description": "Campaign tag for downstream telemetry",
"type": "string"
},
"actorType": {
"description": "Caller type for analytics: agent, human, synthetic, system, or unknown",
"type": "string",
"enum": [
"agent",
"human",
"synthetic",
"system",
"unknown"
]
},
"payer": {
"description": "Optional wallet/account identifier; stored only as a hash",
"type": "string"
}
},
"required": [
"records"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪mcp_risk_score(tools, server, authModel, priorTools, apiKey, ...)
MCP Server Risk Analyzer (x402-paid, $0.05): score an MCP server manifest for security risk before install — destructive tools, over-broad scopes, weak auth, egress — with per-tool findings and fixes.
Input Schema
{
"type": "object",
"properties": {
"tools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"scopes": {
"type": "array",
"items": {
"type": "string"
}
},
"permissions": {
"type": "array",
"items": {
"type": "string"
}
},
"network": {
"type": "boolean"
}
},
"required": [
"name"
]
},
"description": "The MCP server's tool manifest"
},
"server": {
"description": "Server name/URL",
"type": "string"
},
"authModel": {
"description": "e.g. oauth, token, none",
"type": "string"
},
"priorTools": {
"description": "Prior tool names to diff capability growth",
"type": "array",
"items": {
"type": "string"
}
},
"apiKey": {
"description": "Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing.",
"type": "string"
},
"paymentSignature": {
"description": "x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry",
"type": "string"
},
"xPayment": {
"description": "Raw X-PAYMENT proof from an x402-compatible wallet/client",
"type": "string"
},
"paymentIdentifier": {
"description": "Optional x402 payment identifier for idempotency/retry correlation",
"type": "string"
},
"synthetic": {
"description": "Mark this paid retry as an internal test/probe for analytics exclusion",
"type": "boolean"
},
"channel": {
"description": "Discovery channel or source tag",
"type": "string"
},
"campaign": {
"description": "Campaign tag for downstream telemetry",
"type": "string"
},
"actorType": {
"description": "Caller type for analytics: agent, human, synthetic, system, or unknown",
"type": "string",
"enum": [
"agent",
"human",
"synthetic",
"system",
"unknown"
]
},
"payer": {
"description": "Optional wallet/account identifier; stored only as a hash",
"type": "string"
}
},
"required": [
"tools"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪payment_policy_decide(resourceUrl, method, scheme, network, asset, ...)
Payment Policy Decision (x402-paid, $0.05): deterministic allow / deny / needs_review before your agent signs an x402 payment — checks resource binding, amount vs expected price, network, payTo, facilitator, replay readiness, PII leakage, and buyer spend limits, with evidence-backed findings. Loop it over every payment; pair with assurance_attest for a signed record.
Input Schema
{
"type": "object",
"properties": {
"resourceUrl": {
"type": "string",
"description": "Absolute resource URL from the x402 challenge or Bazaar listing"
},
"method": {
"description": "HTTP method the agent intends to call",
"type": "string"
},
"scheme": {
"description": "x402 payment scheme (exact expected)",
"type": "string"
},
"network": {
"description": "Payment network, e.g. eip155:8453",
"type": "string"
},
"asset": {
"description": "Payment asset address",
"type": "string"
},
"amountUnits": {
"description": "Raw x402 amount units (USDC = 6 decimals)",
"type": "string"
},
"payTo": {
"description": "Payment recipient from the challenge",
"type": "string"
},
"facilitatorUrl": {
"description": "Facilitator URL used to settle",
"type": "string"
},
"maxTimeoutSeconds": {
"description": "Challenge timeout window",
"type": "number"
},
"paymentIdentifier": {
"description": "Optional x402 payment identifier for idempotency/retry correlation",
"type": "string"
},
"tags": {
"description": "Bazaar/service tags for sensitive-category detection",
"type": "array",
"items": {
"type": "string"
}
},
"buyerPolicy": {
"description": "Buyer guardrails: maxUsdPerCall, allowedNetworks, allowedPayTo, allowedHosts, requireExactScheme, requireHttps, ...",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"serviceRisk": {
"description": "Optional upstream service-risk result (e.g. from mcp_risk_score)",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"apiKey": {
"description": "Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing.",
"type": "string"
},
"paymentSignature": {
"description": "x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry",
"type": "string"
},
"xPayment": {
"description": "Raw X-PAYMENT proof from an x402-compatible wallet/client",
"type": "string"
},
"synthetic": {
"description": "Mark this paid retry as an internal test/probe for analytics exclusion",
"type": "boolean"
},
"channel": {
"description": "Discovery channel or source tag",
"type": "string"
},
"campaign": {
"description": "Campaign tag for downstream telemetry",
"type": "string"
},
"actorType": {
"description": "Caller type for analytics: agent, human, synthetic, system, or unknown",
"type": "string",
"enum": [
"agent",
"human",
"synthetic",
"system",
"unknown"
]
},
"payer": {
"description": "Optional wallet/account identifier; stored only as a hash",
"type": "string"
}
},
"required": [
"resourceUrl"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}⚪evidence_verify(artifacts, subject, policy, apiKey, paymentSignature, ...)
Evidence Verification (x402-paid, $0.05): verify an agent-commerce evidence bundle before trusting a paid result — x402 challenge/receipt/policy-decision/service-response artifacts, endpoint and price binding, freshness, hashes, synthetic-proof leakage. Returns verified / needs_review / rejected / insufficient_evidence with per-rule evidence.
Input Schema
{
"type": "object",
"properties": {
"artifacts": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"description": "Evidence artifacts (Hermes contract): x402_challenge, x402_receipt, payment_policy_decision, service_response, ..."
},
"subject": {
"description": "Optional run subject: kind, serviceId, endpoint, method, runId",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"policy": {
"description": "Verification policy: expected serviceId/endpoint/network/priceCents, require* flags",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"apiKey": {
"description": "Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing.",
"type": "string"
},
"paymentSignature": {
"description": "x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry",
"type": "string"
},
"xPayment": {
"description": "Raw X-PAYMENT proof from an x402-compatible wallet/client",
"type": "string"
},
"paymentIdentifier": {
"description": "Optional x402 payment identifier for idempotency/retry correlation",
"type": "string"
},
"synthetic": {
"description": "Mark this paid retry as an internal test/probe for analytics exclusion",
"type": "boolean"
},
"channel": {
"description": "Discovery channel or source tag",
"type": "string"
},
"campaign": {
"description": "Campaign tag for downstream telemetry",
"type": "string"
},
"actorType": {
"description": "Caller type for analytics: agent, human, synthetic, system, or unknown",
"type": "string",
"enum": [
"agent",
"human",
"synthetic",
"system",
"unknown"
]
},
"payer": {
"description": "Optional wallet/account identifier; stored only as a hash",
"type": "string"
}
},
"required": [
"artifacts"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢assurance_attest(protocol, subject, intent, policy, outcome, ...)
Assurance Attest (x402-paid, $0.05): bind one x402 payment intent or MCP tool call to a canonical HMAC-signed record (binding hash, policy verdict, findings, optional settlement outcome). Loop it after every payment or tool call to build a tamper-evident audit trail a third party can check at the free verify endpoint.
Input Schema
{
"type": "object",
"properties": {
"protocol": {
"type": "string",
"enum": [
"x402",
"mcp"
],
"description": "\"x402\" for a payment, \"mcp\" for a tool call"
},
"subject": {
"type": "object",
"properties": {
"runId": {
"type": "string",
"description": "Agent run id"
},
"agentId": {
"type": "string"
},
"purpose": {
"type": "string"
}
},
"required": [
"runId"
],
"description": "Who acted and why"
},
"intent": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "x402: resourceUrl+method (+scheme/network/asset/amountUnits/payTo/settlement fields). mcp: serverId+toolName (+toolArguments or toolArgumentsHash)."
},
"policy": {
"description": "Optional buyer policy (policyId+version, caps, allow-lists); omit for binding-only attestation",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"outcome": {
"description": "Optional settlement outcome: {outcome: fulfilled|failed|rejected, settlementId, responseStatus, evidenceHashes[]}",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"apiKey": {
"description": "Free-tier / plan API key (hp_free_… or a pass key). Forwarded as X-API-Key so paid tools serve from your monthly quota with NO x402 wallet. Get a free key (250 calls/mo) at https://hermesplant.com/pricing.",
"type": "string"
},
"paymentSignature": {
"description": "x402 payment proof to forward as PAYMENT-SIGNATURE and X-PAYMENT on retry",
"type": "string"
},
"xPayment": {
"description": "Raw X-PAYMENT proof from an x402-compatible wallet/client",
"type": "string"
},
"paymentIdentifier": {
"description": "Optional x402 payment identifier for idempotency/retry correlation",
"type": "string"
},
"synthetic": {
"description": "Mark this paid retry as an internal test/probe for analytics exclusion",
"type": "boolean"
},
"channel": {
"description": "Discovery channel or source tag",
"type": "string"
},
"campaign": {
"description": "Campaign tag for downstream telemetry",
"type": "string"
},
"actorType": {
"description": "Caller type for analytics: agent, human, synthetic, system, or unknown",
"type": "string",
"enum": [
"agent",
"human",
"synthetic",
"system",
"unknown"
]
},
"payer": {
"description": "Optional wallet/account identifier; stored only as a hash",
"type": "string"
}
},
"required": [
"protocol",
"subject",
"intent"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢assurance_verify(record, integrity)
Verify a Hermes-signed assurance record for free: recomputes the canonical hash (hermes-stable-json-v1 + SHA-256) and HMAC signature server-side and reports recordHashValid / signatureValid. Use it to audit attestations produced by assurance_attest without trusting the agent that produced them.
Input Schema
{
"type": "object",
"properties": {
"record": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "The attestation/decision/receipt record object"
},
"integrity": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "The integrity object returned with the record (recordHash, signature, keyId)"
}
},
"required": [
"record",
"integrity"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "True when the upstream storefront call returned a 2xx response"
},
"httpStatus": {
"type": "number",
"description": "Upstream HTTP status code"
},
"paymentRequired": {
"description": "True when the response is an x402 HTTP 402 payment challenge",
"type": "boolean"
}
},
"required": [
"ok",
"httpStatus"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Community
Evidence