Server definition
- Hash
- sha256:3a7ea452f39dceeafe775a76bb85e43892a2b32726a60adf025f2adb897d619d
- What it is
- What a remote MCP server returned when asked what it offers: 37 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "Check SDK documentation availability. Call this first if docs tools seem unavailable.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "docs_health",
"outputSchema": null
},
{
"description": "List all SDK documentation tools with parameters. Essential for discovering what's available.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "docs_list_tools",
"outputSchema": null
},
{
"description": "Reconnect to SDK documentation and refresh available tools. Use if docs seem stale or unavailable.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "docs_refresh",
"outputSchema": null
},
{
"description": "Get all borrowers across all money market assets with pagination",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
},
"limit": {
"default": 20,
"description": "Maximum number of borrowers to return (1-100)",
"maximum": 100,
"minimum": 1,
"type": "number"
},
"offset": {
"default": 0,
"description": "Number of borrowers to skip for pagination",
"minimum": 0,
"type": "number"
}
},
"type": "object"
},
"name": "sodax_get_all_borrowers",
"outputSchema": null
},
{
"description": "Get detailed configuration for all spoke chains including contract addresses, RPCs, and token configs",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
}
},
"type": "object"
},
"name": "sodax_get_all_chains_configs",
"outputSchema": null
},
{
"description": "Get full SODAX configuration including all supported chains, swap tokens, and protocol settings in one call",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
}
},
"type": "object"
},
"name": "sodax_get_all_config",
"outputSchema": null
},
{
"description": "Get OHLCV candlestick chart data for an AMM pool",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"chainId": {
"description": "Chain ID where the pool is deployed (e.g., 'sonic')",
"type": "string"
},
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
},
"from": {
"description": "REQUIRED: Start timestamp (unix seconds)",
"type": "number"
},
"interval": {
"description": "REQUIRED: Candle interval",
"enum": [
"1m",
"5m",
"15m",
"1h",
"4h",
"1d"
],
"type": "string"
},
"poolId": {
"description": "The pool contract address or ID",
"type": "string"
},
"to": {
"description": "REQUIRED: End timestamp (unix seconds)",
"type": "number"
}
},
"required": [
"chainId",
"poolId",
"interval",
"from",
"to"
],
"type": "object"
},
"name": "sodax_get_amm_pool_candles",
"outputSchema": null
},
{
"description": "Get AMM liquidity provider NFT positions, optionally filtered by owner address",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
},
"limit": {
"description": "Maximum number of positions to return",
"maximum": 100,
"minimum": 1,
"type": "number"
},
"offset": {
"description": "Number of positions to skip for pagination",
"minimum": 0,
"type": "number"
},
"owner": {
"description": "Filter by owner wallet address",
"type": "string"
}
},
"type": "object"
},
"name": "sodax_get_amm_positions",
"outputSchema": null
},
{
"description": "Get borrowers for a specific money market asset by its reserve address",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
},
"limit": {
"default": 20,
"description": "Maximum number of borrowers to return (1-100)",
"maximum": 100,
"minimum": 1,
"type": "number"
},
"offset": {
"default": 0,
"description": "Number of borrowers to skip for pagination",
"minimum": 0,
"type": "number"
},
"reserveAddress": {
"description": "The reserve contract address of the asset",
"type": "string"
}
},
"required": [
"reserveAddress"
],
"type": "object"
},
"name": "sodax_get_asset_borrowers",
"outputSchema": null
},
{
"description": "Get suppliers (lenders) for a specific money market asset by its reserve address",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
},
"limit": {
"default": 20,
"description": "Maximum number of suppliers to return (1-100)",
"maximum": 100,
"minimum": 1,
"type": "number"
},
"offset": {
"default": 0,
"description": "Number of suppliers to skip for pagination",
"minimum": 0,
"type": "number"
},
"reserveAddress": {
"description": "The reserve contract address of the asset",
"type": "string"
}
},
"required": [
"reserveAddress"
],
"type": "object"
},
"name": "sodax_get_asset_suppliers",
"outputSchema": null
},
{
"description": "Get SODA token circulating supply as a plain number",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
}
},
"type": "object"
},
"name": "sodax_get_circulating_supply",
"outputSchema": null
},
{
"description": "Get assets representing spoke tokens on the hub (Sonic) chain, optionally filtered by source chain",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"chainId": {
"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.",
"type": "string"
},
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
}
},
"type": "object"
},
"name": "sodax_get_hub_assets",
"outputSchema": null
},
{
"description": "Look up a specific intent by its intent hash (different from transaction hash)",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
},
"intentHash": {
"description": "The intent hash to look up (66 character hex string starting with 0x)",
"type": "string"
}
},
"required": [
"intentHash"
],
"type": "object"
},
"name": "sodax_get_intent",
"outputSchema": null
},
{
"description": "Get detailed information for a specific money market asset by its reserve address",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
},
"reserveAddress": {
"description": "The reserve contract address of the asset",
"type": "string"
}
},
"required": [
"reserveAddress"
],
"type": "object"
},
"name": "sodax_get_money_market_asset",
"outputSchema": null
},
{
"description": "List all assets available for lending and borrowing in the SODAX money market",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"chainId": {
"description": "Filter by chain ID",
"type": "string"
},
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
}
},
"type": "object"
},
"name": "sodax_get_money_market_assets",
"outputSchema": null
},
{
"description": "Get money market reserve assets used as collateral backing",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
}
},
"type": "object"
},
"name": "sodax_get_money_market_reserve_assets",
"outputSchema": null
},
{
"description": "Get tokens supported for money market lending/borrowing, optionally filtered by chain",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"chainId": {
"description": "Filter by chain ID",
"type": "string"
},
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
}
},
"type": "object"
},
"name": "sodax_get_money_market_tokens",
"outputSchema": null
},
{
"description": "Get current orderbook entries showing pending/open intents",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"creator": {
"description": "Filter by creator address",
"type": "string"
},
"deadlineAfter": {
"description": "Only return intents with deadline > value (Unix seconds)",
"type": "number"
},
"deadlineBefore": {
"description": "Only return intents with deadline < value (Unix seconds)",
"type": "number"
},
"dstChain": {
"description": "Filter by destination chain id",
"type": "number"
},
"excludeZeroDeadline": {
"description": "Exclude intents where deadline = 0",
"type": "boolean"
},
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
},
"inputToken": {
"description": "Filter by input token address",
"type": "string"
},
"limit": {
"description": "Max results (default server-side, cap 500)",
"maximum": 500,
"minimum": 1,
"type": "number"
},
"offset": {
"description": "Offset for simple pagination",
"minimum": 0,
"type": "number"
},
"outputToken": {
"description": "Filter by output token address",
"type": "string"
},
"srcChain": {
"description": "Filter by source chain id",
"type": "number"
}
},
"type": "object"
},
"name": "sodax_get_orderbook",
"outputSchema": null
},
{
"description": "Get volume and activity summary for a specific integration partner by their receiver address",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"chainId": {
"description": "Filter by chain ID",
"type": "string"
},
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
},
"receiver": {
"description": "The partner receiver address",
"type": "string"
}
},
"required": [
"receiver"
],
"type": "object"
},
"name": "sodax_get_partner_summary",
"outputSchema": null
},
{
"description": "List all SODAX integration partners including wallets, DEXs, and other protocols",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"chainId": {
"description": "Filter partners by numeric chain ID (e.g. 146 for Sonic)",
"type": "integer"
},
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
}
},
"type": "object"
},
"name": "sodax_get_partners",
"outputSchema": null
},
{
"description": "Get mapping between chain IDs and intent relay chain IDs used by the SODAX relay network",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
}
},
"type": "object"
},
"name": "sodax_get_relay_chain_id_map",
"outputSchema": null
},
{
"description": "Get solver-side details for an intent including fill history. Use includeAll to see all solver documents.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
},
"includeAll": {
"default": false,
"description": "Include all intent documents (history) instead of just the latest",
"type": "boolean"
},
"intentHash": {
"description": "The intent hash to look up",
"type": "string"
}
},
"required": [
"intentHash"
],
"type": "object"
},
"name": "sodax_get_solver_intent",
"outputSchema": null
},
{
"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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"chainId": {
"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.",
"type": "string"
},
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
},
"symbol": {
"description": "Filter by token symbol (case-insensitive exact match, e.g. 'SODA', 'bnUSD')",
"type": "string"
}
},
"type": "object"
},
"name": "sodax_get_solver_oracle",
"outputSchema": null
},
{
"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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"amount": {
"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.",
"type": "string"
},
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
},
"quoteType": {
"default": "exact_input",
"description": "'exact_input' (default): given input amount, quote output amount. 'exact_output': given output amount, quote input amount required.",
"enum": [
"exact_input",
"exact_output"
],
"type": "string"
},
"tokenDst": {
"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.",
"type": "string"
},
"tokenSrc": {
"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.",
"type": "string"
}
},
"required": [
"tokenSrc",
"tokenDst",
"amount"
],
"type": "object"
},
"name": "sodax_get_solver_quote",
"outputSchema": null
},
{
"description": "List all blockchain networks supported by SODAX for cross-chain swaps and DeFi operations",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
}
},
"type": "object"
},
"name": "sodax_get_supported_chains",
"outputSchema": null
},
{
"description": "Get available tokens for swapping on SODAX, optionally filtered by chain",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"chainId": {
"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.",
"type": "string"
},
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
}
},
"type": "object"
},
"name": "sodax_get_swap_tokens",
"outputSchema": null
},
{
"description": "Get SODA token supply information including total, circulating, and burned amounts",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
}
},
"type": "object"
},
"name": "sodax_get_token_supply",
"outputSchema": null
},
{
"description": "Get SODA token total supply as a plain number",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
}
},
"type": "object"
},
"name": "sodax_get_total_supply",
"outputSchema": null
},
{
"description": "Look up a specific transaction by its hash to see status, amounts, and details",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
},
"txHash": {
"description": "The transaction hash to look up (e.g., '0x...')",
"type": "string"
}
},
"required": [
"txHash"
],
"type": "object"
},
"name": "sodax_get_transaction",
"outputSchema": null
},
{
"description": "Get a user's lending and borrowing position in the money market",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
},
"userAddress": {
"description": "The wallet address to look up",
"type": "string"
}
},
"required": [
"userAddress"
],
"type": "object"
},
"name": "sodax_get_user_position",
"outputSchema": null
},
{
"description": "Get intent/transaction history for a specific wallet address",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
},
"fromBlock": {
"description": "Inclusive lower bound on blockNumber (chain-native ordering)",
"type": "number"
},
"limit": {
"default": 20,
"description": "Maximum number of transactions to return (1-100)",
"maximum": 100,
"minimum": 1,
"type": "number"
},
"offset": {
"default": 0,
"description": "Number of transactions to skip for pagination",
"minimum": 0,
"type": "number"
},
"toBlock": {
"description": "Inclusive upper bound on blockNumber (chain-native ordering)",
"type": "number"
},
"userAddress": {
"description": "The wallet address to look up (e.g., '0x...')",
"type": "string"
}
},
"required": [
"userAddress"
],
"type": "object"
},
"name": "sodax_get_user_transactions",
"outputSchema": null
},
{
"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).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"chainId": {
"description": "Filter by chain ID (e.g., 146 for Sonic)",
"type": "number"
},
"cursor": {
"description": "Pagination cursor from previous response's nextCursor",
"type": "string"
},
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
},
"fromBlock": {
"description": "Start block number (don't mix with since/until)",
"type": "number"
},
"fromTs": {
"description": "Start timestamp (unix seconds). Don't mix with since/until or fromBlock/toBlock.",
"type": "number"
},
"includeData": {
"default": false,
"description": "Include raw intent data in response",
"type": "boolean"
},
"inputToken": {
"description": "REQUIRED: Input token address",
"type": "string"
},
"limit": {
"default": 50,
"description": "Maximum number of filled intents to return (1-100)",
"maximum": 100,
"minimum": 1,
"type": "number"
},
"outputToken": {
"description": "REQUIRED: Output token address",
"type": "string"
},
"since": {
"description": "Start time ISO format (don't mix with fromBlock/toBlock or fromTs/toTs)",
"type": "string"
},
"solver": {
"description": "Filter by solver address (0x0...0 for default solver)",
"type": "string"
},
"sort": {
"default": "desc",
"description": "Sort order by block number",
"enum": [
"asc",
"desc"
],
"type": "string"
},
"toBlock": {
"description": "End block number (don't mix with since/until)",
"type": "number"
},
"toTs": {
"description": "End timestamp (unix seconds). Don't mix with since/until or fromBlock/toBlock.",
"type": "number"
},
"until": {
"description": "End time ISO format (don't mix with fromBlock/toBlock or fromTs/toTs)",
"type": "string"
}
},
"required": [
"inputToken",
"outputToken"
],
"type": "object"
},
"name": "sodax_get_volume",
"outputSchema": null
},
{
"description": "Get aggregate solver volume stats: the approximate total number of filled-intent records (fill documents, not distinct intents). Cached ~60s upstream.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
}
},
"type": "object"
},
"name": "sodax_get_volume_stats",
"outputSchema": null
},
{
"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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "sodax_refresh_cache",
"outputSchema": null
},
{
"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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"chainId": {
"description": "REQUIRED: Intent-relay chain ID of the source chain (decimal string)",
"type": "string"
},
"connSn": {
"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).",
"type": "string"
},
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
},
"txHash": {
"description": "REQUIRED: The source-chain transaction hash",
"type": "string"
}
},
"required": [
"chainId",
"txHash"
],
"type": "object"
},
"name": "sodax_relay_get_packet",
"outputSchema": null
},
{
"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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"chainId": {
"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.",
"type": "string"
},
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
},
"txHash": {
"description": "REQUIRED: The source-chain transaction hash whose packets you want to inspect",
"type": "string"
}
},
"required": [
"chainId",
"txHash"
],
"type": "object"
},
"name": "sodax_relay_get_transaction_packets",
"outputSchema": null
},
{
"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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"chainId": {
"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.",
"type": "string"
},
"data": {
"additionalProperties": false,
"description": "Required only for split-tx chains (Solana, Bitcoin). Omit for EVM chains.",
"properties": {
"address": {
"description": "Contract address for split-tx chains",
"type": "string"
},
"payload": {
"description": "Hex payload for split-tx chains",
"type": "string"
}
},
"required": [
"address",
"payload"
],
"type": "object"
},
"format": {
"default": "markdown",
"description": "Response format: 'json' for raw data or 'markdown' for formatted text",
"enum": [
"json",
"markdown"
],
"type": "string"
},
"txHash": {
"description": "REQUIRED: The confirmed transaction hash on the source chain",
"type": "string"
}
},
"required": [
"chainId",
"txHash"
],
"type": "object"
},
"name": "sodax_relay_submit_tx",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:3a7ea452f39dceeafe775a76bb85e43892a2b32726a60adf025f2adb897d619d | sha256sum