Non-custodial cross-chain crypto swap MCP — 1288+ assets, no KYC. Solana/EVM/Monero, RPC, oracle.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Chat with SwapTitan AI agent for complex crypto tasks, multi-step swaps, and natural language queries.
Natural language message
Optional wallet address for context
Chat with SwapTitan AI agent for complex crypto tasks, multi-step swaps, and natural language queries.
| Argument | Type | Description |
|---|---|---|
| wallet | string | Optional wallet address for context |
| message* | string | Natural language message |
{
"type": "object",
"required": [
"message"
],
"properties": {
"wallet": {
"type": "string",
"description": "Optional wallet address for context"
},
"message": {
"type": "string",
"description": "Natural language message"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| chain | string | Blockchain to query: sol = Solana (default), eth = Ethereum mainnet, base = Base, bsc = BNB Smart Chain. |
| address* | string | Wallet address to check. Base58 for Solana (e.g. 7uZqehZaRiANgaFkSDvB625TPF78EG6HkAuxanE8ZTjZ); 0x-prefixed hex for EVM chains (e.g. 0xb973a20768a2a771ed89a9e8d0a03dcbb7de6eb4). |
{
"type": "object",
"required": [
"address"
],
"properties": {
"chain": {
"enum": [
"sol",
"eth",
"base",
"bsc"
],
"type": "string",
"default": "sol",
"description": "Blockchain to query: sol = Solana (default), eth = Ethereum mainnet, base = Base, bsc = BNB Smart Chain."
},
"address": {
"type": "string",
"description": "Wallet address to check. Base58 for Solana (e.g. 7uZqehZaRiANgaFkSDvB625TPF78EG6HkAuxanE8ZTjZ); 0x-prefixed hex for EVM chains (e.g. 0xb973a20768a2a771ed89a9e8d0a03dcbb7de6eb4)."
}
}
}Generate a new non-custodial crypto wallet. Returns address and private key. Chain: sol (Solana), eth/base/bsc (EVM).
| Argument | Type | Description |
|---|---|---|
| chain | string | Blockchain for the wallet |
{
"type": "object",
"required": [],
"properties": {
"chain": {
"enum": [
"sol",
"eth",
"base",
"bsc"
],
"type": "string",
"default": "sol",
"description": "Blockchain for the wallet"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| chain* | string | EVM chain |
| amount | number | Human amount (native only) |
| account* | string | Your 0x wallet address |
| tokenIn* | string | 0x-address or native |
| tokenOut* | string | 0x-address or native |
| amountRaw | string | Base units (any token) |
| slippageBps | number | 10-2000, default 100 |
{
"type": "object",
"required": [
"chain",
"tokenIn",
"tokenOut",
"account"
],
"properties": {
"chain": {
"enum": [
"eth",
"base",
"bsc",
"arbitrum",
"polygon",
"optimism",
"avax"
],
"type": "string",
"description": "EVM chain"
},
"amount": {
"type": "number",
"description": "Human amount (native only)"
},
"account": {
"type": "string",
"description": "Your 0x wallet address"
},
"tokenIn": {
"type": "string",
"description": "0x-address or native"
},
"tokenOut": {
"type": "string",
"description": "0x-address or native"
},
"amountRaw": {
"type": "string",
"description": "Base units (any token)"
},
"slippageBps": {
"type": "number",
"description": "10-2000, default 100"
}
}
}List all 1288+ supported swap assets with ticker, network and name
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}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.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}Get real-time USD prices for BTC, SOL, ETH and XMR
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}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.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}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).
| Argument | Type | Description |
|---|---|---|
| sz* | string | Order size in coin units |
| tif | string | Time-in-force, default Gtc |
| coin* | string | Market, e.g. BTC, ETH, SOL |
| isBuy* | boolean | true=long/buy, false=short/sell |
| limitPx* | string | Limit price |
| reduceOnly | boolean | Optional |
{
"type": "object",
"required": [
"coin",
"isBuy",
"sz",
"limitPx"
],
"properties": {
"sz": {
"type": "string",
"description": "Order size in coin units"
},
"tif": {
"enum": [
"Gtc",
"Ioc",
"Alo"
],
"type": "string",
"description": "Time-in-force, default Gtc"
},
"coin": {
"type": "string",
"description": "Market, e.g. BTC, ETH, SOL"
},
"isBuy": {
"type": "boolean",
"description": "true=long/buy, false=short/sell"
},
"limitPx": {
"type": "string",
"description": "Limit price"
},
"reduceOnly": {
"type": "boolean",
"description": "Optional"
}
}
}Hyperliquid perpetuals: list all 231 markets with live prices, max leverage and size decimals.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}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.
| Argument | Type | Description |
|---|---|---|
| mint* | string | Pump.fun token mint address (base58) |
| amountSol | number | SOL to spend (default 0.01) |
| slippageBps | number | Max slippage 1-1000 bps, default 100 |
{
"type": "object",
"required": [
"mint"
],
"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"
}
}
}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.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}Check if a token contract is a rug pull / scam. Returns risk score and warning flags.
| Argument | Type | Description |
|---|---|---|
| chain | string | Chain of the token |
| token* | string | Token contract address |
{
"type": "object",
"required": [
"token"
],
"properties": {
"chain": {
"enum": [
"sol",
"eth",
"base",
"bsc"
],
"type": "string",
"default": "sol",
"description": "Chain of the token"
},
"token": {
"type": "string",
"description": "Token contract address"
}
}
}Set a Telegram price alert for a crypto asset. Triggers when price goes above or below target.
| Argument | Type | Description |
|---|---|---|
| coin* | string | Asset ticker: btc, sol, eth, xmr |
| target* | number | Target price in USD |
| tg_chat* | string | Telegram Chat ID to receive the alert |
| direction* | string | Trigger when price is above or below target |
{
"type": "object",
"required": [
"coin",
"target",
"direction",
"tg_chat"
],
"properties": {
"coin": {
"type": "string",
"description": "Asset ticker: btc, sol, eth, xmr"
},
"target": {
"type": "number",
"description": "Target price in USD"
},
"tg_chat": {
"type": "string",
"description": "Telegram Chat ID to receive the alert"
},
"direction": {
"enum": [
"above",
"below"
],
"type": "string",
"description": "Trigger when price is above or below target"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| to* | string | Destination ticker, e.g. xmr, eth |
| from* | string | Source ticker, e.g. btc, sol, usdc |
| amount* | number | Amount in source asset |
{
"type": "object",
"required": [
"from",
"to",
"amount"
],
"properties": {
"to": {
"type": "string",
"description": "Destination ticker, e.g. xmr, eth"
},
"from": {
"type": "string",
"description": "Source ticker, e.g. btc, sol, usdc"
},
"amount": {
"type": "number",
"description": "Amount in source asset"
}
}
}Live Solana priority-fee oracle: current microLamports/CU percentiles and recommended low/medium/high/turbo tiers. Call before sending any Solana transaction.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}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.
| Argument | Type | Description |
|---|---|---|
| to* | string | sol, usdc or base58 mint |
| from* | string | sol, usdc or base58 mint |
| amount | number | Human amount (sol/usdc only) |
| amountRaw | string | Base units (any mint) |
| slippageBps | number | 1-1000, default 50 |
| userPublicKey* | string | Your Solana wallet address (signs the tx) |
{
"type": "object",
"required": [
"from",
"to",
"userPublicKey"
],
"properties": {
"to": {
"type": "string",
"description": "sol, usdc or base58 mint"
},
"from": {
"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)"
},
"slippageBps": {
"type": "number",
"description": "1-1000, default 50"
},
"userPublicKey": {
"type": "string",
"description": "Your Solana wallet address (signs the tx)"
}
}
}Solana DEX quote via RiftBeam aggregator — automatically picks best price across Raydium CLMM, Orca Whirlpool and Jupiter. Returns source field. 10bps fee. Free.
| Argument | Type | Description |
|---|---|---|
| to* | string | sol, usdc or base58 mint |
| from* | string | sol, usdc or base58 mint |
| amount | number | Human amount (sol/usdc only) |
| amountRaw | string | Base units (any mint) |
{
"type": "object",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"description": "sol, usdc or base58 mint"
},
"from": {
"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)"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| to* | string | Destination asset ticker (e.g. xmr, btc, sol) |
| from* | string | Source asset ticker (e.g. sol, btc, eth, usdt) |
| toNet | string | Destination network override |
| amount* | number | Amount to send |
| address* | string | Destination address to receive swapped funds |
| fromNet | string | Source network override (e.g. arbitrum, base, tron) |
| provider | string | changenow=1288+ assets; simpleswap=400+ assets; heleket=XMR-optimised payment page |
| refundAddress | string | Optional refund address for failed swaps |
{
"type": "object",
"required": [
"from",
"to",
"amount",
"address"
],
"properties": {
"to": {
"type": "string",
"description": "Destination asset ticker (e.g. xmr, btc, sol)"
},
"from": {
"type": "string",
"description": "Source asset ticker (e.g. sol, btc, eth, usdt)"
},
"toNet": {
"type": "string",
"description": "Destination network override"
},
"amount": {
"type": "number",
"description": "Amount to send"
},
"address": {
"type": "string",
"description": "Destination address to receive swapped funds"
},
"fromNet": {
"type": "string",
"description": "Source network override (e.g. arbitrum, base, tron)"
},
"provider": {
"enum": [
"changenow",
"simpleswap",
"heleket"
],
"type": "string",
"description": "changenow=1288+ assets; simpleswap=400+ assets; heleket=XMR-optimised payment page"
},
"refundAddress": {
"type": "string",
"description": "Optional refund address for failed swaps"
}
}
}Get estimated output and minimum deposit for a crypto swap pair
| Argument | Type | Description |
|---|---|---|
| to* | string | Destination asset ticker |
| from* | string | Source asset ticker, e.g. btc, usdtsol |
| amount* | number | Input amount in source asset |
{
"type": "object",
"required": [
"from",
"to",
"amount"
],
"properties": {
"to": {
"type": "string",
"description": "Destination asset ticker"
},
"from": {
"type": "string",
"description": "Source asset ticker, e.g. btc, usdtsol"
},
"amount": {
"type": "number",
"description": "Input amount in source asset"
}
}
}Check status of a swap order. Poll every 20-30s. Lifecycle: waiting->confirming->exchanging->done. For heleket provider, status is checked via Heleket API.
| Argument | Type | Description |
|---|---|---|
| id* | string | Order ID from swap_create |
| provider | string | Provider from swap_create response |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Order ID from swap_create"
},
"provider": {
"enum": [
"changenow",
"simpleswap",
"heleket"
],
"type": "string",
"description": "Provider from swap_create response"
}
}
}