Skip to main content
Glama

warda

Where does this grant live right now?

warda_grant_address

Derive the on-chain address of a grant from its terms and current state. A grant's address is a HASH of its state, so it MOVES after every spend and every delegation — an address that worked yesterday holds nothing today. Use this to know which address to fund, watch, or look up.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
grantYesThe grant, as issued by the principal.
prefixNoAddress prefix: kaspa, kaspatest, kaspasim or kaspadev. Defaults to kaspatest.

TDQS

A4.4/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 burden of behavioral disclosure. It correctly warns that the address is a hash of state and 'MOVES after every spend and every delegation — an address that worked yesterday holds nothing today.' This is critical, non-obvious behavior that an agent must know. The description does not claim any mutation or side effect, which is consistent with a pure derivation operation.

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?

Three sentences, each earning its place: purpose, key behavioral warning, and usage guidance. The most critical fact (address moves with state) is front-loaded in the second sentence. There is no fluff or repetition of schema contents.

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 two-parameter tool with rich schema documentation and no output schema, the description is adequately complete. It states what is computed, what inputs matter, why the operation is state-sensitive, and when to use it. The only minor omission is an explicit statement of the return value format, but 'on-chain address' plus the prefix parameter in the schema make this sufficiently clear.

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?

The input schema already provides descriptions for both parameters and for reserveRoot, giving 100% coverage, so the baseline is 3. The description adds meaningful conceptual semantics beyond the schema: it explains that the address depends on 'current state' and is a hash of the state, which is why the nested state object must be accurate. This helps the agent understand how to populate the `grant.state` sub-object correctly.

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 uses a specific verb and resource: 'Derive the on-chain address of a grant from its terms and current state.' This makes the tool's function unmistakable and differentiates it from sibling tools that build/check spend, delegation, settlement, or recover operations. The title also reinforces the purpose conversationally.

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 states a clear use case: 'Use this to know which address to fund, watch, or look up.' It does not explicitly name alternatives, but the sibling set contains operations that are materially different (building transactions, checking statuses, recovering grants), so the intended context is clear and unlikely to be confused.

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

A4.1/5.0
Disambiguation5/5

Each tool has a distinct role: build_* assembles different transaction types, check_* validates proposals, grant_* derives or reports grant state, and recover_grant restores state from chain data. Even the similar-looking exit and settlement are clearly separated by destination: principal versus parent budget.

Naming Consistency4/5

The set is mostly consistent with a warda_<verb>_<noun> pattern, e.g. build_delegation, check_spend, recover_grant. Two tools, grant_address and grant_authority, are noun phrases rather than verb_noun, so the pattern is not perfectly uniform.

Tool Count5/5

Nine tools is well within the ideal range and each tool covers a distinct part of the grant lifecycle: building, checking, querying, settling, exiting, and recovering. There is no obvious redundancy or unnecessary surface area.

Completeness4/5

The surface covers the core lifecycle well: delegation, spending, settlement, exit/revoke, address derivation, authority checks, and recovery. The main gap is that advisory checking is provided for spend and delegation but not for exit or settlement, so the validity of those operations must be worked around via covenant behavior or other tools.