ChangeNOW

io.changenowPublished by changenow.ioOfficial publisherv2.1.1Updated Oct 24, 2026

Quote, create and track cross-chain crypto swaps. Non-custodial exchange, no account, no KYC.

VerifiedStreamable HTTPWeb executableFinanceSecurity & Monitoring

Overview

AI-generated overview

Lets an assistant quote, create and track cross-chain crypto swaps, and validate recipient addresses.

What you can do
Tools cover listing exchangeable assets, fetching one asset's details, quoting a swap in either direction, validating a recipient address and memo, building a pre-filled swap link, creating a real order, and tracking an order by id. Creating an order returns the deposit address the user must send funds to; status checks report amounts, transaction hashes and what the current stage means.
When to use it
Use it when a user wants to check or carry out a cross-chain crypto swap, or to follow up on an existing order. Quoting and building a swap link also work on their own.
Requirements
Connects to a remote endpoint; no local package. No authentication, environment variables or headers are declared. Network access is required.
Before you install
create_swap creates a real order and returns a deposit address; the order can expire and a fixed rate is locked to it. The call moves no money itself, but funds the user later sends are a real transaction. Quote first and run validate_address on every recipient address and memo, since a valid-looking address on the wrong network can lose funds. swap_link lets the user confirm on the real page.

Installation

In SourceWeft

  1. Open ChangeNOW 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/io.changenow%2Fcrypto-swap/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": {
    "changenow": {
      "type": "http",
      "url": "https://mcp.changenow.io/mcp"
    }
  }
}

Tools

7

list_assets

List exchangeable assets

Find the assets ChangeNOW can exchange and turn what the user said into a canonical asset id. Search by ticker, name or network, filter by network, by fiat or crypto, and by whether a fixed rate is possible. Always call this before quoting: the same ticker exists on several networks and only the canonical id "ticker.network" identifies one of them. When has_more is false the response is the complete answer and no paging is needed.

Parametersqkindlimitcursornetworkpopularfixed_rate

get_asset

Asset details

Everything needed to build a swap for one asset: the canonical id, the legacy ticker used in website links, decimals, whether a memo is required and what the receiving side calls it, the address format, the token contract and the warnings to relay to the user. Minimum and maximum amounts are not here because they belong to the pair, not to the asset: get them from quote_swap.

Parametersassetrequired

quote_swap

Quote a swap

Ask what a swap would give, in either direction: pass amount_from to learn what the user receives, or amount_to to learn what the user must send. Returns the rate, the pair minimum and maximum, who would execute the order, and the warnings to relay. With rate_type "fixed" it also returns the rate_id that create_swap needs; that lock lasts about two minutes, so quote again right before creating the order. A fixed rate is not offered on every pair and the tool says so rather than quietly falling back to a float rate. Nothing is created and no funds move.

Parameterstorequiredfromrequiredamount_torate_typepromo_codeamount_from

validate_address

Validate a recipient address

Check a recipient address, and its memo when the asset needs one, against the format the network requires, before any order exists. Call this on every address the user gives. A valid-looking address on the wrong network is the one mistake in a swap that destroys the funds with no way back, so when the address belongs to another network the answer names that network instead of just refusing. A few assets carry no address format in the catalogue; for those the answer says the address could not be checked rather than calling it valid.

Parametersmemoassetrequiredaddressrequired

create_swap

Create a swap order

Create a real swap order and return the deposit address the user has to send funds to. This call moves no money by itself, but the order is real: it exists in support, it can expire, and a fixed rate is locked against it. Quote the swap first, validate the recipient address, and confirm the amount and the address with the user before calling this. If the user has not explicitly approved both, use swap_link instead and let them confirm on the page. The answer names who executes the order, and that has to be relayed: some orders are routed to a partner aggregator rather than ChangeNOW.

Parameterstorequiredfromrequiredmemoaddressrequiredrate_idamount_topromo_codeamount_fromrefund_memocontact_emailrefund_address

check_swap_status

Check a swap order

Follow an existing order by id: where it stands, what the deposit and payout amounts turned out to be, the transaction hashes, and a plain-language explanation of what the current stage means and what happens next. Use it after create_swap, and again whenever the user asks where their swap is.

Parametersidrequiredsub_id

Version history

1
  1. v2.1.1LatestSep 16, 2026

Score

83% 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

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.