LayerHop

com.layerhopPublished by layerhop.comOfficial publisherv0.5.0Updated Oct 26, 2026

Best-price cross-chain swap quotes across 70 chains (EVM + Solana). Holds no keys, never signs.

VerifiedStreamable HTTPWeb executableFinanceDeveloper Tools

Overview

AI-generated overview

LayerHop MCP server that lets an assistant quote best-price same-chain and cross-chain token swaps across 70 EVM and Solana chains, then hand the user a…

What you can do
  • List supported chains and built-in tokens per chain
  • Get best-price swap and bridge quotes with fees, minimum received and ETA
  • Build unsigned EVM or Solana transactions, dry-run them, and report a broadcast transaction
  • Create prefilled swap links and check order status or list orders by address
  • Create, inspect, refresh and disable deposit addresses, plus simulate test deposits
When to use it
Useful when a user wants to compare swap or bridge routes across chains, prepare a transaction for their own wallet to sign, or set up a deposit address that converts incoming tokens automatically. It is a quoting and preparation layer, not a wallet.
Requirements
Runs as a hosted Streamable HTTP endpoint or locally via npx @layerhop/mcp (Node.js). An optional LAYERHOP_API_KEY is needed for deposit-address tools; LAYERHOP_INTEGRATOR is an optional partner ID. Network access to LayerHop's API is required.
Before you install
The server holds no private keys and never signs or broadcasts, but it does create deposit addresses and can disable them irreversibly; disabling stops tracking while funds sent later may still be processed. Deposit addresses must receive only the specified token and chain or funds may be lost. simulate_deposit only works with test keys. An API key is a credential to keep private.

Installation

In SourceWeft

  1. Open LayerHop in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.layerhop%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "layerhop": {
      "type": "http",
      "url": "https://mcp.layerhop.com/mcp"
    }
  }
}

README

@layerhop/mcp

[npm] [license] [docs]

Model Context Protocol server for LayerHop: AI agents (Claude, ChatGPT, Cursor, …) can list chains and tokens, get best-price cross-chain / same-chain swap quotes with every fee spelled out, and hand the user a prefilled swap link.

The server holds no private keys and never signs or broadcasts. The user's own wallet signs.

Listed in the official MCP Registry as com.layerhop/mcp.

bash
# stdio (Claude Desktop, Claude Code, Cursor, …)npx -y @layerhop/mcpclaude mcp add layerhop -- npx -y @layerhop/mcp
# hosted, Streamable HTTPclaude mcp add --transport http layerhop https://mcp.layerhop.com/mcp
# self-host over HTTP: POST /mcp, GET /healthznpx -y @layerhop/mcp --http --port 8090 --host 0.0.0.0

