Skip to main content
Glama

Commerce Verify

commerce-verify
Idempotent

Verify that an x402 v2 payment payload, settlement evidence, original request, accepted offer, spending policy, and delivered response are mutually bound; SALT19 operations can additionally be checked against authoritative D1 commercial state. Price: $0.03 via x402. Generate one _salt19_operation_id per intended purchase, preserve it across retries, and add _x402_payment_signature after satisfying the challenge. A stable _salt19_operation_id is required and makes semantic retries at-most-once. _salt19_operation_id is recommended but optional for standard x402 compatibility.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
policyNoInput parameter "policy" for the commerce-verify tool.
requestYesInput parameter "request" for the commerce-verify tool.
deliveryYesInput parameter "delivery" for the commerce-verify tool.
settlementYesInput parameter "settlement" for the commerce-verify tool.
payment_payloadYesInput parameter "payment_payload" for the commerce-verify tool.
payment_requiredYesInput parameter "payment_required" for the commerce-verify tool.
expected_deliveryNoInput parameter "expected_delivery" for the commerce-verify tool.
_salt19_handoff_idNoOptional SALT19 authorization handoff correlation. Preserve the same value across challenge, local signing, and paid retry.
_salt19_operation_idNoOptional but recommended semantic purchase identifier. Generate once per intended purchase and preserve it across challenge, payment, timeout recovery, and retries for the strongest at-most-once contract. Standard x402 clients may omit it.
_x402_payment_signatureNoOptional x402 PAYMENT-SIGNATURE proof. Omit on the first call to receive the payment challenge; include after satisfying that challenge.
target_salt19_operation_idNoInput parameter "target_salt19_operation_id" for the commerce-verify tool.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
toolNoCanonical SALT19 tool identifier when the result is tool-specific.
statusNoSALT19 execution, payment, availability, or verification state.
responseNoTool-specific structured response payload when execution completes.
operation_idNoClient-controlled semantic purchase identifier when applicable.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare idempotentHint=true and destructiveHint=false; the description adds the $0.03 x402 price, which is a key side effect not visible in annotations. It also clarifies at-most-once retry behavior with a stable operation ID. However, readOnlyHint=false leaves the side-effect profile ambiguous (does verification mutate state?), so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is about 100 words across four sentences and front-loads the core purpose before pricing and workflow. It is dense but every sentence contributes. The internal 'required'/'optional' contrast is slightly awkward but not bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a rich output schema and annotations, the description covers purpose, cost, and retry contract. The two-step challenge flow is only hinted at ('after satisfying the challenge'), but the schema's _x402_payment_signature parameter explicitly documents omitting it first. Missing error/prerequisite context is minor given the schema coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter is already documented in the schema. The description reinforces the _salt19_operation_id and _x402_payment_signature workflow but mostly repeats schema content. The 'required' vs 'recommended but optional' phrasing for _salt19_operation_id introduces slight ambiguity, but it doesn't add new parameter semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb ('Verify') and enumerates the exact artifacts bound together (payment payload, settlement evidence, original request, accepted offer, spending policy, delivered response), which clearly distinguishes it from siblings like commerce-decision or x402-payment-preflight. It also adds the SALT19/D1 state-check scope. It stops short of naming a sibling or stating what it is not, so not a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides actionable workflow guidance: generate one _salt19_operation_id per purchase, preserve it across retries, and add _x402_payment_signature after satisfying the challenge. It also explains the retry semantics (at-most-once). It does not explicitly state when not to use this tool or name alternative tools, so it earns a 4 rather than a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources