SODAX Builders MCP

io.github.gosodaxPublished by GitHub account gosodaxv1.1.0Updated Nov 9, 2026

Cross-network DeFi API data, AMM analytics, and SDK docs for 17+ networks.

VerifiedStreamable HTTPWeb executableFinanceKnowledge & MemoryDeveloper Tools

Overview

AI-generated overview

Remote MCP server exposing live SODAX cross-chain DeFi data — swaps, solver volume, intents, money market and AMM — plus auto-synced SDK docs.

What you can do
  • List supported chains, swap tokens, hub assets and full protocol configuration
  • Look up transactions, intents, wallet intent history, solver volume, orderbook and solver quotes or oracle prices
  • Track cross-chain relay packets and submit a finalized source transaction to the intent relay
  • Query money market assets, rates, user positions, borrowers and suppliers
  • Read AMM liquidity positions and pool OHLCV candles, plus partner and SODA token supply data
  • Search and read the cross-chain SDK documentation through proxied docs tools
When to use it
Useful when building or debugging cross-chain DeFi integrations with the SODAX SDK and you want live protocol data and documentation inside an AI coding assistant, or when you need to inspect intents, solver volume, lending rates or relay status without leaving the editor.
Requirements
A remote MCP endpoint; no package install or API key is declared. Add the server URL to the client configuration, or the legacy SSE endpoint for clients without streamable HTTP support. Network access to the SODAX backend, solver, relay and docs services is required.
Before you install
The relay submit tool sends a confirmed source-chain transaction to the intent relay for cross-chain delivery, so it acts on real on-chain activity. Queries include wallet addresses and transaction hashes, which are sent to SODAX and relay services. The refresh cache tool clears backend and solver caches. Data is read from third-party services and cached for about two minutes.

Installation

In SourceWeft

  1. Open SODAX Builders MCP in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.gosodax%2Fbuilders-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "sodax-builders": {
      "type": "http",
      "url": "https://builders.sodax.com/mcp"
    }
  }
}

README

SODAX Builders MCP Server

Install from your preferred MCP directory

[Glama]   [MCP Registry]   [mcp.so]

SODAX MCP server for AI coding assistants. Access live cross-network (cross-chain) API data: swap tokens across 20+ networks, query money market rates, look up solver volume, and search intent history. Includes full cross-chain SDK documentation that auto-syncs from SODAX developer docs. Build cross-network DeFi integrations with real-time protocol data directly in your development workflow.

One-liner: SODAX MCP server: live cross-network DeFi API data and auto-updating SDK docs for 20+ networks. Query swaps, lending, solver volume, and intent history from your AI coding assistant.

Quick Start

Add the MCP server URL to your AI coding assistant's configuration:

json
{  "mcpServers": {    "sodax-builders": {      "url": "https://builders.sodax.com/mcp"    }  }}

Works with Claude, Cursor, VS Code, Windsurf, ChatGPT, and other MCP-compatible agents. One connection gives you access to all cross-network API tools and SDK documentation.

SSE Transport (Legacy)

For clients that don't support streamable HTTP (e.g. Gemini CLI), use the SSE endpoint instead:

json
{  "mcpServers": {    "sodax-builders": {      "url": "https://builders.sodax.com/sse"    }  }}

Tools

Network Configuration (9 tools)

ToolDescription
sodax_get_supported_chainsList all blockchain networks supported by SODAX for cross-chain swaps
sodax_check_chain_supportCheck whether SODAX supports a chain by name, ticker, or key (e.g. "Hedera", "HBAR")
sodax_get_swap_tokensGet available tokens for cross-network swapping, optionally filtered by chain
sodax_get_all_configGet full SODAX configuration (chains + tokens) in one call
sodax_get_all_chains_configsDetailed spoke chain configs with contract addresses and RPCs
sodax_get_relay_chain_id_mapChain ID to intent relay chain ID mapping
sodax_get_hub_assetsHub (Sonic) assets representing spoke tokens
sodax_get_money_market_tokensMoney market supported tokens by chain
sodax_get_money_market_reserve_assetsMoney market reserve assets

