Skip to main content
Glama

Get a wallet-ownership challenge

trust_wallet_challenge

Step 1 of linking or proving a Solana wallet: get a short-lived, single-use message and nonce. Sign the message (UTF-8 bytes) with that wallet's ed25519 key and pass the 64-byte signature (base64 or base58) to trust_link_wallet or trust_prove_wallet.

Input Schema

NameRequiredDescriptionDefault
botIdYes
sessionYesYour Trust session token (from trust_open_session). Used for this call only; never stored.
solanaPubkeyYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior4/5

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

Beyond the annotations (which only declare readOnly=false, openWorld=true, destructive=false), the description adds genuinely useful behavioral traits: the challenge is short-lived and single-use, and the signature must be ed25519 over the message's UTF-8 bytes and exactly 64 bytes encoded as base64 or base58. It stops short of giving the actual TTL or stating what happens if the challenge expires or is consumed twice.

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?

Two sentences, zero filler. The workflow position ('Step 1') is front-loaded, followed by the artifact returned and the exact signing/encoding instructions the caller needs next.

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?

With no output schema, the description correctly tells the agent what comes back ('a short-lived, single-use message and nonce') and how to use it. It is nearly complete for a 3-param tool; the only missing piece is the concrete challenge lifetime and error behavior on expiry or reuse.

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 only 33% — only 'session' is documented in the schema, while botId and solanaPubkey carry patterns but no prose. The description implies solanaPubkey is the wallet's ed25519 public key ('that wallet's ed25519 key'), which is helpful, but it never explains botId or the session requirement (that is left to the schema's own field description).

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 names a specific verb and resource ('get a short-lived, single-use message and nonce' for a Solana wallet) and frames it as 'Step 1 of linking or proving a Solana wallet', which lets an agent place it in the workflow without opening a schema. It also distinguishes itself from the downstream tools it feeds (trust_link_wallet, trust_prove_wallet).

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?

It clearly states when to call it — as step 1 before linking or proving a wallet — and names the two successor tools to call with the resulting signature. It does not, however, say when NOT to use it, e.g. how it differs from the sibling trust_get_challenge or whether a challenge can be reused if one is already outstanding.

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.