Skip to main content
Glama

offramp_to_fiat

Destructive

Cash out crypto to fiat via MoonPay (non-custodial).

token is the crypto to sell; amount is its quantity; destination is a MoonPay bank_account_id the fiat is paid to. Returns offramp_id, estimated_fiat, and status. Past the daily free tier an x402 payment_header is required.

idempotency_key (optional): a client-generated UUID. Retrying with the same key + same args replays the original result (same offramp_id) instead of creating a second MoonPay sell order.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tokenYes
amountYes
caller_idNo
destinationYes
pay_in_crankNo
payment_headerNo
wallet_addressYes
idempotency_keyNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

TDQS

A3.7/5.0
Behavior4/5

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

The description discloses behaviors beyond annotations: non-custodial, the need for a payment_header past the free tier, and the idempotency behavior with replay semantics. It also notes it returns offramp_id, estimated_fiat, and status. Annotations already mark destructiveHint=true and readOnlyHint=false, which align; there is no contradiction. It adds meaningful context about side effects and constraints.

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 well-structured: a one-line summary, then parameter explanations, then return values, then a conditional requirement, then idempotency details. It is concise and front-loaded with the primary verb and resource. Slight redundancy (e.g., repeating payment_header in the body) but overall efficient.

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?

The tool has an output schema, so return values are externally specified; the description still mentions them. It covers the payment header and idempotency, which are critical. However, it omits the purpose of wallet_address, caller_id, and pay_in_crank, leaving significant gaps for a tool with 8 parameters. While not incomplete for safe invocation, it is short of full completeness.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It explains token, amount, destination, and idempotency_key, but leaves required wallet_address, caller_id, pay_in_crank, and payment_header unqualified (payment_header is only mentioned as a requirement, not its format or purpose). The explanation is partial; several parameters, including a required one, are undocumented.

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 clear verb and resource: 'Cash out crypto to fiat via MoonPay (non-custodial)'. It unambiguously states the action and the service used, and the non-custodial qualifier adds a distinct operational trait. Among hundreds of siblings, no other tool mentions offramping to fiat, so it is clearly distinguished.

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

Usage Guidelines3/5

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

The description explains how to use the tool and under what conditions (e.g., payment_header required past the free tier), but it never contrasts with alternatives or says 'use this when...'. With no explicit when-to-use vs. other tools, the context is implicit rather than directive. This meets a minimal bar but lacks explicit guidance.

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

B3.2/5.0
Disambiguation2/5

Multiple tools overlap significantly: close_perp_position vs perp_close, get_leaderboard vs get_score_leaderboard vs get_strategy_leaderboard, get_venue_status vs get_all_venues_status, send_token_social vs bulk_send_social, and get_crank_score vs get_score. Several read-only tools have nearly identical purposes, and the descriptions do not always clarify boundaries.

Naming Consistency4/5

Most tools follow a consistent verb_noun snake_case pattern (get_balances, create_strategy, set_alert, list_webhooks). However, there are deviations like 'lst_swap', 'jupiter_swap', 'flash_loan', 'sr_backtest', and the use of both 'get_' and 'list_' for reads, plus category prefixes like 'perp_' and 'strategy_' that vary in order. Overall still readable and predictable.

Tool Count1/5

177 tools is an extreme count for any server, far exceeding the 25+ threshold for 'too many'. Even a full DeFi platform does not need this many separate operations; the surface is overwhelming and clearly not well-scoped.

Completeness3/5

The domain (Solana DeFi trading) is covered extensively across swaps, perps, lending, staking, strategies, signals, and support. However, there are notable gaps: no lend_withdraw, no direct way to close a lending position, no spot order cancellation (though aggregator-based swaps may not need it), and a general lack of tiered account management. The huge number of tools makes it hard to identify missing lifecycle steps.

Resources