Skip to main content
Glama

invoice_report_payment

Idempotent

Hand the payment transaction to the server, right after sending it. The server reads the transaction on-chain and measures what reached the receiver in the invoice token; the payer must be the signer and the transaction must be newer than the invoice. The payer is screened again here (payer_blocked: a sanctioned or issuer-frozen payer does not count as paid, and once the network confirms the transaction the refusal is kept in the 10-year analysis record). With a paid analysis on the invoice and no prior proof of the payer wallet, the transaction itself is the proof: until the network confirms it the call returns payment_pending (409) and records nothing, so call again once it is mined. Pending until mined; invoice_get re-checks. An invoice holds at most 5 pending and 30 unconfirmed payments; past that, too_many_pending (429) until the network confirms the transaction, and a confirmed one is always accepted, so call again once it is mined. A hash pays each receiver once (tx_already_used once it confirmed another invoice of the same receiver and token); different receivers in one transaction are a batch payout.

Input Schema

NameRequiredDescriptionDefault
idYesINV-XXXX-XXXX or the 8-character id.
payerYesThe wallet that signed the payment.
methodNoFrom invoice_pay.method.
txHashYesEVM transaction hash, or the Solana signature.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing payer re-screening with payer_blocked semantics, the 10-year retention of refusals, the pending-until-mined behavior with 409, the 5-pending/30-unconfirmed throttling with 429, and single-use txHash rules with tx_already_used. This is exactly the error/limit/auth context annotations cannot carry.

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?

Front-loads the core action and keeps every sentence substantive with no filler. However, it is a dense single paragraph where distinct concerns (screening, pending, limits, hash reuse) run together rather than being cleanly separated, slightly reducing scannability.

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

Completeness5/5

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

For a write-oriented reporting tool with no output schema, the description covers return-relevant states and error codes, idempotency behavior, rate limits, and proof semantics. An agent can invoke and handle responses correctly with this alone.

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 coverage is 100%, so the four parameters (id, payer, method, txHash) are already documented in the schema. The description reinforces that the payer must be the signer and the txHash is the proof, but adds no format or constraint detail beyond what the schema already provides, so the baseline 3 applies.

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 action (report a payment transaction to the server) and resource (invoice payment), and explains that the server verifies on-chain what reached the receiver. It is clearly distinguishable from invoice_pay (which sends the payment) by the 'right after sending it' framing, though it never explicitly names the sibling it complements.

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?

Gives concrete usage context: call right after sending the transaction, call again once mined when you get payment_pending (409) or too_many_pending (429). It stops short of explicitly contrasting with invoice_report_analysis_payment or payout_report_payment, leaving that routing 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