Flashift MCP Server
Zero-key, non-custodial cross-chain crypto swap aggregator for AI agents. Flashift routes swaps across 100+ blockchains and 15+ liquidity providers, with AI-ranked routing tags such as AI Best Rate and Best in KYC.
- Remote endpoint:
https://mcp.flashift.app/mcp(Streamable HTTP) - API key: none required
- Custody: none. Flashift never asks for or stores private keys or seed phrases. See SECURITY.md.
- Documentation: Flashift MCP Service · How Flashift works
Quick start
Remote (recommended)
Add Flashift to any MCP client that supports remote Streamable HTTP servers (Claude, Cursor, Windsurf, VS Code, and others):
{
"mcpServers": {
"flashift": {
"url": "https://mcp.flashift.app/mcp"
}
}
}
Local (stdio bridge)
For clients that only support stdio servers, connect through mcp-remote:
{
"mcpServers": {
"flashift": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.flashift.app/mcp"]
}
}
}
Requires Node.js 18 or newer.
Claude Code
claude mcp add --transport http flashift https://mcp.flashift.app/mcp
Tools
| Tool | What it does |
|---|---|
get_currencies |
Lists supported currencies and networks. Filter by symbol, network, or search, and cap results with limit (default 50). |
get_estimated_amount |
Quotes a swap across all providers: estimated output, min/max limits, rate type, and AI tags. |
create_transaction |
Creates a swap with a chosen provider and returns a deposit address. |
get_transaction_info |
Returns real-time status for an existing swap. |
get_providers |
Lists the exchange providers Flashift aggregates and whether each is available. |
get_currencies
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol |
string | no | Currency symbol, e.g. btc, eth, usdt |
network |
string | no | Network, e.g. eth, bsc, trx, btc |
search |
string | no | Matches symbol, full name, or network |
limit |
integer | no | Maximum items returned (default 50) |
get_estimated_amount
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol_from |
string | yes | Source currency, e.g. btc |
network_from |
string | yes | Source network, e.g. btc |
symbol_to |
string | yes | Target currency, e.g. usdt |
network_to |
string | yes | Target network, e.g. trc20 |
amount |
number | yes | Amount of source currency (> 0) |
type |
"float" | "fixed" |
no | Rate type. Both are evaluated if omitted |
exchange_list |
string | no | Comma-separated preferred providers, e.g. changenow |
Each quote can carry one or more AI tags:
| Tag | Meaning |
|---|---|
| AI Best Rate | Best rate weighted by user feedback and provider reliability |
| Recommended | Best overall balance of rate, KYC level, and speed |
| Best Rate | Highest raw rate right now |
| Best in KYC | Lowest KYC requirement among the quoted providers |
create_transaction
| Parameter | Type | Required | Description |
|---|---|---|---|
provider_name |
string | yes | Provider from the quote, e.g. changenow |
symbol_from |
string | yes | Source currency |
network_from |
string | yes | Source network |
symbol_to |
string | yes | Target currency |
network_to |
string | yes | Target network |
amount |
number | yes | Amount of source currency (> 0) |
fixed |
boolean | yes | true for a fixed rate, false for floating |
to_address |
string | yes | Wallet address that receives the swapped funds |
to_extra_id |
string | no | Memo or destination tag, when the target network needs one (XRP, TON, XLM, ...) |
user_id |
string | no | Affiliate or user ID for tracking |
Returns an exchange ID and a deposit address. The user sends funds to that address from their own wallet; the provider then pays out to to_address.
get_transaction_info
| Parameter | Type | Required | Description |
|---|---|---|---|
exchange_id |
string | yes | ID returned by create_transaction |
get_providers
No parameters.
Typical flow
get_currenciesto confirm the symbol and network pair.get_estimated_amountto compare providers and pick one, usually by AI tag.create_transactionwith the chosenprovider_nameand the user's receiving address.- The user sends the deposit from their own wallet.
get_transaction_infoto track the swap until it completes.
Security
Flashift is non-custodial. It only generates deposit routes and never requests, receives, or stores private keys or seed phrases. See SECURITY.md for the full model and how to report a vulnerability.