Intents & Solver (9 tools)

ToolDescription
sodax_get_transactionLook up an intent transaction by hash — status, amounts, and details
sodax_get_intentLook up a specific intent by its intent hash
sodax_get_user_transactionsGet intent/transaction history for a specific wallet address
sodax_get_volumeGet solver volume data (filled intents) with filtering and pagination
sodax_get_volume_statsGet aggregated solver volume statistics
sodax_get_orderbookGet current cross-chain orderbook entries from solver
sodax_get_solver_intentGet solver-side intent details and fill history
sodax_get_solver_oracleGet the solver's oracle prices for every supported (chain, token) pair
sodax_get_solver_quoteGet a swap quote from the solver (exact_input or exact_output)

Intent Relay (3 tools)

ToolDescription
sodax_relay_submit_txSubmit a confirmed spoke-chain tx to the intent relay for cross-chain delivery
sodax_relay_get_transaction_packetsList every cross-chain packet emitted by a source tx
sodax_relay_get_packetFetch a single relay packet by connection serial number

AMM & Liquidity (2 tools)

ToolDescription
sodax_get_amm_positionsGet AMM liquidity provider NFT positions by owner
sodax_get_amm_pool_candlesGet OHLCV candlestick chart data for an AMM pool

Money Market (6 tools)

ToolDescription
sodax_get_money_market_assetsList all lending/borrowing assets and rates
sodax_get_money_market_assetGet detailed info for a specific asset by reserve address
sodax_get_user_positionGet a user's money market position (supply, borrow, health)
sodax_get_asset_borrowersGet borrowers for a specific money market asset
sodax_get_asset_suppliersGet suppliers (lenders) for a specific money market asset
sodax_get_all_borrowersGet all borrowers across all money market assets

Partners & Token (6 tools)

ToolDescription
sodax_get_partnersList SODAX integration partners across networks
sodax_get_partner_summaryGet volume and activity summary for a specific partner
sodax_get_token_supplyGet SODA token supply info (total, circulating, burned)
sodax_get_total_supplyGet SODA total supply as a plain number
sodax_get_circulating_supplyGet SODA circulating supply as a plain number
sodax_refresh_cacheClear cached data to get fresh results

Cross-Chain SDK Documentation (dynamic)

Tools prefixed with docs_ are automatically proxied from the SODAX docs MCP at docs.sodax.com. They update automatically when documentation changes — no manual sync needed.

ToolDescription
docs_search_sodax_docsSearch cross-chain SDK docs, integration guides, and code examples
docs_query_docs_filesystem_sodax_docsRead a full documentation page from the docs filesystem
docs_list_toolsList all available documentation tools
docs_healthCheck SDK docs MCP connection status
docs_refreshRefresh the tools list from the docs MCP

Example Prompts

Once connected, try asking your AI coding assistant:

Cross-Network Swaps & Tokens

  • "What networks does SODAX support for cross-chain swaps?"
  • "Get available swap tokens across chains on Base"
  • "How do I integrate cross-chain swaps with the SODAX SDK?"

Solver Volume & Intent History

  • "Show me cross-network solver volume for today"
  • "Look up this intent transaction: 0x..."
  • "Get intent history for this wallet address"
  • "Quote me 100 USDC into SODA on Sonic"
  • "What's the current oracle price the solver has for bnUSD on Avalanche?"

Cross-Chain Relay

  • "Track the relay packets for this source tx: 0x..."
  • "Has packet conn_sn=42 from this tx been executed yet?"

Money Market & Lending

  • "What are the lending rates on SODAX money market?"
  • "Show me borrowing APY rates across assets"
  • "Get my money market position"

SDK Documentation

  • "How do I integrate with the SODAX cross-chain SDK?"
  • "Show me code examples for cross-network token swaps"
  • "What SDK methods are available for intent-based execution?"

Data Sources

