swaptitan
Non-custodial cross-chain crypto swap MCP — 1288+ assets, no KYC. Solana/EVM/Monero, RPC, oracle.
Should I use this
Quality & Safety
Findings (3)
- HIGH
- MEDIUMin evm_swap
- LOWin ai_chat
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"swaptitan": {
"url": "https://swaptitan.net/mcp"
}
}
}Remote endpoints
https://swaptitan.net/mcpstreamable-httpWhat it can do
Tool inventory
Tools (21)
🟢get_prices
Get real-time USD prices for BTC, SOL, ETH and XMR
Input Schema
{
"type": "object",
"properties": {},
"required": []
}🟢get_assets
List all 1288+ supported swap assets with ticker, network and name
Input Schema
{
"type": "object",
"properties": {},
"required": []
}🟢swap_quote(from, to, amount)
Get estimated output and minimum deposit for a crypto swap pair
Input Schema
{
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "Source asset ticker, e.g. btc, usdtsol"
},
"to": {
"type": "string",
"description": "Destination asset ticker"
},
"amount": {
"type": "number",
"description": "Input amount in source asset"
}
},
"required": [
"from",
"to",
"amount"
]
}🟢sol_swap_quote(from, to, amount, amountRaw)
Solana DEX quote via RiftBeam aggregator — automatically picks best price across Raydium CLMM, Orca Whirlpool and Jupiter. Returns source field. 10bps fee. Free.
Input Schema
{
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "sol, usdc or base58 mint"
},
"to": {
"type": "string",
"description": "sol, usdc or base58 mint"
},
"amount": {
"type": "number",
"description": "Human amount (sol/usdc only)"
},
"amountRaw": {
"type": "string",
"description": "Base units (any mint)"
}
},
"required": [
"from",
"to"
]
}⚪sol_swap(from, to, amount, amountRaw, userPublicKey, ...)
Build a NON-CUSTODIAL Solana DEX swap via RiftBeam aggregator (Orca + Raydium CLMM native IX, Jupiter fallback, 0.10% fee). Returns UNSIGNED base64 VersionedTransaction — sign with your wallet and send. Non-custodial.
Input Schema
{
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "sol, usdc or base58 mint"
},
"to": {
"type": "string",
"description": "sol, usdc or base58 mint"
},
"amount": {
"type": "number",
"description": "Human amount (sol/usdc only)"
},
"amountRaw": {
"type": "string",
"description": "Base units (any mint)"
},
"userPublicKey": {
"type": "string",
"description": "Your Solana wallet address (signs the tx)"
},
"slippageBps": {
"type": "number",
"description": "1-1000, default 50"
}
},
"required": [
"from",
"to",
"userPublicKey"
]
}🟢smart_route(from, to, amount)
Universal crypto router: compares ALL rails in one call — own Solana aggregator (RiftBeam/Titan), own EVM aggregator (7 chains), plus cross-chain no-KYC providers — ranks by best NET rate and returns best + Top-5 (results[]) with ready-to-execute params. Own rails win on same-chain (lowest fee, no middleman). Use for any swap incl. hard/exotic pairs.
Input Schema
{
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "Source ticker, e.g. btc, sol, usdc"
},
"to": {
"type": "string",
"description": "Destination ticker, e.g. xmr, eth"
},
"amount": {
"type": "number",
"description": "Amount in source asset"
}
},
"required": [
"from",
"to",
"amount"
]
}🟢sol_priority_fee
Live Solana priority-fee oracle: current microLamports/CU percentiles and recommended low/medium/high/turbo tiers. Call before sending any Solana transaction.
Input Schema
{
"type": "object",
"properties": {},
"required": []
}🟢hl_markets
Hyperliquid perpetuals: list all 231 markets with live prices, max leverage and size decimals.
Input Schema
{
"type": "object",
"properties": {},
"required": []
}🟡hl_build_order(coin, isBuy, sz, limitPx, reduceOnly, ...)
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).
Input Schema
{
"type": "object",
"properties": {
"coin": {
"type": "string",
"description": "Market, e.g. BTC, ETH, SOL"
},
"isBuy": {
"type": "boolean",
"description": "true=long/buy, false=short/sell"
},
"sz": {
"type": "string",
"description": "Order size in coin units"
},
"limitPx": {
"type": "string",
"description": "Limit price"
},
"reduceOnly": {
"type": "boolean",
"description": "Optional"
},
"tif": {
"type": "string",
"enum": [
"Gtc",
"Ioc",
"Alo"
],
"description": "Time-in-force, default Gtc"
}
},
"required": [
"coin",
"isBuy",
"sz",
"limitPx"
]
}🟢hl_approve
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.
Input Schema
{
"type": "object",
"properties": {},
"required": []
}⚪evm_swap(chain, tokenIn, tokenOut, amount, amountRaw, ...)
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.
Input Schema
{
"type": "object",
"properties": {
"chain": {
"type": "string",
"enum": [
"eth",
"base",
"bsc",
"arbitrum",
"polygon",
"optimism",
"avax"
],
"description": "EVM chain"
},
"tokenIn": {
"type": "string",
"description": "0x-address or native"
},
"tokenOut": {
"type": "string",
"description": "0x-address or native"
},
"amount": {
"type": "number",
"description": "Human amount (native only)"
},
"amountRaw": {
"type": "string",
"description": "Base units (any token)"
},
"account": {
"type": "string",
"description": "Your 0x wallet address"
},
"slippageBps": {
"type": "number",
"description": "10-2000, default 100"
}
},
"required": [
"chain",
"tokenIn",
"tokenOut",
"account"
]
}🟡swap_create(from, to, amount, address, refundAddress, ...)
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.
Input Schema
{
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "Source asset ticker (e.g. sol, btc, eth, usdt)"
},
"to": {
"type": "string",
"description": "Destination asset ticker (e.g. xmr, btc, sol)"
},
"amount": {
"type": "number",
"description": "Amount to send"
},
"address": {
"type": "string",
"description": "Destination address to receive swapped funds"
},
"refundAddress": {
"type": "string",
"description": "Optional refund address for failed swaps"
},
"provider": {
"type": "string",
"enum": [
"changenow",
"simpleswap",
"heleket"
],
"description": "changenow=1288+ assets; simpleswap=400+ assets; heleket=XMR-optimised payment page"
},
"fromNet": {
"type": "string",
"description": "Source network override (e.g. arbitrum, base, tron)"
},
"toNet": {
"type": "string",
"description": "Destination network override"
}
},
"required": [
"from",
"to",
"amount",
"address"
]
}🟢swap_status(id, provider)
Check status of a swap order. Poll every 20-30s. Lifecycle: waiting->confirming->exchanging->done. For heleket provider, status is checked via Heleket API.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Order ID from swap_create"
},
"provider": {
"type": "string",
"enum": [
"changenow",
"simpleswap",
"heleket"
],
"description": "Provider from swap_create response"
}
},
"required": [
"id"
]
}🟡create_wallet(chain)
Generate a new non-custodial crypto wallet. Returns address and private key. Chain: sol (Solana), eth/base/bsc (EVM).
Input Schema
{
"type": "object",
"properties": {
"chain": {
"type": "string",
"enum": [
"sol",
"eth",
"base",
"bsc"
],
"description": "Blockchain for the wallet",
"default": "sol"
}
},
"required": []
}🟢check_portfolio(address, chain)
Look up the native-coin balance of any wallet address on Solana, Ethereum, Base or BNB Smart Chain. Returns the native balance (SOL, ETH or BNB), its current USD value and the queried chain as JSON, e.g. {"chain":"sol","balance":1.2345,"usd":92.51}. Read-only: needs no signature, never moves funds. Useful before building a swap to verify the wallet can cover amount plus network fees.
Input Schema
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Wallet address to check. Base58 for Solana (e.g. 7uZqehZaRiANgaFkSDvB625TPF78EG6HkAuxanE8ZTjZ); 0x-prefixed hex for EVM chains (e.g. 0xb973a20768a2a771ed89a9e8d0a03dcbb7de6eb4)."
},
"chain": {
"type": "string",
"enum": [
"sol",
"eth",
"base",
"bsc"
],
"description": "Blockchain to query: sol = Solana (default), eth = Ethereum mainnet, base = Base, bsc = BNB Smart Chain.",
"default": "sol"
}
},
"required": [
"address"
]
}🟢rug_check(token, chain)
Check if a token contract is a rug pull / scam. Returns risk score and warning flags.
Input Schema
{
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "Token contract address"
},
"chain": {
"type": "string",
"enum": [
"sol",
"eth",
"base",
"bsc"
],
"description": "Chain of the token",
"default": "sol"
}
},
"required": [
"token"
]
}🟡set_price_alert(coin, target, direction, tg_chat)
Set a Telegram price alert for a crypto asset. Triggers when price goes above or below target.
Input Schema
{
"type": "object",
"properties": {
"coin": {
"type": "string",
"description": "Asset ticker: btc, sol, eth, xmr"
},
"target": {
"type": "number",
"description": "Target price in USD"
},
"direction": {
"type": "string",
"enum": [
"above",
"below"
],
"description": "Trigger when price is above or below target"
},
"tg_chat": {
"type": "string",
"description": "Telegram Chat ID to receive the alert"
}
},
"required": [
"coin",
"target",
"direction",
"tg_chat"
]
}🟢ai_chat(message, wallet)
Chat with SwapTitan AI agent for complex crypto tasks, multi-step swaps, and natural language queries.
Input Schema
{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "Natural language message"
},
"wallet": {
"type": "string",
"description": "Optional wallet address for context"
}
},
"required": [
"message"
]
}🟢pump_token_quote(mint, amountSol, slippageBps)
Get a native RiftBeam quote for any pump.fun AMM (pAMMBay6) token. Picks best price across 4000+ indexed pump pools (native pAMMBay6 IX or Jupiter fallback). Returns outAmount, source, priceImpact. SOL→token.
Input Schema
{
"type": "object",
"properties": {
"mint": {
"type": "string",
"description": "Pump.fun token mint address (base58)"
},
"amountSol": {
"type": "number",
"description": "SOL to spend (default 0.01)"
},
"slippageBps": {
"type": "number",
"description": "Max slippage 1-1000 bps, default 100"
}
},
"required": [
"mint"
]
}🟢get_new_tokens
Get recently detected pump.fun tokens indexed by RiftBeam via Helius webhook. Returns up to 200 mint addresses (newest first) that have been traded on pAMMBay6 (graduated pools). Use mint addresses as input for pump_token_quote.
Input Schema
{
"type": "object",
"properties": {},
"required": []
}🟢riftbeam_stats
Get live RiftBeam Solana aggregator stats: win rate vs Jupiter (last 24h), pools indexed, pump.fun mints, coverage %, lag slots, sampler performance. Use to assess routing quality before swapping.
Input Schema
{
"type": "object",
"properties": {},
"required": []
}Recommended Prompts
get_pricesget_pricesCommunity
Evidence