Skip to main content
Glama

Synthex Forge — x402 Paid Agent Services

Create A2A Escrow

create_a2a_escrow
Destructive

Produce the release-terms document for a deal. use it rather than create_provenance_overlay for a2a escrow, not provenance overlay; an object with 31 fields including amount_usd, arbiter. $0.5 USDC.

Input Schema

NameRequiredDescriptionDefault
arbiterNoThe arbiter this operation operates on. See the schema for its type and whether it is required.
deadlineNoThe deadline, as an ISO-8601 timestamp.
amount_usdNoThe amount in USD. The settlement rail converts it to the exact atomic amount.
payee_walletNoThe payee wallet this operation operates on. See the schema for its type and whether it is required.
payer_walletNoThe payer wallet this operation operates on. See the schema for its type and whether it is required.
release_ruleNoThe release rule this operation operates on. See the schema for its type and whether it is required.all
release_conditionsNoThe release conditions this operation operates on. See the schema for its type and whether it is required.

Output Schema

NameRequiredDescriptionDefault
gapsNoThe `gaps` field of the response.
kindNoThe `kind` field of the response.
noteNoA note on how the answer was produced.
indexNoThe `index` field of the response.
valueNoThe `value` field of the response.
arbiterNoThe `arbiter` field of the response.
custodyNoThe `custody` field of the response.
verdictYesThe decision this tool returned.
deadlineNoThe `deadline` field of the response.
terms_idNoThe `terms_id` field of the response.
checkableNoThe `checkable` field of the response.
signatureYesThe Ed25519 signature over the evidence core, base64-encoded.
signed_byNoThe key id that signed the answer.
amount_usdNoThe amount the operation concerned.
conditionsNoThe `conditions` field of the response.
payee_walletNoThe `payee_wallet` field of the response.
payer_walletNoThe `payer_wallet` field of the response.
release_ruleNoThe `release_rule` field of the response.
terms_sha256NoThe `terms_sha256` field of the response.
evidence_coreYesThe canonical, signed core of the answer — the payload the signature covers.
output_sha256YesSHA-256 hex digest of the canonical evidence core.
scopeBoundaryNoThe `scopeBoundary` field of the response.
missing_fieldsNoThe `missing_fields` field of the response.
profileVersionNoVersion of the answer profile.
scope_boundaryNoWhat this service explicitly does not do.
profile_versionNoVersion of the answer profile.
canonicalizationNoThe canonicalisation rule the digest was computed under.
methodologyVersionNoThe `methodologyVersion` field of the response.
release_conditionsNoThe `release_conditions` field of the response.
methodology_versionNoVersion of the method that produced the answer.
uncheckable_conditionsNoThe `uncheckable_conditions` field of the response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed33 schema fields changed
    • addedOutput schema / properties / amount_usd
      Added value: +{
      +  "description": "The amount the operation concerned.",
      +  "type": "number"
      +}
    • addedOutput schema / properties / arbiter
      Added value: +{
      +  "description": "The `arbiter` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / canonicalization
      Added value: +{
      +  "description": "The canonicalisation rule the digest was computed under.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / checkable
      Added value: +{
      +  "description": "The `checkable` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / conditions
      Added value: +{
      +  "description": "The `conditions` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / custody
      Added value: +{
      +  "description": "The `custody` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / deadline
      Added value: +{
      +  "description": "The `deadline` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / evidence_core
      Added value: +{
      +  "description": "The canonical, signed core of the answer — the payload the signature covers.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / gaps
      Added value: +{
      +  "description": "The `gaps` 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 / methodologyVersion
      Added value: +{
      +  "description": "The `methodologyVersion` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / methodology_version
      Added value: +{
      +  "description": "Version of the method that produced the answer.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / missing_fields
      Added value: +{
      +  "description": "The `missing_fields` 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 / output_sha256
      Added value: +{
      +  "description": "SHA-256 hex digest of the canonical evidence core.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / payee_wallet
      Added value: +{
      +  "description": "The `payee_wallet` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / payer_wallet
      Added value: +{
      +  "description": "The `payer_wallet` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / profileVersion
      Added value: +{
      +  "description": "Version of the answer profile.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / profile_version
      Added value: +{
      +  "description": "Version of the answer profile.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / release_conditions
      Added value: +{
      +  "description": "The `release_conditions` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / release_rule
      Added value: +{
      +  "description": "The `release_rule` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / scopeBoundary
      Added value: +{
      +  "description": "The `scopeBoundary` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / scope_boundary
      Added value: +{
      +  "description": "What this service explicitly does not do.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / signature
      Added value: +{
      +  "description": "The Ed25519 signature over the evidence core, base64-encoded.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / signed_by
      Added value: +{
      +  "description": "The key id that signed the answer.",
      +  "type": "string"
      +}
    • removedOutput schema / properties / status
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / terms_id
      Added value: +{
      +  "description": "The `terms_id` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / terms_sha256
      Added value: +{
      +  "description": "The `terms_sha256` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / uncheckable_conditions
      Added value: +{
      +  "description": "The `uncheckable_conditions` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / value
      Added value: +{
      +  "description": "The `value` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / verdict
      Added value: +{
      +  "description": "The decision this tool returned.",
      +  "type": "string"
      +}
    • addedOutput schema / required
      Added value: +[
      +  "evidence_core",
      +  "output_sha256",
      +  "signature",
      +  "verdict"
      +]
  2. Added

TDQS

C2/5.0
Behavior1/5

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

"Produce the release-terms document" frames this as document generation, a read-like operation, while annotations declare destructiveHint=true and readOnlyHint=false. The description also says nothing about what the destructive action actually does, that it is non-idempotent, whether funds are moved, or whether it can be undone.

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

Conciseness2/5

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

It is short, but the sentence fragments are jumbled: the alternative-tool clause interrupts the purpose statement, the "31 fields" claim is noise, and "$0.5 USDC" floats at the end with no explanation of what costs $0.50 or when it is charged.

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 destructive, non-idempotent escrow-creating tool with zero required parameters, the description leaves critical gaps: where funds come from, what happens on cancellation, whether release_rule/release_conditions gate settlement, and the role of the sibling settle_a2a_escrow. The unexplained "$0.5 USDC" hint at a fee is the only cost context given.

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 coverage is 100%, so the baseline is 3, but the description actively misleads by claiming "an object with 31 fields" when the schema has 7 properties. Naming amount_usd and arbiter adds nothing beyond the already-documented schema and the inflated field count undermines trust in the remaining text.

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

Purpose2/5

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

The description says it will "produce the release-terms document for a deal," but the tool is named create_a2a_escrow and there is a sibling settle_a2a_escrow, so it is unclear whether this creates an escrow, drafts a document, or both. Neither the name nor the description resolves the relationship between escrow creation and document production.

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 does explicitly route the agent away from create_provenance_overlay ("use it rather than ... for a2a escrow, not provenance overlay"), which is genuine differentiation. However, it gives no guidance on when to call create_a2a_escrow versus settle_a2a_escrow, no prerequisites, and no funding requirements.

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.