Skip to main content
Glama

RunOnProof — Payment Decision and Agent ID

release_payment_to_supplier

Read-onlyIdempotent

Paid RunOnProof Payment Decision: one US FEDERAL_ONLY release-payment decision for 0.79 USDC on Base, with signed BuyerPaymentMandate, signed Proof Capsule and deterministic replay. RunOnProof does not execute supplier payment.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
buyerYes
payeeYes
amountYes
intentYes
invoiceYes
coverageYes
currencyYes
supplierYes
disclosureYes
correlationYes
risk_policyYes
jurisdictionYes
buyer_mandateYesSigned BuyerPaymentMandate bound to this request digest, buyer, agent, supplier, payee, limits and validity window.
schema_versionYes
idempotency_keyYes
economic_purposeYes
requesting_agentYes
decision_fee_payerNoDecision fee wallet authorized by the signed request and buyer mandate; required for commercial x402 purchases.
evidence_referencesYes
payment_destinationYes
coverage_requirementsYes
freshness_requirementsYes
exposure_valuation_basisYes
payment_instruction_digestYes
payment_exposure_usdc_equivalent_atomicYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
policyYes
replayYes
billingYes
productYes
coverageYes
decisionYes
deliveryYes
freshnessYes
conditionsYes
request_idYes
decision_idYes
remediationYes
uncertaintyYes
valid_as_ofYes
valid_untilYes
reason_codesYes
risk_signalsYes
checks_waivedYes
decision_costYes
economic_riskYes
proof_capsuleYes
machine_actionYes
request_digestYes
schema_versionYes
checks_executedYes
evidence_bundleYes
product_versionYes
payment_executedYes
decision_request_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changed
    • removedInput schema / properties / payee / $ref
      Removed value: -"#/components/schemas/DecisionGatePayee"
    • addedInput schema / properties / payee / additionalProperties
      Added value: +false
    • addedInput schema / properties / payee / properties
      Added value: +{
      +  "fingerprint": {
      +    "pattern": "^sha256:[0-9a-f]{64}$",
      +    "type": "string"
      +  },
      +  "provider_namespace": {
      +    "type": "string"
      +  },
      +  "type": {
      +    "enum": [
      +      "X402_PAYTO",
      +      "WALLET",
      +      "MERCHANT_RESOURCE",
      +      "PAYOUT_DESTINATION_TOKEN",
      +      "PROVIDER_ACCOUNT_TOKEN"
      +    ]
      +  },
      +  "value": {
      +    "type": "string"
      +  }
      +}
    • addedInput schema / properties / payee / required
      Added value: +[
      +  "type",
      +  "value",
      +  "fingerprint"
      +]
    • addedInput schema / properties / payee / type
      Added value: +"object"
    • removedInput schema / properties / payment_destination / $ref
      Removed value: -"#/components/schemas/DecisionGatePayee"
    • addedInput schema / properties / payment_destination / additionalProperties
      Added value: +false
    • addedInput schema / properties / payment_destination / properties
      Added value: +{
      +  "fingerprint": {
      +    "pattern": "^sha256:[0-9a-f]{64}$",
      +    "type": "string"
      +  },
      +  "provider_namespace": {
      +    "type": "string"
      +  },
      +  "type": {
      +    "enum": [
      +      "X402_PAYTO",
      +      "WALLET",
      +      "MERCHANT_RESOURCE",
      +      "PAYOUT_DESTINATION_TOKEN",
      +      "PROVIDER_ACCOUNT_TOKEN"
      +    ]
      +  },
      +  "value": {
      +    "type": "string"
      +  }
      +}
    • addedInput schema / properties / payment_destination / required
      Added value: +[
      +  "type",
      +  "value",
      +  "fingerprint"
      +]
    • addedInput schema / properties / payment_destination / type
      Added value: +"object"
  2. Changed1 schema field changed
    • addedInput schema / properties / decision_fee_payer
      Added value: +{
      +  "description": "Decision fee wallet authorized by the signed request and buyer mandate; required for commercial x402 purchases.",
      +  "pattern": "^0x[0-9a-fA-F]{40}$",
      +  "type": "string"
      +}
  3. Changed5 schema fields changed
    • addedInput schema / properties / buyer_mandate / properties / payload / additionalProperties
      Added value: +false
    • addedInput schema / properties / buyer_mandate / properties / payload / properties
      Added value: +{
      +  "buyer_organization": {
      +    "maxLength": 160,
      +    "minLength": 1,
      +    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
      +    "type": "string"
      +  },
      +  "buyer_organization_digest": {
      +    "pattern": "^sha256:[0-9a-f]{64}$",
      +    "type": "string"
      +  },
      +  "currency": {
      +    "pattern": "^[A-Z]{3}$",
      +    "type": "string"
      +  },
      +  "issuer": {
      +    "maxLength": 160,
      +    "minLength": 1,
      +    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
      +    "type": "string"
      +  },
      +  "key_id": {
      +    "maxLength": 160,
      +    "minLength": 1,
      +    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
      +    "type": "string"
      +  },
      +  "mandate_id": {
      +    "maxLength": 160,
      +    "minLength": 1,
      +    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
      +    "type": "string"
      +  },
      +  "mandate_version": {
      +    "pattern": "^\\d+\\.\\d+\\.\\d+$",
      +    "type": "string"
      +  },
      +  "max_decision_fee_atomic": {
      +    "pattern": "^\\d+$",
      +    "type": "string"
      +  },
      +  "max_payment_amount": {
      +    "pattern": "^(0|[1-9][0-9]{0,17})(\\.[0-9]{1,6})?$",
      +    "type": "string"
      +  },
      +  "nonce": {
      +    "maxLength": 96,
      +    "minLength": 16,
      +    "pattern": "^[A-Za-z0-9_-]+$",
      +    "type": "string"
      +  },
      +  "payee_fingerprint": {
      +    "pattern": "^sha256:[0-9a-f]{64}$",
      +    "type": "string"
      +  },
      +  "permitted_intent": {
      +    "const": "RELEASE_PAYMENT_TO_SUPPLIER"
      +  },
      +  "request_digest": {
      +    "pattern": "^sha256:[0-9a-f]{64}$",
      +    "type": "string"
      +  },
      +  "revocation_reference": {
      +    "maxLength": 512,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "schema_version": {
      +    "const": "1.0.0"
      +  },
      +  "subject_agent_id": {
      +    "maxLength": 160,
      +    "minLength": 1,
      +    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
      +    "type": "string"
      +  },
      +  "supplier_entity_id": {
      +    "maxLength": 160,
      +    "minLength": 1,
      +    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
      +    "type": "string"
      +  },
      +  "valid_from": {
      +    "format": "date-time",
      +    "type": "string"
      +  },
      +  "valid_until": {
      +    "format": "date-time",
      +    "type": "string"
      +  }
      +}
    • addedInput schema / properties / buyer_mandate / properties / payload / required
      Added value: +[
      +  "schema_version",
      +  "mandate_id",
      +  "mandate_version",
      +  "issuer",
      +  "subject_agent_id",
      +  "buyer_organization",
      +  "buyer_organization_digest",
      +  "permitted_intent",
      +  "request_digest",
      +  "supplier_entity_id",
      +  "payee_fingerprint",
      +  "max_payment_amount",
      +  "currency",
      +  "max_decision_fee_atomic",
      +  "valid_from",
      +  "valid_until",
      +  "nonce",
      +  "key_id",
      +  "revocation_reference"
      +]
    • addedInput schema / properties / buyer_mandate / properties / signature / additionalProperties
      Added value: +false
    • addedInput schema / properties / buyer_mandate / properties / signature / properties
      Added value: +{
      +  "algorithm": {
      +    "const": "Ed25519"
      +  },
      +  "canonicalization": {
      +    "const": "ROP-C14N-JSON-1"
      +  },
      +  "issuer": {
      +    "maxLength": 160,
      +    "minLength": 1,
      +    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
      +    "type": "string"
      +  },
      +  "key_id": {
      +    "maxLength": 160,
      +    "minLength": 1,
      +    "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
      +    "type": "string"
      +  },
      +  "value": {
      +    "pattern": "^[A-Za-z0-9_-]{86}$",
      +    "type": "string"
      +  }
      +}
  4. Added

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, and non-destructive behavior. The description adds meaningful context on top: the decision is 'Paid', replay is deterministic, and the tool does not execute supplier payment. These are behavioral details not inferable from annotations, and 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.

Conciseness3/5

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

The text is compact and front-loads the central purpose, but the very specific '0.79 USDC' and the dense stack of qualifiers add noise. A more general statement of the tool's capability would be clearer without losing conciseness.

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

Completeness2/5

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

For a tool with 25 parameters, 24 required, nested objects, and almost no schema descriptions, the definition provides only high-level scope. It mentions US-only, FEDERAL_ONLY, deterministic replay, and non-execution, but omits fee mechanics, idempotency expectations, and any guidance on the large required payload. The output schema helps with return values but not with invocation requirements.

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

Parameters2/5

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

Schema description coverage is only 8%, so the description should compensate by explaining key parameters, but it does not. The only hint is 'signed BuyerPaymentMandate, signed Proof Capsule', which maps loosely to buyer_mandate and evidence references, while critical fields like idempotency_key, jurisdiction, coverage, and payout amounts go unexplained.

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 identifies a specific resource: a paid RunOnProof release-payment decision, limited to a US FEDERAL_ONLY context, and explicitly distinguishes itself from actual supplier payment execution. However, the hardcoded '0.79 USDC on Base' makes it read like a single transaction instance rather than a general tool, and no sibling tool is named for differentiation.

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

Usage Guidelines3/5

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

The description implies the situation: use this when a release-payment decision is needed, and the closing statement 'RunOnProof does not execute supplier payment' provides a when-not boundary. But it never states explicit conditions for choosing this tool over siblings like preflight or quote, nor does it describe any alternative.

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