SourceTypeCache
SODAX Backend API (api.sodax.com/v1/be)Live cross-network data2 min
SODAX Solver API (api.sodax.com/v1/intent)Oracle prices + swap quotes2 min (oracle); none (quote)
SODAX Intent Relay (xcall-relay.nw.iconblockchain.xyz)Cross-chain packet trackingnone
AggregatorCross-chain swap token data2 min
SODAX Docs MCP (docs.sodax.com)SDK documentationAuto-sync

Local Development

bash
# Install dependenciespnpm install
# Run in development modepnpm dev
# Build for productionpnpm build
# Start production serverpnpm start
# Run the test suite (unit tests for drift-check logic)pnpm test

CI & Local Checks

Every PR into development/master runs .github/workflows/ci.yml, which executes the same four checks you can run locally:

CommandWhat it does
pnpm checkTsType-checks the project with tsc --noEmit (no build output).
pnpm lintRuns Biome (biome check .) over the repo. Add :fix to auto-apply safe fixes.
pnpm buildCompiles TypeScript and copies src/public into dist/.
pnpm testRuns the Vitest suite (currently covers the drift-check logic in src/services/apiDriftCheck.ts).

Git hooks (husky + commitlint + lint-staged)

pnpm install installs the hooks automatically via the prepare script:

  • pre-commit — runs pnpm checkTs, pnpm test, then lint-staged (which runs biome check --write on staged files, applying both formatting and safe lint fixes).
  • commit-msg — runs commitlint against the Conventional Commits spec. Messages like feat: add X pass; bad message is rejected.

To skip the hooks in a one-off emergency:

bash
HUSKY=0 git commit -m "your message"

Don't make a habit of it — CI will still enforce the same checks on the PR.

Environment Variables

The server auto-loads a .env file on startup (via Node's --env-file-if-exists flag — requires Node ≥ 22.9.0). Copy .env.example to .env for local development; if no .env exists, every variable falls back to the default below. In production, Coolify injects these directly into the process environment.

VariableDefaultDescription
PORT3000Server port
TRANSPORThttpTransport mode (http or stdio)
NODE_ENV-Set to production for deployment
LOG_LEVELinfoLog verbosity. One of trace, debug, info, warn, error, fatal.
DISCORD_WEBHOOK_URL-Discord webhook for runtime alerts: server status (start/stop), significant errors (uncaught/unhandled), and API-drift summaries. Empty/unset = silent (staging/local).

Deployment

Environments

The server is deployed via Coolify with a branch-based promotion flow:

Promotion flow:

  1. Feature branches → PR into development → auto-deploys to staging on merge.
  2. development → PR into master → auto-deploys to production on merge.

Hotfixes can branch off master and PR directly into master, then be merged back into development.

Docker

bash
docker build -t builders-sodax-mcp-server .docker run -p 3000:3000 builders-sodax-mcp-server

Docker Compose

bash
docker-compose up -d

Deployment notes

The included nixpacks.toml handles deployment automatically. Set these environment variables:

  • PORT=3000
  • NODE_ENV=production

API Endpoints

EndpointDescription
GET /Landing page
GET /apiServer info and tool list
GET /healthHealth check
POST /mcpMCP endpoint (streamable HTTP)
GET /sseSSE endpoint (legacy transport)
POST /messagesSSE message endpoint

Related

License

MIT

Source: README.md at commit a26ffc8

Tools

37

sodax_get_supported_chains

List all blockchain networks supported by SODAX for cross-chain swaps and DeFi operations

Parametersformat

sodax_get_swap_tokens

Get available tokens for swapping on SODAX, optionally filtered by chain

ParametersformatchainId

sodax_get_transaction

Look up a specific transaction by its hash to see status, amounts, and details

ParametersformattxHashrequired

sodax_get_user_transactions

Get intent/transaction history for a specific wallet address

ParameterslimitformatoffsettoBlockfromBlockuserAddressrequired

sodax_get_volume

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).

ParameterssorttoTslimitsinceuntilcursorformatfromTssolverchainIdtoBlockfromBlock+3 more

sodax_get_volume_stats

