Skip to main content
Glama

Commerce Receipt

commerce-receipt
Idempotent

Verify an x402 commercial state and persist a signed Ed25519 Proof402 receipt whose Commerce State Root commits request, offer, policy, payment, settlement, and delivery evidence; receipts are later Merkle-batched for public inclusion proofs. Price: $0.05 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-receipt tool.
requestYesInput parameter "request" for the commerce-receipt tool.
deliveryYesInput parameter "delivery" for the commerce-receipt tool.
settlementYesInput parameter "settlement" for the commerce-receipt tool.
payment_payloadYesInput parameter "payment_payload" for the commerce-receipt tool.
payment_requiredYesInput parameter "payment_required" for the commerce-receipt tool.
expected_deliveryNoInput parameter "expected_delivery" for the commerce-receipt 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-receipt 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

A4.2/5.0
Behavior5/5

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

The description discloses persistence of the receipt, later Merkle-batching for public inclusion proofs, a $0.05 cost, and at-most-once retry semantics—details not present in the annotations. These traits are consistent with idempotentHint=true and destructiveHint=false, so there is no contradiction.

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 dense but front-loaded with core behavior, pricing, and retry guidance, and each sentence adds information. The phrasing 'A stable _salt19_operation_id is required...' followed by '_salt19_operation_id is recommended but optional' is mildly confusing, slightly detracting from an otherwise efficient statement.

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?

For a paid, mutating tool with 11 parameters and nested objects, the description covers the key agent decision points: what is committed, what it costs, and how retries behave, while the output schema handles return values. It does not enumerate every parameter or error path, but the schema coverage compensates for those omissions.

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

Parameters4/5

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

The schema already documents all parameters with 100% coverage, so the baseline is 3. The description adds meaningful operational semantics for the key parameters: generate and preserve _salt19_operation_id and include _x402_payment_signature after challenge fulfillment. It does not describe every nested field, but the schema already carries that load.

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 names the operation clearly: verify x402 commercial state and persist a signed Ed25519 Proof402 receipt, while also specifying what the Commerce State Root commits. It does not explicitly contrast this tool with commerce-verify or verify-decision-receipt, but the persist-and-batch behavior differentiates it enough in context.

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?

Operational guidance is explicit: generate one _salt19_operation_id per purchase, preserve it across retries, and add _x402_payment_signature after satisfying the challenge. It also states the $0.05 price, making clear this is a paid call. It does not spell out when to choose this over commerce-verify or verify-decision-receipt, so alternatives remain implicit rather than explicit.

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