Skip to main content
Glama

Synthex Forge — x402 Paid Agent Services

Settle Conditional Payment

settle_conditional_payment
Read-onlyIdempotent

A settlement that releases only if its named conditions. use it rather than get_payment_deadline for conditional payment, not payment deadline; an object with 23 fields including algorithm, canonicalSha256. $0.25 USDC.

Input Schema

NameRequiredDescriptionDefault
as_ofNoThe evaluation instant, ISO-8601. Pinned into the evidence core so the digest is reproducible.
deal_idNoThe caller's deal id.
conditionsNoThe conditions to evaluate. An empty list yields verdict 'hold' — never 'release'.

Output Schema

NameRequiredDescriptionDefault
key_idNoThe `key_id` field of the response.
sha256NoThe `sha256` field of the response.
deal_idNoThe `deal_id` field of the response.
signedByNoThe `signedBy` field of the response.
algorithmNoThe `algorithm` field of the response.
satisfiedNoThe `satisfied` field of the response.
signatureYesThe Ed25519 signature over the evidence core, base64-encoded.
conditionsNoThe `conditions` field of the response.
disclaimerNoThe `disclaimer` field of the response.
ed25519SigNoThe `ed25519Sig` field of the response.
unsatisfiedNoThe `unsatisfied` field of the response.
evidenceCoreNoThe `evidenceCore` field of the response.
publicKeyHexNoThe `publicKeyHex` field of the response.
coverage_gapsNoThe `coverage_gaps` field of the response.
indeterminateNoThe `indeterminate` field of the response.
output_sha256YesSHA-256 hex digest of the canonical evidence core.
rules_versionNoThe `rules_version` field of the response.
canonicalSha256NoThe `canonicalSha256` field of the response.
profile_versionNoVersion of the answer profile.
reproducibilityNoThe `reproducibility` field of the response.
evidence_digestsNoThe `evidence_digests` field of the response.
observed_at_blockNoThe `observed_at_block` field of the response.
verdict_for_releaseNoThe `verdict_for_release` field of the response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed25 schema fields changed
    • addedOutput schema / properties / algorithm
      Added value: +{
      +  "description": "The `algorithm` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / canonicalSha256
      Added value: +{
      +  "description": "The `canonicalSha256` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / conditions
      Added value: +{
      +  "description": "The `conditions` 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 / deal_id
      Added value: +{
      +  "description": "The `deal_id` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / disclaimer
      Added value: +{
      +  "description": "The `disclaimer` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / ed25519Sig
      Added value: +{
      +  "description": "The `ed25519Sig` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / evidenceCore
      Added value: +{
      +  "description": "The `evidenceCore` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / evidence_digests
      Added value: +{
      +  "description": "The `evidence_digests` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / indeterminate
      Added value: +{
      +  "description": "The `indeterminate` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / key_id
      Added value: +{
      +  "description": "The `key_id` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / observed_at_block
      Added value: +{
      +  "description": "The `observed_at_block` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / output_sha256
      Added value: +{
      +  "description": "SHA-256 hex digest of the canonical evidence core.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / profile_version
      Added value: +{
      +  "description": "Version of the answer profile.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / publicKeyHex
      Added value: +{
      +  "description": "The `publicKeyHex` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / reproducibility
      Added value: +{
      +  "description": "The `reproducibility` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / rules_version
      Added value: +{
      +  "description": "The `rules_version` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / satisfied
      Added value: +{
      +  "description": "The `satisfied` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / sha256
      Added value: +{
      +  "description": "The `sha256` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / signature
      Added value: +{
      +  "description": "The Ed25519 signature over the evidence core, base64-encoded.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / signedBy
      Added value: +{
      +  "description": "The `signedBy` field of the response.",
      +  "type": "object"
      +}
    • removedOutput schema / properties / status
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / unsatisfied
      Added value: +{
      +  "description": "The `unsatisfied` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / verdict_for_release
      Added value: +{
      +  "description": "The `verdict_for_release` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / required
      Added value: +[
      +  "output_sha256",
      +  "signature"
      +]
  2. Added

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered structurally. The description adds genuinely useful context beyond that: a per-call price ($0.25 USDC) and the response shape (23 fields including algorithm, canonicalSha256). It does not clarify the tension an agent will feel between the word 'settle/releases' and a read-only annotation, nor explain that 'release' is a verdict rather than a fund movement.

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?

It is short and front-loads the distinguishing information, which is good. But the first sentence is an ungrammatical fragment and the second is a semicolon run-on bundling routing advice, return shape, and pricing into one clause, which costs readability without saving much length.

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 the '23 fields' note is largely redundant and return values need not be explained. What is missing for a settlement-adjacent tool with a paid call is whether the $0.25 USDC is charged per invocation, how `deal_id` scopes the evaluation, and confirmation that the tool returns a verdict/evidence object rather than executing a transfer.

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% and all three parameters carry their own descriptions (including the important 'empty list yields hold — never release' rule for `conditions`). The description adds no parameter meaning beyond the schema, so the baseline 3 applies.

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

Purpose3/5

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

The opening clause is a sentence fragment ('A settlement that releases only if its named conditions.') so the actual verb the tool performs — evaluate conditions and produce a release/hold verdict versus move funds — is never stated. It does distinguish itself from a sibling by name (get_payment_deadline), which lifts it above a pure tautology, but the core purpose is only inferable, not stated.

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?

It names the alternative explicitly ('use it rather than `get_payment_deadline` for conditional payment, not payment deadline'), which is real routing guidance. However, the phrasing is garbled and no other when/when-not conditions, prerequisites, or cost implications of choosing this path are given.

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.