Skip to main content
Glama

audit_payers

Who actually opened payment channels against this contract, decoded from ChannelCreated.

Settled.sender and Deposited.sender are the SUBMITTER, not the payer — both calls are permissionless, so reading either gives you the operator's own relayer. On a real contract that turned 117 settlements into one address. The payer is word 0 of the ChannelCreated config tuple.

Returns the channel count per payer and the exact call to repeat. Feed the result to audit.cluster to find out whether those payers are independent.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
lineNooptional — credential from the /pay socket. With it the call is served off your line and carries no payment. Without it, put x402 payment in params._meta.
contractYesstring — the x402 settlement escrow, 0x form.
receiverNooptional string — only channels paying THIS receiver. Omit for every channel on the contract.
to_blockNooptional int — where to stop. Defaults to the head.
from_blockNooptional int — where to start. Defaults to 0.

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description shoulders the burden of behavioral disclosure. It exceeds the minimum by revealing that the payer is word 0 of the ChannelCreated tuple, that the sender fields are permissionless and misleading, and that the call can be served off-line with a credential or requires payment in params._meta. It further states the output (channel count per payer) and the exact call to repeat. It lacks explicit details on error behavior or rate limits, but for a read-style blockchain query tool, the core behaviors (decoding, payment options, and output) are transparently disclosed.

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

Conciseness5/5

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

The description is dense but eminently readable. It front-loads the primary purpose in the first sentence, then immediately addresses the most common pitfall (the submitters vs. payers) before detailing the return value. Every sentence contributes new information: the decoding rule, the permissionless caveat, the payment options, and the next step. There is no fluff or redundancy; the structure supports comprehension.

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?

The description covers the essential context for a tool with 5 parameters and no output schema. It explains each parameter's purpose, the payment requirements, the decoding logic, and what the return value looks like (channel count per payer and the call to repeat). It also suggests integration with audit.cluster. The only gaps are minor edge cases like error handling or behavior when no channels exist, but these are not critical for an agent to invoke the tool correctly. Overall it is quite complete.

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

Parameters5/5

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

Although schema coverage is 100%, the description adds substantial meaning beyond the schema. It explains that 'contract' is the 'x402 settlement escrow, 0x form', that 'line' is an optional credential that affects payment (no payment with it, otherwise put x402 payment in params._meta), and that 'receiver' filters to specific channels. This contextualizes each parameter and the payment mechanism, which is critical for correct invocation. The description also adds the crucial non-parameter semantic about how to identify the payer, which is not derivable from the schema alone.

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 opens with a specific, concrete purpose: 'Who actually opened payment channels against this contract, decoded from ChannelCreated.' It distinctly clarifies it is extracting the payer from the ChannelCreated config tuple (word 0) and explicitly contrasts with Settled.sender/Deposited.sender, which are submitters. This not only states the verb and resource but also differentiates from the sibling audit_funders and audit_cluster by describing the exact decoding logic.

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 provides clear usage context: it warns against interpreting Settled/Deposited senders as payers because those calls are permissionless, and it explains the exact data to extract. It also instructs the agent to 'Feed the result to audit.cluster' for deeper analysis. It does not explicitly say 'use this instead of X' for all siblings, but the field-level caution and the suggested next step give practical guidance. It also explains the payment/credential requirement for invocation, which is a form of when/how to use it.

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.

TDQS

A3.9/5.0
Disambiguation4/5

The audit_* tools are carefully differentiated: cluster groups wallets, funders traces inbound transfers for one wallet, payers decodes channel openers. The notes_* tools also have clear lifecycle separation, and sample vs rpc is distinguished by free vs paid access. Minor overlap exists between sample and rpc since both expose RPC methods, but the descriptions make the boundary clear.

Naming Consistency3/5

There are consistent internal prefixes like audit_* and notes_*, but the overall surface mixes verb_noun (audit_cluster, audit_funders), noun_verb (notes_post, notes_read), and single bare words (rpc, sample, tick, how_to_pay). The names are readable and groupable, but they do not follow one predictable convention across the whole server.

Tool Count5/5

Ten tools is well within the ideal scope for a server with distinct functional areas: on-chain auditing, notes, RPC access, and payment/settlement. Each tool has a clear job, and none feel redundant or superfluous.

Completeness4/5

The core workflows are well covered: cluster auditing, funder/payer investigation, notes post/read/sign, RPC access, and payment instructions/settlement. A minor gap is the lack of a dedicated usage or credit read tool, though tick and how_to_pay partially cover the payment lifecycle.

Resources