Skip to main content
Glama

try_verify_payment

Free: the same verification as verify_payment, limited to 3 NEW claims per client per day (asking again about a claim already checked is always free). Holders of the exchange's on-ledger ProvenPayer credential get more: pass xrplProof (see credential_status).

Input Schema

NameRequiredDescriptionDefault
chainNoChain of the paymentbase
payeeYesAddress that should have received the money (XRPL: an r... account)
payerNoOnly count transfers from this address (the token holder who paid)
tokenNoERC-20 contract (default: USDC on the chain). XRPL: RLUSD (default), XRP, or CURRENCY.rIssuer
txHashYesTransaction hash (0x + 64 hex; XRPL: 64 hex)
logIndexNoBind to one transfer: its position within the tx's logs
invoiceIdNoXRPL only: the InvoiceID (64 hex) the payment must carry; binds the answer and its signed receipt to your invoice
xrplProofNo
minAmountRawNoMinimum amount in base units, e.g. "50000" = 0.05 USDC (default: any). XRPL: XRP drops, or millionths of an issued currency
requiredLevelNoProof level you need before releasing money (Base: tee_attested < zk_proven < resolved; Ethereum: finalized; XRPL: unl_quorum). The answer then says whether it is releasable.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / xrplProof
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "account": {
      +      "pattern": "^r[1-9A-HJ-NP-Za-km-z]{24,34}$",
      +      "type": "string"
      +    },
      +    "publicKey": {
      +      "pattern": "^[0-9A-Fa-f]{66}$",
      +      "type": "string"
      +    },
      +    "signature": {
      +      "pattern": "^[0-9A-Fa-f]{64,160}$",
      +      "type": "string"
      +    },
      +    "timestamp": {
      +      "minimum": 0,
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "account",
      +    "publicKey",
      +    "timestamp",
      +    "signature"
      +  ],
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / invoiceId
      Added value: +{
      +  "description": "XRPL only: the InvoiceID (64 hex) the payment must carry; binds the answer and its signed receipt to your invoice",
      +  "type": "string"
      +}
  3. Changed7 schema fields changed
    • changedInput schema / properties / chain / enum
      Previous value: -[
      -  "base",
      -  "ethereum"
      -]New value: +[
      +  "base",
      +  "ethereum",
      +  "xrpl"
      +]
    • changedInput schema / properties / minAmountRaw / description
      Previous value: -"Minimum amount in base units, e.g. \"50000\" = 0.05 USDC (default: any)"New value: +"Minimum amount in base units, e.g. \"50000\" = 0.05 USDC (default: any). XRPL: XRP drops, or millionths of an issued currency"
    • changedInput schema / properties / payee / description
      Previous value: -"Address that should have received the money"New value: +"Address that should have received the money (XRPL: an r... account)"
    • changedInput schema / properties / requiredLevel / description
      Previous value: -"Proof level you need before releasing money (Base: tee_attested < zk_proven < resolved; Ethereum: finalized). The answer then says whether it is releasable."New value: +"Proof level you need before releasing money (Base: tee_attested < zk_proven < resolved; Ethereum: finalized; XRPL: unl_quorum). The answer then says whether it is releasable."
    • changedInput schema / properties / requiredLevel / enum
      Previous value: -[
      -  "tee_attested",
      -  "zk_proven",
      -  "resolved",
      -  "finalized"
      -]New value: +[
      +  "tee_attested",
      +  "zk_proven",
      +  "resolved",
      +  "finalized",
      +  "unl_quorum"
      +]
    • changedInput schema / properties / token / description
      Previous value: -"ERC-20 contract (default: USDC on the chain)"New value: +"ERC-20 contract (default: USDC on the chain). XRPL: RLUSD (default), XRP, or CURRENCY.rIssuer"
    • changedInput schema / properties / txHash / description
      Previous value: -"Transaction hash (0x + 64 hex)"New value: +"Transaction hash (0x + 64 hex; XRPL: 64 hex)"
  4. Changed1 schema field changed
    • addedInput schema / properties / requiredLevel
      Added value: +{
      +  "description": "Proof level you need before releasing money (Base: tee_attested < zk_proven < resolved; Ethereum: finalized). The answer then says whether it is releasable.",
      +  "enum": [
      +    "tee_attested",
      +    "zk_proven",
      +    "resolved",
      +    "finalized"
      +  ],
      +  "type": "string"
      +}
  5. Added

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does meaningfully: it discloses a concrete rate limit (3 new claims per client per day), a free re-query carve-out, and a credential-gated higher tier. It does not describe the response format or receipt/auth requirements for the proof path, but the quota and pricing behavior is genuinely beyond what structured fields provide.

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?

Two dense sentences, front-loaded with the key differentiator ('Free:') and the quota constraint before the credential upsell. Every clause earns its place; only minor compression is possible.

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?

For a 10-parameter tool with a nested object and no output schema, the description covers pricing/quota and the proof path but says nothing about return values or the signed-receipt behavior, deferring entirely to 'the same verification as verify_payment.' That deferral only works if the agent already knows the sibling, leaving a real gap.

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

Parameters4/5

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

Schema coverage is 90%, so the baseline is 3, but the description adds real meaning the schema lacks for xrplProof: it explains why/when to pass it (ProvenPayer credential holders) and points to credential_status. The remaining parameters are already well documented in the schema.

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?

States a specific verb+resource ('verification') and immediately anchors it to its sibling: 'the same verification as verify_payment.' The pricing/quota qualifier ('Free', 'limited to 3 NEW claims') makes it instantly distinguishable from verify_payment without opening either schema.

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?

Clearly signals when this tool is the right pick (free tier, re-checks always free) and routes credential holders to the xrplProof path with a cross-reference to credential_status. It stops short of explicitly stating the alternative condition (e.g. 'use verify_payment when you exceed the daily quota'), leaving that to inference.

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