Skip to main content
Glama

taxsort_check_payment

Check the payment status of a Lightning invoice.

Call after paying the invoice from purchase_credits. Free — no credits required. Proof of npub ownership is required to prevent credit-grant front-running by an observer of the invoice ID.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
npubYesThe Nostr public key (npub1...) that purchased the invoice.
dpop_tokenYesRaw JSON of a kind-27235 Nostr event signed by npub — not base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its `u` tag must hold THIS tool's exact name (from tools/list), not the endpoint URL; content:"", created_at within 60s of now, and a random `nonce` tag recommended. Or a cached dpop_token phrase.
invoice_idYesThe invoice ID returned by purchase_credits.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / dpop_token / description
      Added value: +"Raw JSON of a kind-27235 Nostr event signed by npub —\nnot base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its\n`u` tag must hold THIS tool's exact name (from tools/list), not\nthe endpoint URL; content:\"\", created_at within 60s of now, and a\nrandom `nonce` tag recommended. Or a cached dpop_token phrase."
    • addedInput schema / properties / invoice_id / description
      Added value: +"The invoice ID returned by purchase_credits."
    • addedInput schema / properties / npub / description
      Added value: +"The Nostr public key (npub1...) that purchased the invoice."
  2. First observed

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden and delivers: cost behavior ('Free — no credits required'), an auth requirement ('Proof of npub ownership is required'), and the security rationale ('to prevent credit-grant front-running by an observer of the invoice ID'). This explains why the oddly strict dpop_token parameter exists, which is genuinely useful context. It doesn't disclose failure-mode behavior, but the disclosures present are substantial.

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?

Four sentences, with purpose front-loaded first, then usage timing, cost, and auth rationale. Every sentence earns its place; the only minor waste is 'Free — no credits required,' which says the same thing twice. The structure is efficient and well-ordered.

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?

For a 3-parameter tool, the description covers the full call context: what it does, when to call it (after purchase_credits), cost, and the auth prerequisite. Combined with 100% schema parameter coverage and an existing output schema, nothing essential for invoking it correctly is missing. The only gap is clarity on edge outcomes (e.g., unpaid/expired invoice behavior), which is minor.

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 per the baseline rule the description needn't add parameter detail — and it doesn't. The schema itself already documents invoice_id's provenance (returned by purchase_credits), npub's format, and dpop_token's exact framing requirements. The description adds no new parameter semantics, so the baseline 3 is appropriate.

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?

The first sentence uses a specific verb and resource: 'Check the payment status of a Lightning invoice.' Among many sibling check tools (check_balance, check_proof_status, check_unlock), this one is identifiable by its unique resource — Lightning invoice payment status. It stops short of 5 because it doesn't explicitly name a sibling it is not, and 'check' is a generic verb shared with several peers.

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?

The description gives explicit temporal guidance: 'Call after paying the invoice from purchase_credits,' which anchors the tool in a clear workflow and ties it to a named sibling. It doesn't provide exclusions or state when not to use it vs other check_* tools, so it earns a 4 rather than a 5, but the when-to-use context is unambiguous.

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.