Skip to main content
Glama
polsolbridge/solana-swap-api

polsolbridge/solana-swap-api

by polsolbridge

SwapTitan Swap API β€” free, non-custodial, no API key

solana-swap-api MCP server

Swap on Solana and 7 EVM chains with one free REST API. Every endpoint returns an unsigned transaction β€” you sign with your own wallet. The server never holds funds, never sees keys. No registration, no API key, no KYC.

Base URL: https://swaptitan.net

Run as MCP server (stdio)

A self-contained MCP server β€” no dependencies, Node >= 18:

node mcp-server.js

18 tools (prices, quotes, Solana + EVM swaps, routing, priority fees, Hyperliquid, rug checks). The protocol layer runs locally; tool calls hit the free public API. Hosted alternative: https://swaptitan.net/mcp (streamable HTTP, no auth).

Related MCP server: maxia-mcp

Solana swap (Jupiter aggregator)

# Quote
curl "https://swaptitan.net/v1/sol/quote?from=sol&to=usdc&amount=0.1"

# Build unsigned swap transaction for YOUR wallet
curl -X POST https://swaptitan.net/v1/sol/swap \
  -H "Content-Type: application/json" \
  -d '{"from":"sol","to":"usdc","amount":0.1,"userPublicKey":"<YOUR_WALLET>"}'

Response contains swapTransaction (base64, unsigned) β€” deserialize, sign, send to any RPC:

import { VersionedTransaction, Connection } from '@solana/web3.js';
const { swapTransaction } = await (await fetch('https://swaptitan.net/v1/sol/swap', {
  method: 'POST', headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ from: 'sol', to: 'usdc', amount: 0.1, userPublicKey: wallet.publicKey.toString() })
})).json();
const tx = VersionedTransaction.deserialize(Buffer.from(swapTransaction, 'base64'));
tx.sign([wallet]);
await new Connection('https://api.mainnet-beta.solana.com').sendRawTransaction(tx.serialize());
  • from / to: sol, usdc, usdt or any base58 mint (memecoins, pump.fun tokens β€” anything Jupiter routes)

  • amount (human units for sol/usdc/usdt) or amountRaw (base units, any mint)

  • slippageBps: 1–1000, default 50

  • Pricing: free API β€” 0.3% routing fee + small flat network service fee inside the transaction (disclosed in the response as feeBps and serviceFeeLamports)

EVM swap β€” Ethereum, Base, BSC, Arbitrum, Polygon, Optimism, Avalanche (KyberSwap aggregator)

# Quote
curl "https://swaptitan.net/v1/evm/base/quote?tokenIn=native&tokenOut=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&amount=0.1"

# Build unsigned calldata
curl -X POST https://swaptitan.net/v1/evm/base/swap \
  -H "Content-Type: application/json" \
  -d '{"tokenIn":"native","tokenOut":"0x8335...2913","amount":0.1,"account":"<YOUR_0x_WALLET>"}'

Response: tx: { to, data, value } β€” sign and broadcast with your own wallet (ethers/viem/web3.js). ERC-20 input requires prior approval to tx.to. Pricing: free API, 0.3% routing fee in calldata.

Universal cross-chain router

One call compares all rails (cross-chain exchange bridge, direct H2H liquidity, Solana DEX) and returns the best route with ready-to-execute parameters β€” including hard pairs like eth -> xmr:

curl "https://swaptitan.net/v1/route?from=eth&to=xmr&amount=0.5"

Solana priority-fee oracle

Live compute-unit price tiers, refreshed continuously β€” call before sending any Solana transaction:

curl "https://swaptitan.net/v1/sol/priority-fee"
# -> { "recommended": { "low": ..., "medium": ..., "high": ..., "turbo": ... }, "computeUnitsHint": {...} }

Connect

Remote endpoint (no auth, free tier): https://swaptitan.net/mcp β€” JSON-RPC 2.0, streamable HTTP, 18 tools.

  • Claude (web & desktop): Settings β†’ Connectors β†’ Add custom connector β†’ paste https://swaptitan.net/mcp β†’ Connect.

  • Claude Desktop / Cursor / VS Code / Cline: add to your MCP config:

    { "mcpServers": { "swaptitan": { "url": "https://swaptitan.net/mcp" } } }
  • Local stdio (no hosted dependency): node mcp-server.js (see above).

  • Any SDK / agent: call tools/list then tools/call. Tools: sol_swap, evm_swap, smart_route, sol_priority_fee, swap_create, swap_status, get_prices, rug_check and more.

Discovery: /llms.txt Β· /.well-known/agent-skills/index.json Β· /.well-known/mcp/server-card.json

More

  • 1288+ asset cross-chain swaps: GET /v1/swap/quote?from=btc&to=eth&amount=1

  • Live prices: GET /v1/prices

  • XMR/Monero no-KYC swaps: GET /v1/xmr/quote?from=sol&amount=1&to=xmr

  • Docs: https://swaptitan.net/developers

Rate limits & fair use

Public endpoints are rate-limited per IP (20–60/min depending on endpoint). Fees are always disclosed in the API response. All transactions are non-custodial: nothing executes until you sign.

Available Tools

18 tools
ai_chatA
Read-only

Chat with SwapTitan AI agent for complex crypto tasks, multi-step swaps, and natural language queries.

Inputs: message (required), wallet.

check_portfolioB
Read-only

Check wallet balance on any chain. Returns native balance and USD value.

Inputs: address (required), chain.

create_walletA

Generate a new non-custodial crypto wallet. Returns address and private key. Chain: sol (Solana), eth/base/bsc (EVM).

Inputs: chain.

