Skip to main content
Glama

sodax_get_solver_quote

Read-only

Get a swap quote from the SODAX solver. tokenSrc/tokenDst MUST be hub-chain (Sonic, chainId 146) asset addresses — look them up with sodax_get_solver_oracle (chainId='146'). Working example: tokenSrc='0xeb0393893b5bf98a50073d6740738b08e575058b' (BTC_BTC_ASSET) → tokenDst='0xaeafa26e43f46cd83efe89b1e57c858eb5685a24' (ETH_ASSET), amount='99800', quoteType='exact_input' returns a quoted_amount. exact_input quotes the destination amount you'd receive; exact_output quotes the source amount you'd need. There are two distinct HTTP-400 failures, both naming the two addresses: (1) 'not compatible with the quote service' = an address isn't a recognized hub asset (a spoke-chain or otherwise non-chainId-146 address was passed) → use a chainId-146 address from sodax_get_solver_oracle, and for a reliable pick prefer a canonical bridged *_ASSET hub token or major stablecoin (chainId 146 alone doesn't guarantee a route). (2) 'No path was found between X and Y' = both tokens are valid hub assets but the solver couldn't route this pair for this amount → routing is pair/amount/liquidity-dependent, so retry with a smaller amount or a more liquid counterparty (a canonical bridged *_ASSET token, or a major stablecoin like SONIC_USDC_ASSET). Many wrapped/derivative entries (e.g. WBTC, waLocBTC, SONIC_SODA_ASSET) are oracle-priced but frequently have no route — prefer canonical bridged *_ASSET hub tokens.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
amountYesREQUIRED: Amount in the smallest unit of the input token (for exact_input) or output token (for exact_output). String to preserve precision. Note: a very large amount can exceed available liquidity and return 'No path was found' even for an otherwise-valid pair — reduce it if that happens.
formatNoResponse format: 'json' for raw data or 'markdown' for formatted textmarkdown
tokenDstYesREQUIRED: Destination token address (the token you want to receive). Hub-chain (Sonic, chainId 146) asset address from sodax_get_solver_oracle (e.g. ETH_ASSET 0xaeafa26e43f46cd83efe89b1e57c858eb5685a24). Prefer canonical bridged *_ASSET tokens or a major stablecoin for a routable pair.
tokenSrcYesREQUIRED: Source token address (the token you're spending). Hub-chain (Sonic, chainId 146) asset address from sodax_get_solver_oracle. Prefer canonical bridged *_ASSET tokens (e.g. BTC_BTC_ASSET 0xeb0393893b5bf98a50073d6740738b08e575058b); wrapped/derivative entries like WBTC are priced but frequently have no route.
quoteTypeNo'exact_input' (default): given input amount, quote output amount. 'exact_output': given output amount, quote input amount required.exact_input

TDQS

A5/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, destructiveHint=false, but the description adds significant behavioral context: two distinct HTTP-400 failure modes with exact messages and causes, pair/amount/liquidity-dependent routing, and the observation that some oracle-priced tokens have no route. This exceeds what annotations provide.

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?

The description is long but every sentence earns its place: it is front-loaded with the core action, then organized into example, quoteType explanation, failure modes, and token-selection guidance. No redundant or filler content; structure supports quick scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters, no output schema, and moderate complexity, this description is exceptionally complete. It explains the return value (quoted_amount), how to interpret quoteType, error handling for both common failures, and provides concrete examples. The user can confidently invoke the tool without needing external documentation.

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?

Although the schema covers 100% of parameters, the description adds substantial meaning: it provides a working example address pair, explains exact_input vs exact_output semantics, warns that very large amounts can fail, and elaborates on token selection (wrapped/derivative tokens often unroutable). This goes beyond the schema's basic descriptions.

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 specific verb and resource: 'Get a swap quote from the SODAX solver.' It clearly distinguishes this from sibling tools by immediately directing the user to sodax_get_solver_oracle for address lookup, and by focusing on quote generation for swaps rather than intents, tokens, or oracle prices.

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 provides explicit, actionable when-to-use guidance: addresses must be hub-chain chainId-146 assets, use sodax_get_solver_oracle, and prefer canonical bridged *_ASSET tokens. It also tells users what to do on failure (retry with smaller amount or more liquid counterparty) and when not to use certain tokens. This is far beyond a generic usage note.

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

A3.5/5.0
Disambiguation3/5

Several tools have overlapping scopes: sodax_get_token_supply, sodax_get_total_supply, and sodax_get_circulating_supply all provide supply data, and the four money_market_* getters could be conflated. However, most tools are distinct and descriptions help.

Naming Consistency3/5

The sodax_* tools follow a consistent get_<resource> pattern, but docs_* tools mix camelCase (getPage, searchDocumentation) with snake_case (list_tools), and there are non-get verbs like refresh and submit. This inconsistency makes the naming pattern less predictable.

Tool Count2/5

With 40 tools, the server exceeds the 25-tool threshold for even a comprehensive API. Many endpoints are granular (e.g., separate supply tools) and could be consolidated, making the set feel bloated.

Completeness4/5

The tools cover a wide range of SODAX features: docs, money market, AMM, relay, solver, token data, and user positions. Missing are write operations (except relay_submit) and a few data endpoints like pool details, but for a query-oriented MCP it's largely complete.