Skip to main content
Glama

Synthex Forge — x402 Paid Agent Services

Issue Spend Ledger Attestation

issue_spend_ledger_attestation
Destructive

A signed, dated attestation of what an agent spent. use it rather than assess_spend_anomaly for spend ledger attestation, not spend anomaly; an object with 31 fields including agent_id, algorithm. $0.5 USDC.

Input Schema

NameRequiredDescriptionDefault
periodNoThe reporting period the answer covers.
entriesNoThe entries this operation operates on. See the schema for its type and whether it is required.
agent_idYesThe identifier of the agent the operation concerns.

Output Schema

NameRequiredDescriptionDefault
toNoThe `to` field of the response.
tsNoThe `ts` field of the response.
usdNoThe `usd` field of the response.
fromNoThe `from` field of the response.
kindNoThe `kind` field of the response.
noteNoA note on how the answer was produced.
countNoThe `count` field of the response.
shareNoThe `share` field of the response.
valueNoThe `value` field of the response.
detailYesHuman-readable explanation of the verdict.
periodNoThe `period` field of the response.
sha256NoThe `sha256` field of the response.
totalsNoThe `totals` field of the response.
tx_refNoThe `tx_ref` field of the response.
entriesNoThe `entries` field of the response.
verdictYesThe decision this tool returned.
agent_idNoThe `agent_id` field of the response.
coverageNoHow much of the underlying corpus the answer is based on.
algorithmNoThe `algorithm` field of the response.
anomaliesNoThe `anomalies` field of the response.
gross_usdNoThe `gross_usd` field of the response.
amount_usdNoThe amount the operation concerned.
public_keyNoThe `public_key` field of the response.
signed_overNoThe `signed_over` field of the response.
counterpartyNoThe `counterparty` field of the response.
unverifiableNoThe `unverifiable` field of the response.
coverage_gapsNoThe `coverage_gaps` field of the response.
profileVersionNoVersion of the answer profile.
by_counterpartyNoThe `by_counterparty` field of the response.
duplicates_removedNoThe `duplicates_removed` field of the response.
gross_usd_including_unverifiableNoThe `gross_usd_including_unverifiable` field of the response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed33 schema fields changed
    • addedOutput schema / properties / agent_id
      Added value: +{
      +  "description": "The `agent_id` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / algorithm
      Added value: +{
      +  "description": "The `algorithm` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / amount_usd
      Added value: +{
      +  "description": "The amount the operation concerned.",
      +  "type": "number"
      +}
    • addedOutput schema / properties / anomalies
      Added value: +{
      +  "description": "The `anomalies` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / by_counterparty
      Added value: +{
      +  "description": "The `by_counterparty` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / count
      Added value: +{
      +  "description": "The `count` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / counterparty
      Added value: +{
      +  "description": "The `counterparty` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / coverage
      Added value: +{
      +  "description": "How much of the underlying corpus the answer is based on.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / coverage_gaps
      Added value: +{
      +  "description": "The `coverage_gaps` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / detail
      Added value: +{
      +  "description": "Human-readable explanation of the verdict.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / duplicates_removed
      Added value: +{
      +  "description": "The `duplicates_removed` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / entries
      Added value: +{
      +  "description": "The `entries` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / from
      Added value: +{
      +  "description": "The `from` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / gross_usd
      Added value: +{
      +  "description": "The `gross_usd` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / gross_usd_including_unverifiable
      Added value: +{
      +  "description": "The `gross_usd_including_unverifiable` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / kind
      Added value: +{
      +  "description": "The `kind` 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 / period
      Added value: +{
      +  "description": "The `period` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / profileVersion
      Added value: +{
      +  "description": "Version of the answer profile.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / public_key
      Added value: +{
      +  "description": "The `public_key` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / sha256
      Added value: +{
      +  "description": "The `sha256` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / share
      Added value: +{
      +  "description": "The `share` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / signed_over
      Added value: +{
      +  "description": "The `signed_over` field of the response.",
      +  "type": "object"
      +}
    • removedOutput schema / properties / status
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / to
      Added value: +{
      +  "description": "The `to` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / totals
      Added value: +{
      +  "description": "The `totals` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / ts
      Added value: +{
      +  "description": "The `ts` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / tx_ref
      Added value: +{
      +  "description": "The `tx_ref` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / unverifiable
      Added value: +{
      +  "description": "The `unverifiable` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / usd
      Added value: +{
      +  "description": "The `usd` 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: +[
      +  "detail",
      +  "verdict"
      +]
  2. Added

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare this is non-read-only, destructive, and non-idempotent. The description adds useful context that the result is signed and dated and costs $0.5 USDC, but it does not explain what the destructive behavior entails or whether issuing an attestation is irreversible.

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 short and mostly front-loaded with purpose, then usage, then price. The central sentence is somewhat run-on with semicolons, but no sentence is wasted.

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?

Given that an output schema exists, the description need not enumerate return fields. It covers purpose, alternative routing, signed/dated nature, and cost; the main remaining gap is the lack of explanation for the destructive annotation.

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 the schema itself documents `period`, `entries`, and `agent_id`. The description mentions `agent_id` and `algorithm`, but `algorithm` appears to refer to output fields rather than input parameters, so it adds little to input-parameter understanding.

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

Purpose5/5

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

The description states a specific resource and output: a signed, dated attestation of what an agent spent. It also explicitly distinguishes this tool from `assess_spend_anomaly`, so an agent can identify the correct tool without ambiguity.

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

Usage Guidelines5/5

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

It gives an explicit routing rule: use this rather than `assess_spend_anomaly` for spend ledger attestation, not spend anomaly. This names the alternative and the condition that selects this tool, which is exactly what usage guidance should do.

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.