Polymarket and Predict.fun historical tick data, plus backtest quotes and status, over MCP
Vurto Swap is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Token swaps at the best net price on 9 EVM chains and Solana. No API key, non-custodial.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http vurto-swap-mcp https://swap.vurto.cc/mcp
# 2 — ask your agent for something these tools do
# swap_quote, swap_build, double_quote and 13 more
Vurto Swap costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http vurto-swap-mcp https://swap.vurto.cc/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
16 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Compare ranked routes across providers for a swap, without building or spending anything. Ranked by net value after gas and platform fee, not raw output, with ONE unit price for the output token across every route, so a friendlier price feed can never put a route that delivers fewer tokens on top. Each quote also carries estimatedGas, the gas in units behind the same gasUsd, if you would rather ra
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chainId | integer/string | yes | EVM: integer from GET /v1/chains (1, 10, 56, 100, 137, 8453, 42161, 43114, 130). Solana: string from GET /v1/svm/chains ("solana-mainnet"). |
| wallet | string | no | Wallet that will sign. Required for builds and EVM execution/history calls. On an anonymous EVM quote, pass it to make the returned quoteId executable; without it the quote is indicative. |
| tokenIn | string | yes | Contract address (Solana: mint), or symbol (case-insensitive). A symbol matching more than one token on this chain fails with ambiguous_token and every candidate — pick the address you meant and retry |
| tokenOut | string | yes | Contract address, or symbol. |
| amount | string | no | Human decimal amount, e.g. "100". Use this OR amountRaw, not both. |
| amountRaw | string | no | Raw integer string in tokenIn's smallest unit. |
| slippageBps | integer | no | Optional, a sane per-pair default applies when omitted. |
| receiver | string | no | Optional: deliver the output to this address instead of the signing wallet. Only providers with supportsReceiver true on the resulting quote honor it — others are left out of quotes[] entirely rather |
Build a signable/sendable plan for a swap. This is the tool that does the work — an agent that only knows this tool can execute a swap end to end. Quotes and builds the best route in one call when quoteId is omitted (recommended): a route with GAIN first, re-quoting up to 3 rounds total before accepting one without gain, the same rule as Invoice; pass quoteId from a prior swap_quote to build exact
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chainId | integer/string | yes | EVM: integer from GET /v1/chains (1, 10, 56, 100, 137, 8453, 42161, 43114, 130). Solana: string from GET /v1/svm/chains ("solana-mainnet"). |
| wallet | string | yes | Wallet that will sign. Required for builds and EVM execution/history calls. On an anonymous EVM quote, pass it to make the returned quoteId executable; without it the quote is indicative. |
| tokenIn | string | no | Contract address (Solana: mint), or symbol (case-insensitive). A symbol matching more than one token on this chain fails with ambiguous_token and every candidate — pick the address you meant and retry |
| tokenOut | string | no | Contract address, or symbol. |
| amount | string | no | Human decimal amount, e.g. "100". Use this OR amountRaw, not both. |
| amountRaw | string | no | Raw integer string in tokenIn's smallest unit. |
| slippageBps | integer | no | Optional, a sane per-pair default applies when omitted. |
| receiver | string | no | Optional: deliver the output to this address instead of the signing wallet. Only providers with supportsReceiver true on the resulting quote honor it — others are left out of quotes[] entirely rather |
| quoteId | string | no | Optional: build exactly this route from a prior swap_quote, instead of quoting fresh. |
| maxSlippageBps | integer | no | Optional ceiling, 0-10000, enforced on every future refresh of this build — once set it never loosens. |
Compares ranked routes for TWO swap legs at once — "Double Out" (one source token split into two destinations) or "Double In" (two source tokens converging on one destination). This exists because building a liquidity pool or matching a target ratio needs both legs priced against the market at the same instant, not one after another with the price moving in between. Each leg is independently quote
| Parameter | Type | Required | Notes |
|---|---|---|---|
| mode | string | yes | "out": one source, two destinations. "in": two sources, one destination. |
| chainId | integer/string | yes | EVM: integer from GET /v1/chains (1, 10, 56, 100, 137, 8453, 42161, 43114, 130). Solana: string from GET /v1/svm/chains ("solana-mainnet"). |
| wallet | string | no | Wallet that will sign. Required for builds and EVM execution/history calls. On an anonymous EVM quote, pass it to make the returned quoteId executable; without it the quote is indicative. |
| legA | object | yes | — |
| legB | object | yes | — |
Builds signable/sendable plans for BOTH legs of a Double Out or Double In swap — two ordinary swap_build calls under the hood, kept together for convenience. Returns { legA, legB }, each a full SwapPlan exactly like swap_build's. The two legs are NOT atomic — there is no combined contract call, each is a transaction (or CoW signature) the wallet sends separately, same as any other swap. Execute le
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chainId | integer/string | yes | EVM: integer from GET /v1/chains (1, 10, 56, 100, 137, 8453, 42161, 43114, 130). Solana: string from GET /v1/svm/chains ("solana-mainnet"). |
| wallet | string | yes | Wallet that will sign. Required for builds and EVM execution/history calls. On an anonymous EVM quote, pass it to make the returned quoteId executable; without it the quote is indicative. |
| legA | object | yes | — |
| legB | object | yes | — |
| maxSlippageBps | integer | no | Optional ceiling, 0-10000, applied to both legs. |
N:N — quotes a basket where N input tokens fund M output tokens in ONE atomic on-chain transaction. The backend runs a waterfall allocation deciding which input finances which output, then quotes the real tokenIn->tokenOut route for each resulting slice through the same provider fan-out swap_quote uses. NOT decomposable into independent swap_quote/double_quote calls — the allocation itself is the
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chainId | integer/string | yes | EVM: integer from GET /v1/chains (1, 10, 56, 100, 137, 8453, 42161, 43114, 130). Solana: string from GET /v1/svm/chains ("solana-mainnet"). On EVM the multi-swap router must be deployed on the chain o |
| wallet | string | no | Wallet that will sign. Required for builds and EVM execution/history calls. On an anonymous EVM quote, pass it to make the returned quoteId executable; without it the quote is indicative. |
| inputLegs | array | yes | — |
| outputLegs | array | yes | — |
| slippageBps | integer | no | Optional, 5-500, applied to every leg. Default 50. |
Builds ONE signable/sendable atomic transaction executing every leg of an N:N basket through VurtoSwapRouter. Always re-quotes the whole basket fresh from chainId/inputLegs/outputLegs — there is no quoteId handoff for N:N, pass the same fields used for nn_quote (or skip nn_quote and call this directly). No API key required: pass the wallet that will sign. A machine credential is optional and only
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chainId | integer/string | yes | EVM: integer from GET /v1/chains (1, 10, 56, 100, 137, 8453, 42161, 43114, 130). Solana: string from GET /v1/svm/chains ("solana-mainnet"). |
| wallet | string | yes | Wallet that will sign. Required for builds and EVM execution/history calls. On an anonymous EVM quote, pass it to make the returned quoteId executable; without it the quote is indicative. |
| inputLegs | array | yes | — |
| outputLegs | array | yes | — |
| slippageBps | integer | no | Optional, 5-500, applied to every leg. Default 50. |
Synthesizes the local CLI signer invocation for one step of a swap_build plan. Does not call the Vurto backend — this only assembles the payload. You (the agent) do not need a private key and must never ask for one in chat: signing happens locally on the user's machine. RUN the command yourself as a background task (it blocks until the user approves/rejects/times out, then prints one JSON line and
| Parameter | Type | Required | Notes |
|---|---|---|---|
| buildId | string | yes | From a prior swap_build/swap_refresh response. |
| walletAddress | string | yes | The wallet the plan was built for. The signer refuses to sign if the connected wallet does not match. On Solana this is base58 and CASE-SENSITIVE: lowercasing it produces a different, non-existent add |
| chainId | integer/string | yes | EVM: integer from GET /v1/chains (1, 10, 56, 100, 137, 8453, 42161, 43114, 130). Solana: string from GET /v1/svm/chains ("solana-mainnet"). |
| step | object | yes | EVM: one entry from swap_build's steps[]. Solana: {transaction, executionRef} from the build. |
Reports a completed swap, closing the loop. EVM transaction: pass wallet + txHash + quoteId; never report an approve step as an execution. EVM CoW signature: pass wallet + chainId + quoteId + signature; the server reloads the stored build and submits the signed order, returning uid (there is no transaction hash for this path). Solana: pass buildId + signature; the server verifies the fee payer and
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | no | Wallet that will sign. Required for builds and EVM execution/history calls. On an anonymous EVM quote, pass it to make the returned quoteId executable; without it the quote is indicative. |
| txHash | string | no | EVM transaction swap only; do not report approve hashes. |
| quoteId | string | no | EVM: quote id from the built plan. |
| chainId | integer/string | no | EVM CoW: integer chain id. Solana may use "solana-mainnet", but buildId + signature are sufficient. |
| signature | string | no | EVM: EIP-712 CoW signature. Solana: transaction signature. |
| buildId | string | no | Solana: buildId returned by swap_build. |
Re-checks a swap. EVM: pass wallet + executionId (the id from report_execution); for CoW ETH-flow this consults the orderbook and distinguishes order_expired_refundable from order_expired_refunded instead of trusting the registration receipt. Solana: pass signature; answers come directly from the network and may be confirmed, pending, failed or expired.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | no | Wallet that will sign. Required for builds and EVM execution/history calls. On an anonymous EVM quote, pass it to make the returned quoteId executable; without it the quote is indicative. |
| executionId | string | no | EVM: the id returned by report_execution. |
| signature | string | no | Solana: the transaction signature. Answers come from the network itself: confirmed, pending, failed, or expired (past lastValidBlockHeight the transaction can no longer enter any block). |
Create a payment request: who receives, which token, how much, on which network. Returns invoice.id, invoice.label (INV-XXXX-XXXX, what people copy), invoice.url (share this; it previews with the QR on WhatsApp and Telegram) and invoice.qr (PNG). No signature or API key needed. Only VERIFIED tokens of the network are accepted, by address or symbol — an unverified token is refused because a cloned
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chainId | integer/string | yes | EVM: integer from GET /v1/chains (1, 10, 56, 100, 137, 8453, 42161, 43114, 130). Solana: string from GET /v1/svm/chains ("solana-mainnet"). |
| recipient | string | yes | Wallet that receives. EVM 0x address, or base58 on Solana (case-sensitive). |
| token | string | yes | Token to receive: address/mint or symbol of a verified token on this network. |
| amount | string | yes | Human decimal amount, e.g. "100". Decimals come from the token list, not from you. |
| memo | string | no | Optional note, up to 80 chars, visible to anyone with the link. |
| confidential | boolean | no | Optional, Solana only. A private (confidential) invoice hides the receiving wallet from anyone with the link (invoice_get returns recipient: null), and every payment route screens the payer first: OFA |
Check any wallet (EVM 0x address or Solana base58, case-sensitive) before paying it or taking its money: OFAC SDN list on both families; on Solana also the issuer freeze of USDC and EURC (Circle), USDT (Tether), PYUSD and USDG (Paxos) and USD1 (World Liberty), the issuer freeze index, and a fund trail up to three hops back. Returns verdict passed, blocked or unavailable, with each check. Paying an
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet to check. EVM 0x address, or Solana base58 (case-sensitive). |
Read an invoice by id (INV-XXXX-XXXX, with or without dashes): requested amount, token, network, receiver (null on a private invoice), confidential (true on a private invoice), status (open or paid), the paying transaction once paid, and received (the raw amount measured on-chain so far). Pending payments are re-checked on-chain on every read.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | INV-XXXX-XXXX or the 8-character id. |
Build the plan to pay an invoice from payer, with the token payer holds (default: the invoice token). Nothing is signed or sent here. method "transfer": same token, a direct transfer built from the stored invoice (no fee, no gain; the receiver sees the payer as sender). method "swap": another token; amountIn is computed so the GUARANTEED minimum output covers the requested amount, the route is alw
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | INV-XXXX-XXXX or the 8-character id. |
| payer | string | yes | The wallet that will sign and pay, on the invoice network. |
| tokenIn | string | no | Optional: address/mint or symbol of the token the payer pays with. Omit to pay in the invoice token. |
| slippageBps | integer | no | Optional, default 50. The guaranteed minimum is computed after it, so a tighter slippage asks the payer for less. |
Payroll and supplier payouts on Solana: pay up to 20 wallets their exact amounts, in the token the payer holds (no swap). Every receiving wallet is screened first (OFAC SDN list and the issuer freeze of six stablecoins); one blocked wallet refuses the whole batch with receiver_blocked (403) and details.index of that row, before anything is created. Each recipient becomes a regular invoice (history
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chainId | string | yes | — |
| token | string | yes | Mint or symbol of a verified token, e.g. "USDC". Every recipient is paid in it. |
| payer | string | yes | The wallet that signs and pays. |
| recipients | array | yes | — |
Hand one batch transaction to the server, right after sending it, with the invoiceIds that payout_batch listed for it. Each invoice is verified on-chain like any invoice payment (what reached that receiver); call again a few seconds later if some are still pending.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| txHash | string | yes | The Solana signature. |
| payer | string | yes | The wallet that signed. |
| invoiceIds | array | yes | From payout_batch.transactions[i].invoiceIds. |
Hand the payment transaction to the server, right after sending it. The server reads the transaction on-chain and measures what reached the receiver in the invoice token; the payer must be the signer and the transaction must be newer than the invoice. Pending until mined; invoice_get re-checks. A hash pays each receiver once (tx_already_used once it confirmed another invoice of the same receiver a
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | yes | INV-XXXX-XXXX or the 8-character id. |
| payer | string | yes | The wallet that signed the payment. |
| txHash | string | yes | EVM transaction hash, or the Solana signature. |
| method | string | no | From invoice_pay.method. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Vurto Swap or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Vurto Swap can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.