Skip to main content
Glama

Can this wallet accept a referrer?

check_referral_eligibility
Read-onlyIdempotent

Whether a wallet may accept a referrer, as the referral contract decides: it must have no referrer yet, never have deposited in any Panda vault, not be the referrer itself, and the referrer must not have been referred by it.

Input Schema

NameRequiredDescriptionDefault
walletYesThe wallet on Base that will sign (and that owns the positions).
referrerYesThe referrer: the ?ref= value of a Panda invite link (the referrer's wallet address), or a 6-character code from an older link.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • removedInput schema / properties / code
      Removed value: -{
      -  "description": "A 6-character Panda referral code.",
      -  "pattern": "^[A-Za-z0-9]{6}$",
      -  "type": "string"
      -}
    • addedInput schema / properties / referrer
      Added value: +{
      +  "description": "The referrer: the ?ref= value of a Panda invite link (the referrer's wallet address), or a 6-character code from an older link.",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "wallet",
      -  "code"
      -]New value: +[
      +  "wallet",
      +  "referrer"
      +]
  2. First observed

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description goes beyond that by disclosing the actual evaluation rules the contract applies (no existing referrer, no prior Panda vault deposit, not self-referral, no circular referral), which is real behavioral content an agent cannot get from the annotations. It omits return shape and any failure conditions, keeping it short of a 5.

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?

A single sentence that front-loads the answer being produced and then lists the conditions. Every clause earns its place; the only minor cost is the dense trailing enumeration of rules, which is justified by the value it adds.

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?

With no output schema, the description carries the burden of explaining what the check returns, and it does not say whether the result is a boolean, a reason string, or a reason code for a false outcome. Given two fully documented params and complete annotations, most of the call contract is covered, but the omitted return semantics leave a visible gap for a pure query tool.

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%, and the schema itself explains that 'wallet' is the signing wallet owning positions and that 'referrer' is a ?ref= value or legacy 6-character code. The description adds no parameter-specific syntax, format, or validation detail beyond what the schema already provides, so the baseline of 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?

The description states a specific resource and predicate ('whether a wallet may accept a referrer') and enumerates the exact contract conditions that determine the answer. It clearly separates this read-only check from the build_* mutation siblings by describing an evaluation rather than an action. It does not, however, name build_referral_accept or get_referral_link as relatives, so sibling differentiation is implicit rather than explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use statement: the description never says 'call this before build_referral_accept' or 'use this instead of attempting the action and reading the revert'. The pre-check intent is only implied by the tool name and the build_referral_accept sibling. No exclusions or alternatives are given.

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