Get aggregate solver volume stats: the approximate total number of filled-intent records (fill documents, not distinct intents). Cached ~60s upstream.

Parametersformat

sodax_get_orderbook

Get current orderbook entries showing pending/open intents

ParameterslimitformatoffsetcreatordstChainsrcChaininputTokenoutputTokendeadlineAfterdeadlineBeforeexcludeZeroDeadline

sodax_get_money_market_assets

List all assets available for lending and borrowing in the SODAX money market

ParametersformatchainId

sodax_get_user_position

Get a user's lending and borrowing position in the money market

ParametersformatuserAddressrequired

sodax_get_partners

List all SODAX integration partners including wallets, DEXs, and other protocols

ParametersformatchainId

sodax_get_token_supply

Get SODA token supply information including total, circulating, and burned amounts

Parametersformat

sodax_get_all_config

Get full SODAX configuration including all supported chains, swap tokens, and protocol settings in one call

Parametersformat

sodax_get_relay_chain_id_map

Get mapping between chain IDs and intent relay chain IDs used by the SODAX relay network

Parametersformat

sodax_get_all_chains_configs

Get detailed configuration for all spoke chains including contract addresses, RPCs, and token configs

Parametersformat

sodax_get_hub_assets

Get assets representing spoke tokens on the hub (Sonic) chain, optionally filtered by source chain

ParametersformatchainId

sodax_get_money_market_tokens

Get tokens supported for money market lending/borrowing, optionally filtered by chain

ParametersformatchainId

sodax_get_money_market_reserve_assets

Get money market reserve assets used as collateral backing

Parametersformat

sodax_get_amm_positions

Get AMM liquidity provider NFT positions, optionally filtered by owner address

Parameterslimitownerformatoffset

sodax_get_amm_pool_candles

Get OHLCV candlestick chart data for an AMM pool

ParameterstorequiredfromrequiredformatpoolIdrequiredchainIdrequiredintervalrequired

sodax_get_intent

Look up a specific intent by its intent hash (different from transaction hash)

ParametersformatintentHashrequired

sodax_get_solver_intent

Get solver-side details for an intent including fill history. Use includeAll to see all solver documents.

ParametersformatincludeAllintentHashrequired

sodax_get_money_market_asset

Get detailed information for a specific money market asset by its reserve address

ParametersformatreserveAddressrequired

sodax_get_asset_borrowers

Get borrowers for a specific money market asset by its reserve address

ParameterslimitformatoffsetreserveAddressrequired

sodax_get_asset_suppliers

Get suppliers (lenders) for a specific money market asset by its reserve address

ParameterslimitformatoffsetreserveAddressrequired

sodax_get_all_borrowers

Get all borrowers across all money market assets with pagination

Parameterslimitformatoffset

sodax_get_partner_summary

Get volume and activity summary for a specific integration partner by their receiver address

ParametersformatchainIdreceiverrequired

sodax_get_total_supply

Get SODA token total supply as a plain number

Parametersformat

sodax_get_circulating_supply

Get SODA token circulating supply as a plain number

Parametersformat

sodax_refresh_cache

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.

Takes no parameters.

sodax_get_solver_oracle

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.

ParametersformatsymbolchainId

sodax_get_solver_quote

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.

ParametersamountrequiredformattokenDstrequiredtokenSrcrequiredquoteType

sodax_relay_submit_tx

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.

ParametersdataformattxHashrequiredchainIdrequired

sodax_relay_get_transaction_packets

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.

ParametersformattxHashrequiredchainIdrequired

sodax_relay_get_packet

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.

ParametersconnSnformattxHashrequiredchainIdrequired

docs_health

Check SDK documentation availability. Call this first if docs tools seem unavailable.

Takes no parameters.

docs_refresh

Reconnect to SDK documentation and refresh available tools. Use if docs seem stale or unavailable.

Takes no parameters.

docs_list_tools

List all SDK documentation tools with parameters. Essential for discovering what's available.

Takes no parameters.

Version history

1
  1. v1.1.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts