Solana Swap API

Community Finance and payments

Non-custodial swaps via Jupiter (Solana) and KyberSwap (EVM), cross-chain routing, Solana priority fees and Hyperliquid perps, as unsigned transactions.

Install

The installation steps are in the documentation below. Documentation

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. SwapTitan Swap API — free, non-custodial, no API key
  2. Run as MCP server (stdio)
  3. Solana swap (Jupiter aggregator)
  4. EVM swap — Ethereum, Base, BSC, Arbitrum, Polygon, Optimism, Avalanche (KyberSwap aggregator)
  5. Universal cross-chain router
  6. Solana priority-fee oracle
  7. Connect
  8. More
  9. Rate limits & fair use

SwapTitan Swap API — free, non-custodial, no API key

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

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.

Frequently asked questions

What is Solana Swap API?

Non-custodial swaps via Jupiter (Solana) and KyberSwap (EVM), cross-chain routing, Solana priority fees and Hyperliquid perps, as unsigned transactions.

How do I install Solana Swap API?

Follow the installation steps in its documentation, shown on this page and in its repository.

Is Solana Swap API open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains Solana Swap API?

It is published by polsolbridge. AI.tn lists it but does not maintain or endorse it.

From the community awesome-mcp-servers lists and the project's GitHub repository. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.