Skip to main content
Glama

assetfare_v2_prepare

Get a validated, versioned Core bundle for an unsigned cross-chain action after caller approval and a fresh re-quote, ready for client-side signing.

Instructions

Return the exact validated versioned Core bundle for the first caller-approved unsigned action after a fresh re-quote. Its payload_sha256 covers the Core bundle with only payload_sha256 omitted; the MCP adapter does not append fields to that hash scope. Example: pass caller_approved=true, the exact route, public wallets, and a caller-owned Solana event signer public key when required. Use instead of session mode for one-shot preview; never call both modes, and AssetFare never signs or submits.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
walletsYesMap each chain needed by this route to the caller's public wallet address. Include public addresses only; one to six entries, never private keys or seed phrases.
to_chainYesDestination chain for the v2 route: Solana, Base, Arbitrum, or Robinhood Chain. Polygon and Optimism are not destinations.
to_tokenYesOutput token symbol on to_chain. The chain-token pair must appear in current v2 capabilities.
amount_usdYesRequested input value in USD, minimum 1. USD 1 is reachability/schema smoke only; USD 50 is the native-USDC economic-comparison start based on dated 2026-09-23 evidence, not a cheapest guarantee; USD 1,000 is the primary representative amount. SOL input includes a swap. Always quote the actual intended amount.
from_chainYesSource chain for the v2 route. Polygon and Optimism are source-only and cannot be used as to_chain.
from_tokenYesInput token symbol on from_chain. The chain-token pair must appear in current v2 capabilities.
caller_approvedYesExplicit confirmation that the caller approved this state-changing preparation or session creation. A quote alone is not approval.
event_signer_publicNoSolana CCTP only: caller-generated ephemeral public key. Keep the matching private key client-side and use it to co-sign the returned unsigned event-account transaction; never send the private key.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
signedYes
versionYes
action_idYes
submittedYes
expires_atYes
step_indexYes
workflow_idYes
payload_sha256Yessha256(UTF-8 JSON with sorted keys and compact separators, excluding payload_sha256 itself)
server_signingYes
unsigned_actionYes
server_submissionYes
payload_sha256_specYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, destructiveHint=false, openWorldHint=true — indicating mutation risk. The description accurately signals this by mentioning 'state-changing preparation or session creation' in the caller_approved parameter, and clarifies that AssetFare never signs or submits. It also discloses the hash-scope behavior (payload_sha256 omits only itself, MCP adapter does not append fields). The main gap is that it doesn't explicitly warn that this is a state-changing operation in the description body itself, though the annotations and parameter descriptions cover this. The description adds meaningful behavioral detail beyond annotations about the unsigned nature and the no-sign/no-submit guarantee.

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?

The description is reasonably compact for a complex tool with 8 parameters and nested wallet objects. Every sentence earns its place: the first sentence states the core function, the second clarifies the hash scope, the third gives a usage example, and the fourth provides routing guidance. It could be slightly more concise in the example sentence, but the density is high and front-loaded.

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?

Given the tool's complexity (8 params, nested wallets, conditional event_signer_public, chain-token constraints, state-changing nature), the description plus schema covers nearly all needs. The output schema exists, so return values don't need explanation. The description covers the key safety aspects (never send private keys, never both modes, no sign/submit), the economic/representative amounts, and the conditional Solana signer. Minor gap: the 'exact route' phrase in the description is slightly ambiguous, but the schema's chain/token enums and descriptions resolve it.

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?

Schema coverage is 100%, so the schema already documents every parameter. However, the description adds substantial semantic value beyond the schema: it explains the relationship between amount_usd values ('USD 1 is smoke only', 'USD 50 is the native-USDC economic-comparison start based on dated evidence', 'USD 1,000 is the primary representative amount'), explains when event_signer_public is required ('when required' in description, 'Solana CCTP only' in schema), and clarifies that caller_approved must be a fresh re-quote approval. The description and schema complement each other exceptionally well.

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 states a specific verb ('Return'), a precise resource ('the exact validated versioned Core bundle'), and the condition under which it applies ('for the first caller-approved unsigned action after a fresh re-quote'). It clearly distinguishes this one-shot preview mode from session mode, and explicitly names the sibling it is not ('Use instead of session mode'). It also adds precise technical detail (payload_sha256 covering the Core bundle with only payload_sha256 omitted) that differentiates it from all sibling tools.

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool ('one-shot preview'), when not to use it ('never call both modes'), and names the alternative (session mode). It also gives concrete prerequisites: pass caller_approved=true, the exact route, public wallets, and a caller-owned Solana event signer when required. This is explicit and actionable routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.