Env: LAYERHOP_API_URL (default https://api.layerhop.com), LAYERHOP_API_KEY (optional; required for deposit addresses), LAYERHOP_INTEGRATOR (optional partner id), LAYERHOP_APP_URL (default https://layerhop.com).

Tools: list_chains, list_tokens, get_quote, get_swap_link, build_transaction, simulate_transaction, report_submitted, get_order_status, list_orders, plus deposit addresses (API key required): create_deposit_address, list_deposit_addresses, get_deposit_address, refresh_deposit_address, disable_deposit_address, simulate_deposit (test keys only). Amounts in tool inputs are human decimals ("100" = 100 USDC).

Full guide: https://docs.layerhop.com/guides/ai-agents

MIT licensed.

Source: packages/mcp/README.md at commit 08a1014

Tools

15

list_chains

List supported chains

List every blockchain LayerHop can swap from or to: slug, numeric chain id, name, VM type (evm or svm = Solana) and native coin. Read-only.

Takes no parameters.

list_tokens

List tokens on a chain

List LayerHop's built-in tokens on one chain (symbol, contract address or mint, decimals). Symbols can be used directly in get_quote; other tokens can be quoted by address. Read-only.

Parameterschainrequired

get_quote

Get swap/bridge quotes

Get the best price to swap or bridge tokens, within one chain or across chains (EVM <-> Solana). Asks every liquidity provider and returns the best quote plus alternatives with human-readable amounts, minimum received after slippage, fees (LayerHop fee, partner fee, provider fee, gas) and ETA. Returns a quoteId (valid until expiresAt) and a layerhop.com swapLink a human can open to review and sign. Read-only: The LayerHop MCP server holds no private keys and never signs or broadcasts transactions. Always show the user the fees and output and get confirmation before proceeding.

ParametersamountrequiredsenderrequiredtoChainrequiredtoTokenrequiredfromChainrequiredfromTokenrequiredrecipientslippageBpstoTokenDecimalsfromTokenDecimals

build_transaction

Build the unsigned transaction for a quote

Turn a quoteId from get_quote into the UNSIGNED transaction the user's own wallet must sign: EVM {chainId, to, data, value in wei, optional ERC-20 approval to send first} or Solana {serializedTx base64}. Includes plain-language signing steps. The LayerHop MCP server holds no private keys and never signs or broadcasts transactions. Only use this when the user has their own signer and explicitly wants raw transaction data, after they confirmed the quote; otherwise give them the swap link.

ParametersquoteIdrequired

simulate_transaction

Dry-run a quote's transaction

Build the transaction for a quoteId and dry-run it on-chain (EVM eth_call + gas estimate from the sender; Solana simulateTransaction) without sending anything or recording an order. Reports whether it would succeed, gas / compute units, whether an ERC-20 approval is still needed, and the error if it would fail. Read-only: The LayerHop MCP server holds no private keys and never signs or broadcasts transactions.

ParametersquoteIdrequired

report_submitted

Report a broadcast transaction

Tell LayerHop that the user's wallet broadcast the transaction for a quoteId, so the order is tracked (status, webhooks). Call this once after broadcasting, with the EVM tx hash (0x + 64 hex) or Solana signature. Idempotent. Does not sign or send anything.

ParameterstxHashrequiredquoteIdrequired

get_order_status

Get swap/bridge order status

Check the status of a swap or bridge after the source transaction was sent: pending, filled (funds delivered), refunded, failed, or unknown (some same-chain providers; check the tx on an explorer). Read-only.

ParameterstxHashrequiredproviderrequired

list_orders

List orders for a wallet

List LayerHop orders (swaps built or submitted through LayerHop) where the address is the sender or recipient, newest first, with status. Public data (addresses only). Read-only.

Parameterslimitcursorstatusaddressrequired

create_deposit_address

Create a deposit address

Create an address the user sends tokens to; every deposit is swapped/bridged and delivered as toToken on toChain to recipient. No wallet connection or signing needed. Non-custodial: the address belongs to the liquidity provider (Relay), LayerHop never holds funds. Tell the user: send ONLY srcToken on srcChain to the address (other tokens or chains may be lost for good), at least $1 worth; refundTo must be the user's own address on srcChain, never an exchange (CEX) deposit address. Needs a LayerHop API key; test keys (lh_test_) give a fake sandbox address that must never receive real funds. The LayerHop MCP server holds no private keys and never signs or broadcasts transactions.

ParameterslabelamounttoChainrequiredtoTokenrequiredmetadatarefundTorequiredreusablefromChainrequiredfromTokenrequiredrecipientrequiredfromTokenDecimals

list_deposit_addresses

List deposit addresses

List the deposit addresses of the API key's account and mode (live or test), newest first: address, route, status, deposit count. Needs a LayerHop API key. Read-only.

Parameterslabellimitcursorstatus

get_deposit_address

Get a deposit address and its deposits

Get one deposit address with its 20 most recent deposits (orders, quoteId starting with dep_): amount deposited and delivered, status (submitted, pending, filled, refunded, failed) and tx hashes. Tell the user: send ONLY srcToken on srcChain to the address (other tokens or chains may be lost for good), at least $1 worth; refundTo must be the user's own address on srcChain, never an exchange (CEX) deposit address. Needs a LayerHop API key; test keys (lh_test_) give a fake sandbox address that must never receive real funds. Read-only.

Parametersidrequired

refresh_deposit_address

Check a deposit address for deposits now

Ask LayerHop to check a deposit address for new deposits right away (instead of waiting for the next scheduled check). Call it when the user says they sent funds, then call get_deposit_address after ~15-30 s. Needs a LayerHop API key.

Parametersidrequired

disable_deposit_address

Disable a deposit address

Disable a deposit address: LayerHop stops tracking it (no more orders or webhooks for it). The provider may still process funds sent to it later, so the user must stop using it. Cannot be undone. Confirm with the user first. Needs a LayerHop API key.

Parametersidrequired

simulate_deposit

Simulate a deposit (test mode only)

TEST MODE ONLY (lh_test_ key and a test deposit address): record a fake deposit so the integration can be tested end to end; it becomes a test order that settles with webhooks. The amount decides the outcome: base units ending in 4001 -> refunded, 4002 -> failed, anything else -> filled. Moves no real funds. Fails with a live key.

ParametersidrequiredamountamountBaseUnits

Version history

2
  1. v0.5.0LatestOct 18, 2026
  2. v0.1.1Oct 18, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts