{"name":"io.github.gosodax/builders-mcp","slug":"gosodax-builders-mcp","title":"SODAX Builders MCP","description":"Cross-network DeFi API data, AMM analytics, and SDK docs for 17+ networks.","url":"https://mcp.market/server/gosodax-builders-mcp","rating":null,"grade":"B","score":79,"certified":false,"status":"active","category":"productivity","tags":["productivity"],"presence":{"score":30,"stars":9,"forks":2,"downloads_week":null,"last_push_at":"2026-09-23T05:32:02.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T06:10:57.284Z","last_ok_at":"2026-11-04T06:10:57.284Z","latency_ms":583},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/gosodax/builders-sodax-mcp-server","website":null,"version":"1.1.0","remotes":[{"type":"streamable-http","url":"https://builders.sodax.com/mcp"}],"packages":[],"tools":[{"name":"docs_health","description":"Check SDK documentation availability. Call this first if docs tools seem unavailable.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"docs_list_tools","description":"List all SDK documentation tools with parameters. Essential for discovering what's available.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"docs_refresh","description":"Reconnect to SDK documentation and refresh available tools. Use if docs seem stale or unavailable.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_all_borrowers","description":"Get all borrowers across all money market assets with pagination","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"offset":{"type":"number","minimum":0,"default":0,"description":"Number of borrowers to skip for pagination"},"limit":{"type":"number","minimum":1,"maximum":100,"default":20,"description":"Maximum number of borrowers to return (1-100)"},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_all_chains_configs","description":"Get detailed configuration for all spoke chains including contract addresses, RPCs, and token configs","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_all_config","description":"Get full SODAX configuration including all supported chains, swap tokens, and protocol settings in one call","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_amm_pool_candles","description":"Get OHLCV candlestick chart data for an AMM pool","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"chainId":{"type":"string","description":"Chain ID where the pool is deployed (e.g., 'sonic')"},"poolId":{"type":"string","description":"The pool contract address or ID"},"interval":{"type":"string","enum":["1m","5m","15m","1h","4h","1d"],"description":"REQUIRED: Candle interval"},"from":{"type":"number","description":"REQUIRED: Start timestamp (unix seconds)"},"to":{"type":"number","description":"REQUIRED: End timestamp (unix seconds)"},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"required":["chainId","poolId","interval","from","to"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_amm_positions","description":"Get AMM liquidity provider NFT positions, optionally filtered by owner address","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"owner":{"type":"string","description":"Filter by owner wallet address"},"offset":{"type":"number","minimum":0,"description":"Number of positions to skip for pagination"},"limit":{"type":"number","minimum":1,"maximum":100,"description":"Maximum number of positions to return"},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_asset_borrowers","description":"Get borrowers for a specific money market asset by its reserve address","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"reserveAddress":{"type":"string","description":"The reserve contract address of the asset"},"offset":{"type":"number","minimum":0,"default":0,"description":"Number of borrowers to skip for pagination"},"limit":{"type":"number","minimum":1,"maximum":100,"default":20,"description":"Maximum number of borrowers to return (1-100)"},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"required":["reserveAddress"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_asset_suppliers","description":"Get suppliers (lenders) for a specific money market asset by its reserve address","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"reserveAddress":{"type":"string","description":"The reserve contract address of the asset"},"offset":{"type":"number","minimum":0,"default":0,"description":"Number of suppliers to skip for pagination"},"limit":{"type":"number","minimum":1,"maximum":100,"default":20,"description":"Maximum number of suppliers to return (1-100)"},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"required":["reserveAddress"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_circulating_supply","description":"Get SODA token circulating supply as a plain number","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_hub_assets","description":"Get assets representing spoke tokens on the hub (Sonic) chain, optionally filtered by source chain","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"chainId":{"type":"string","description":"Filter by source spoke chain ID. Use the formal chain ID (e.g., '0x2105.base', 'ethereum', 'sonic'). Call sodax_get_supported_chains for the full list."},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_intent","description":"Look up a specific intent by its intent hash (different from transaction hash)","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"intentHash":{"type":"string","description":"The intent hash to look up (66 character hex string starting with 0x)"},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"required":["intentHash"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_money_market_asset","description":"Get detailed information for a specific money market asset by its reserve address","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"reserveAddress":{"type":"string","description":"The reserve contract address of the asset"},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"required":["reserveAddress"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_money_market_assets","description":"List all assets available for lending and borrowing in the SODAX money market","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"chainId":{"type":"string","description":"Filter by chain ID"},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_money_market_reserve_assets","description":"Get money market reserve assets used as collateral backing","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_money_market_tokens","description":"Get tokens supported for money market lending/borrowing, optionally filtered by chain","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"chainId":{"type":"string","description":"Filter by chain ID"},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_orderbook","description":"Get current orderbook entries showing pending/open intents","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"type":"number","minimum":1,"maximum":500,"description":"Max results (default server-side, cap 500)"},"offset":{"type":"number","minimum":0,"description":"Offset for simple pagination"},"srcChain":{"type":"number","description":"Filter by source chain id"},"dstChain":{"type":"number","description":"Filter by destination chain id"},"inputToken":{"type":"string","description":"Filter by input token address"},"outputToken":{"type":"string","description":"Filter by output token address"},"creator":{"type":"string","description":"Filter by creator address"},"deadlineBefore":{"type":"number","description":"Only return intents with deadline < value (Unix seconds)"},"deadlineAfter":{"type":"number","description":"Only return intents with deadline > value (Unix seconds)"},"excludeZeroDeadline":{"type":"boolean","description":"Exclude intents where deadline = 0"},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_partner_summary","description":"Get volume and activity summary for a specific integration partner by their receiver address","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"receiver":{"type":"string","description":"The partner receiver address"},"chainId":{"type":"string","description":"Filter by chain ID"},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"required":["receiver"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_partners","description":"List all SODAX integration partners including wallets, DEXs, and other protocols","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"chainId":{"type":"integer","description":"Filter partners by numeric chain ID (e.g. 146 for Sonic)"},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_relay_chain_id_map","description":"Get mapping between chain IDs and intent relay chain IDs used by the SODAX relay network","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_solver_intent","description":"Get solver-side details for an intent including fill history. Use includeAll to see all solver documents.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"intentHash":{"type":"string","description":"The intent hash to look up"},"includeAll":{"type":"boolean","default":false,"description":"Include all intent documents (history) instead of just the latest"},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"required":["intentHash"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_solver_oracle","description":"Get the solver's oracle USD prices per (chain, token). For quoting with sodax_get_solver_quote, filter chainId='146': chainId-146 addresses pass the quote service's compatibility check, while spoke-chain (non-146) addresses are rejected with 'not compatible with the quote service'. Caveat: passing that check (being listed/priced) does NOT guarantee a swap route — canonical bridged *_ASSET hub tokens and major stablecoins route most reliably, while many wrapped/derivative/money-market entries (e.g. WBTC, waLocBTC, SONIC_SODA_ASSET) are priced but frequently return 'No path was found', and routability is pair/amount/liquidity-dependent. Also useful for sanity-checking quote amounts against the USD prices the solver uses.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"chainId":{"type":"string","description":"Filter results to a single intent-relay chain ID (decimal string, e.g. '146' for Sonic). Call sodax_get_relay_chain_id_map to translate."},"symbol":{"type":"string","description":"Filter by token symbol (case-insensitive exact match, e.g. 'SODA', 'bnUSD')"},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_solver_quote","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tokenSrc":{"type":"string","description":"REQUIRED: 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."},"tokenDst":{"type":"string","description":"REQUIRED: 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."},"amount":{"type":"string","description":"REQUIRED: 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."},"quoteType":{"type":"string","enum":["exact_input","exact_output"],"default":"exact_input","description":"'exact_input' (default): given input amount, quote output amount. 'exact_output': given output amount, quote input amount required."},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"required":["tokenSrc","tokenDst","amount"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_supported_chains","description":"List all blockchain networks supported by SODAX for cross-chain swaps and DeFi operations","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_swap_tokens","description":"Get available tokens for swapping on SODAX, optionally filtered by chain","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"chainId":{"type":"string","description":"Filter tokens by spoke chain ID. Use the formal chain ID (e.g., '0x2105.base', 'ethereum', 'sonic', '0x1.icon', '0xa.optimism'). Call sodax_get_supported_chains for the full list."},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_token_supply","description":"Get SODA token supply information including total, circulating, and burned amounts","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_total_supply","description":"Get SODA token total supply as a plain number","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_transaction","description":"Look up a specific transaction by its hash to see status, amounts, and details","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"txHash":{"type":"string","description":"The transaction hash to look up (e.g., '0x...')"},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"required":["txHash"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_user_position","description":"Get a user's lending and borrowing position in the money market","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"userAddress":{"type":"string","description":"The wallet address to look up"},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"required":["userAddress"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_user_transactions","description":"Get intent/transaction history for a specific wallet address","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"userAddress":{"type":"string","description":"The wallet address to look up (e.g., '0x...')"},"limit":{"type":"number","minimum":1,"maximum":100,"default":20,"description":"Maximum number of transactions to return (1-100)"},"offset":{"type":"number","minimum":0,"default":0,"description":"Number of transactions to skip for pagination"},"fromBlock":{"type":"number","description":"Inclusive lower bound on blockNumber (chain-native ordering)"},"toBlock":{"type":"number","description":"Inclusive upper bound on blockNumber (chain-native ordering)"},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"required":["userAddress"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_volume","description":"Get solver volume data showing filled intents with filtering and pagination. Requires inputToken and outputToken. Optional filters: chain, solver, block range OR time range (don't mix both).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"inputToken":{"type":"string","description":"REQUIRED: Input token address"},"outputToken":{"type":"string","description":"REQUIRED: Output token address"},"chainId":{"type":"number","description":"Filter by chain ID (e.g., 146 for Sonic)"},"solver":{"type":"string","description":"Filter by solver address (0x0...0 for default solver)"},"fromBlock":{"type":"number","description":"Start block number (don't mix with since/until)"},"toBlock":{"type":"number","description":"End block number (don't mix with since/until)"},"since":{"type":"string","description":"Start time ISO format (don't mix with fromBlock/toBlock or fromTs/toTs)"},"until":{"type":"string","description":"End time ISO format (don't mix with fromBlock/toBlock or fromTs/toTs)"},"fromTs":{"type":"number","description":"Start timestamp (unix seconds). Don't mix with since/until or fromBlock/toBlock."},"toTs":{"type":"number","description":"End timestamp (unix seconds). Don't mix with since/until or fromBlock/toBlock."},"sort":{"type":"string","enum":["asc","desc"],"default":"desc","description":"Sort order by block number"},"limit":{"type":"number","minimum":1,"maximum":100,"default":50,"description":"Maximum number of filled intents to return (1-100)"},"includeData":{"type":"boolean","default":false,"description":"Include raw intent data in response"},"cursor":{"type":"string","description":"Pagination cursor from previous response's nextCursor"},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"required":["inputToken","outputToken"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_get_volume_stats","description":"Get aggregate solver volume stats: the approximate total number of filled-intent records (fill documents, not distinct intents). Cached ~60s upstream.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_refresh_cache","description":"Clear both the backend API cache and the solver oracle cache to force fresh fetches on next requests. Reports the number of entries cleared per cache.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_relay_get_packet","description":"Fetch a single relay packet by its connection serial number (conn_sn). Returns the packet data on success or a `{success:false, message}` shape if the packet isn't found.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"chainId":{"type":"string","description":"REQUIRED: Intent-relay chain ID of the source chain (decimal string)"},"txHash":{"type":"string","description":"REQUIRED: The source-chain transaction hash"},"connSn":{"type":"string","description":"REQUIRED: Connection serial number identifying the packet within the tx. Accepts string or number (numeric values are coerced — convenient for piping back a previously-fetched packet's `conn_sn` field)."},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"required":["chainId","txHash"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_relay_get_transaction_packets","description":"List every cross-chain packet emitted by a given source transaction. Use this to track relay status — a packet is complete when status='executed' and dst_tx_hash is populated.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"chainId":{"type":"string","description":"REQUIRED: Intent-relay chain ID of the source chain (decimal string, e.g. '146'). Call sodax_get_relay_chain_id_map to translate from a chain key."},"txHash":{"type":"string","description":"REQUIRED: The source-chain transaction hash whose packets you want to inspect"},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"required":["chainId","txHash"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sodax_relay_submit_tx","description":"Submit a confirmed spoke-chain transaction to the SODAX intent relay so it can be delivered to the destination chain. The tx must already be finalized on the source chain. Re-submitting the same tx is a no-op. For split-tx chains (Solana, Bitcoin) supply the optional `data` argument.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"chainId":{"type":"string","description":"REQUIRED: Intent-relay chain ID of the source chain (decimal string, e.g. '146' for Sonic, '2' for Ethereum). Call sodax_get_relay_chain_id_map to translate from a chain key."},"txHash":{"type":"string","description":"REQUIRED: The confirmed transaction hash on the source chain"},"data":{"type":"object","properties":{"address":{"type":"string","description":"Contract address for split-tx chains"},"payload":{"type":"string","description":"Hex payload for split-tx chains"}},"required":["address","payload"],"additionalProperties":false,"description":"Required only for split-tx chains (Solana, Bitcoin). Omit for EVM chains."},"format":{"type":"string","enum":["json","markdown"],"default":"markdown","description":"Response format: 'json' for raw data or 'markdown' for formatted text"}},"required":["chainId","txHash"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":79,"grade":"B","scanned_at":"2026-09-27T23:35:07.199Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-09-27T23:35:07.129Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":17,"max":20,"notes":["remote reachable in 4112ms"]},"poisoning":{"score":15,"max":15,"notes":["37 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 1 write-action tools with no auth"]},"maintenance":{"score":15,"max":15,"notes":["last push 5 days ago"]},"identity":{"score":9,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://builders.sodax.com/mcp","reachable":true,"authRequired":false,"latencyMs":4112,"serverInfo":{"name":"builders-sodax-mcp-server","version":"1.6.0"}}],"packages":[],"repo":{"found":true,"owner":"gosodax","repo":"builders-sodax-mcp-server","archived":false,"pushedAt":"2026-09-23T05:32:02Z","stars":9,"forks":2,"openIssues":7,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/207898235?v=4","ownerCreatedAt":"2025-04-16T16:07:06Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/207898235?v=4&s=128","source":"github"},"presence":{"stars":9,"forks":2,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-23T05:32:02.000Z","score":30}}}},"grade_history":[],"reviews":[]}