evm_swapA

Build a NON-CUSTODIAL EVM DEX swap via KyberSwap aggregator on eth/base/bsc/arbitrum/polygon/optimism/avax: returns UNSIGNED calldata {to,data,value} β€” sign with YOUR OWN wallet. Server never touches funds. 0.3% routing fee. ERC20 input needs prior approval.

Inputs: chain (required), account (required), tokenIn (required), tokenOut (required), +3 more.

get_assetsA
Read-only

List all 1288+ supported swap assets with ticker, network and name

Inputs: no named parameters.

get_pricesA
Read-only

Get real-time USD prices for BTC, SOL, ETH and XMR

Inputs: no named parameters.

hl_approveA

Get the one-time approveBuilderFee action to sign with your MAIN wallet, authorizing SwapTitan as Hyperliquid builder at a minimal 0.001% max fee. Revocable anytime.

Inputs: no named parameters.

hl_build_orderA

Build a ready Hyperliquid perpetual order action with SwapTitan builder code injected (minimal 0.001% fee). Non-custodial: returns the action + nonce to sign with your own wallet (EIP-712) and POST to https://api.hyperliquid.xyz/exchange. Call hl_approve first (once).

Inputs: sz (required), coin (required), isBuy (required), limitPx (required), +2 more.

hl_marketsA
Read-only

Hyperliquid perpetuals: list all 231 markets with live prices, max leverage and size decimals.

Inputs: no named parameters.

rug_checkA
Read-only

Check if a token contract is a rug pull / scam. Returns risk score and warning flags.

Inputs: token (required), chain.

set_price_alertB

Set a Telegram price alert for a crypto asset. Triggers when price goes above or below target.

Inputs: coin (required), target (required), tg_chat (required), direction (required).

smart_routeA
Read-only

Universal crypto router: compares ALL available rails (cross-chain exchange bridge, direct H2H liquidity, Solana DEX) in one call and returns the best route with ready-to-execute parameters. Use for hard or exotic pairs.

Inputs: to (required), from (required), amount (required).

sol_priority_feeA
Read-only

Live Solana priority-fee oracle: current microLamports/CU percentiles and recommended low/medium/high/turbo tiers. Call before sending any Solana transaction.

Inputs: no named parameters.

sol_swapA

Build a NON-CUSTODIAL Solana DEX swap via Jupiter: returns an UNSIGNED base64 transaction β€” sign with YOUR OWN wallet and send to any Solana RPC. Server never touches funds. 0.3% on-chain routing fee.

Inputs: to (required), from (required), userPublicKey (required), amount, +2 more.

sol_swap_quoteA
Read-only

Solana DEX quote via Jupiter aggregator. Any SPL token vs SOL/USDC. Free API.

Inputs: to (required), from (required), amount, amountRaw.

swap_createA

Create a non-custodial cross-chain swap order. 3 providers: changenow (1288+ assets, returns payinAddress), simpleswap (400+ assets, returns payinAddress), heleket (XMR-optimised 5-6 conf, returns redirectUrl to payment page). Omit provider for auto-select.

Inputs: to (required), from (required), amount (required), address (required), +4 more.

swap_quoteB
Read-only

Get estimated output and minimum deposit for a crypto swap pair

Inputs: to (required), from (required), amount (required).

swap_statusA
Read-only

Check status of a swap order. Poll every 20-30s. Lifecycle: waiting->confirming->exchanging->done. For heleket provider, status is checked via Heleket API.

Inputs: id (required), provider.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 18 tools

    Disambiguation5/5

    Each tool targets a distinct operation: wallet creation, portfolio check, swap building for Solana/EVM/cross-chain, quotes, status, alerts, rug checks, Hyperliquid perpetuals, and AI chat. No two tools have overlapping purposes; even related tools like sol_swap and sol_swap_quote are clearly separated by action (build vs. quote).

    Naming Consistency5/5

    All tool names follow a consistent snake_case pattern with descriptive verb_noun or noun_verb structure. Examples: check_portfolio, create_wallet, sol_swap, swap_create. The Hyperliquid tools use a consistent 'hl_' prefix. No mixing of camelCase or other conventions.

    Tool Count4/5

    18 tools is slightly above average but well-justified given the server's broad scope covering multiple blockchains (Solana, EVM, Hyperliquid), cross-chain swaps, alerts, rug checks, and AI chat. Each tool serves a distinct purpose, and the count is not overwhelming.

    Completeness4/5

    The tool surface covers core swap workflows (quotes, swaps, status) across Solana, EVM, and cross-chain, plus wallet creation, portfolio, alerts, rug checks, and Hyperliquid perpetuals. Minor gaps: no generic ERC20 approval tool (evm_swap expects prior approval), and no transaction history or alert management. Overall, it's well-scoped for a swap API.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      AI-to-AI marketplace MCP server with 46 tools β€” swap 65+ crypto tokens on 7 chains, rent GPUs, trade 25 tokenized stocks, on-chain escrow (Solana + Base), DeFi yields, sentiment analysis, wallet monitoring, and image generation. Supports USDC payments across 14 blockchains.
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      MCP server providing AI agents with native access to Jupiter's full DeFi stack on Solana. It offers 17 tools covering swaps, tokens, lending, limit orders, DCA, prediction markets, perpetuals, and portfolio management.
      16
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      Non-custodial Solana swap & limit order engine for AI agents. 21 tools - swap, limit, trailing, TWAP, DCA, combo orders - across Raydium, PumpSwap, Orca, Meteora. Jito MEV-protected execution. Ed25519-verified server messages. Private key never leaves the process.
      21
      259 npm
      3
      MIT