Skip to main content
Glama

Synthex Forge — x402 Paid Agent Services

Validate Payment Envelope

validate_payment_envelope
Read-onlyIdempotent

Validate a captured x402 402 payment envelope. use it rather than get_payment_deadline for payment envelope, not payment deadline; an object with 43 fields including algorithm, amount. $0.25 USDC.

Input Schema

NameRequiredDescriptionDefault
envelopeNoThe envelope this operation operates on. See the schema for its type and whether it is required.
now_epochNoThe now epoch this operation operates on. See the schema for its type and whether it is required.
resource_urlNoThe resource url this operation operates on. See the schema for its type and whether it is required.

Output Schema

NameRequiredDescriptionDefault
idNoThe `id` field of the response.
okYesWhether the operation succeeded.
kindNoThe `kind` field of the response.
noteNoA note on how the answer was produced.
caip2NoThe `caip2` field of the response.
checkNoThe `check` field of the response.
indexNoThe `index` field of the response.
payToNoThe `payTo` field of the response.
amountNoThe `amount` field of the response.
checksNoThe individual checks that were run.
detailYesHuman-readable explanation of the verdict.
expiryNoThe `expiry` field of the response.
reasonNoWhy the verdict was reached.
schemeNoThe `scheme` field of the response.
sha256NoThe `sha256` field of the response.
statusNoThe status of the operation.
networkNoThe `network` field of the response.
payableNoThe `payable` field of the response.
problemNoThe `problem` field of the response.
verdictYesThe decision this tool returned.
findingsNoThe `findings` field of the response.
resourceNoThe `resource` field of the response.
severityNoThe `severity` field of the response.
signedByNoThe `signedBy` field of the response.
algorithmNoThe `algorithm` field of the response.
assuranceNoThe `assurance` field of the response.
namespaceNoThe `namespace` field of the response.
now_epochNoThe `now_epoch` field of the response.
referenceNoThe `reference` field of the response.
ed25519SigNoThe `ed25519Sig` field of the response.
checksTotalNoThe `checksTotal` field of the response.
descriptionNoThe `description` field of the response.
evaluatedAtNoThe `evaluatedAt` field of the response.
checks_totalNoThe `checks_total` field of the response.
coverageGapsNoThe `coverageGaps` field of the response.
evidenceCoreNoThe `evidenceCore` field of the response.
publicKeyHexNoThe `publicKeyHex` field of the response.
coverage_gapsNoThe `coverage_gaps` field of the response.
checksObservedNoThe `checksObserved` field of the response.
evidenceDigestNoThe `evidenceDigest` field of the response.
canonicalSha256NoThe `canonicalSha256` field of the response.
checks_observedNoThe `checks_observed` field of the response.
reproducibilityNoThe `reproducibility` field of the response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed44 schema fields changed
    • addedOutput schema / properties / algorithm
      Added value: +{
      +  "description": "The `algorithm` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / amount
      Added value: +{
      +  "description": "The `amount` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / assurance
      Added value: +{
      +  "description": "The `assurance` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / caip2
      Added value: +{
      +  "description": "The `caip2` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / canonicalSha256
      Added value: +{
      +  "description": "The `canonicalSha256` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / check
      Added value: +{
      +  "description": "The `check` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / checks
      Added value: +{
      +  "description": "The individual checks that were run.",
      +  "items": {
      +    "description": "One record.",
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / checksObserved
      Added value: +{
      +  "description": "The `checksObserved` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / checksTotal
      Added value: +{
      +  "description": "The `checksTotal` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / checks_observed
      Added value: +{
      +  "description": "The `checks_observed` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / checks_total
      Added value: +{
      +  "description": "The `checks_total` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / coverageGaps
      Added value: +{
      +  "description": "The `coverageGaps` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / coverage_gaps
      Added value: +{
      +  "description": "The `coverage_gaps` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / description
      Added value: +{
      +  "description": "The `description` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / detail
      Added value: +{
      +  "description": "Human-readable explanation of the verdict.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / ed25519Sig
      Added value: +{
      +  "description": "The `ed25519Sig` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / evaluatedAt
      Added value: +{
      +  "description": "The `evaluatedAt` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / evidenceCore
      Added value: +{
      +  "description": "The `evidenceCore` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / evidenceDigest
      Added value: +{
      +  "description": "The `evidenceDigest` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / expiry
      Added value: +{
      +  "description": "The `expiry` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / findings
      Added value: +{
      +  "description": "The `findings` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / id
      Added value: +{
      +  "description": "The `id` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / index
      Added value: +{
      +  "description": "The `index` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / kind
      Added value: +{
      +  "description": "The `kind` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / namespace
      Added value: +{
      +  "description": "The `namespace` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / network
      Added value: +{
      +  "description": "The `network` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / note
      Added value: +{
      +  "description": "A note on how the answer was produced.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / now_epoch
      Added value: +{
      +  "description": "The `now_epoch` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / ok
      Added value: +{
      +  "description": "Whether the operation succeeded.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / payTo
      Added value: +{
      +  "description": "The `payTo` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / payable
      Added value: +{
      +  "description": "The `payable` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / problem
      Added value: +{
      +  "description": "The `problem` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / publicKeyHex
      Added value: +{
      +  "description": "The `publicKeyHex` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / reason
      Added value: +{
      +  "description": "Why the verdict was reached.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / reference
      Added value: +{
      +  "description": "The `reference` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / reproducibility
      Added value: +{
      +  "description": "The `reproducibility` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / resource
      Added value: +{
      +  "description": "The `resource` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / scheme
      Added value: +{
      +  "description": "The `scheme` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / severity
      Added value: +{
      +  "description": "The `severity` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / sha256
      Added value: +{
      +  "description": "The `sha256` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / signedBy
      Added value: +{
      +  "description": "The `signedBy` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / status / description
      Added value: +"The status of the operation."
    • addedOutput schema / properties / verdict
      Added value: +{
      +  "description": "The decision this tool returned.",
      +  "type": "string"
      +}
    • addedOutput schema / required
      Added value: +[
      +  "detail",
      +  "ok",
      +  "verdict"
      +]
  2. Added

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds a 'captured' precondition and a price point ('$0.25 USDC'), which is real added context, but it is genuinely ambiguous whether that price is the tool's cost or the envelope's amount, and no failure behavior is described.

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?

Purpose is front-loaded, but it is a single run-on sentence with clawed-back phrasing ('use it rather than ... for payment envelope, not payment deadline') that costs the reader a re-read. No sentence is gratuitous, but the packaging is poor.

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

Completeness3/5

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

An output schema exists, so return shape need not be explained. However, for a validation tool the description never says what it actually validates (signature, expiry, amount, scheme) or what a negative result means, leaving a real gap for an agent deciding whether to call it.

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 baseline is 3, but the schema text is pure boilerplate ('the envelope this operation operates on'). The description partially compensates by saying the envelope is an object with 43 fields including algorithm and amount, yet leaves now_epoch and resource_url entirely 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?

States a specific verb and resource ('Validate a captured x402 402 payment envelope') and names the sibling it must not be confused with, get_payment_deadline. The doubled 'x402 402' phrasing is sloppy but the object of validation is unambiguous.

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?

Explicitly routes the agent: 'use it rather than `get_payment_deadline` for payment envelope, not payment deadline.' That is a named alternative plus the condition that selects this tool. It stops short of saying when validation should be skipped or what to do on failure.

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.