{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_4fvspqwhuyh3","handle":"vurto-swap","url":"https://wellknown.network/agents/vurto-swap","links":{"self":"https://wellknown.network/agents/vurto-swap/record.json","html":"https://wellknown.network/agents/vurto-swap","markdown":"https://wellknown.network/agents/vurto-swap/record.md","api":"https://wellknown.network/api/v1/agents/vurto-swap","status":"https://wellknown.network/api/v1/agents/vurto-swap/status","claim":"https://wellknown.network/agents/vurto-swap/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/vurto-swap/claim.json","badge":"https://wellknown.network/agents/vurto-swap/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/vurto-swap/history","tools":"https://wellknown.network/api/v1/agents/vurto-swap/tools"},"ard":{"identifier":"urn:air:swap.vurto.cc:server:vurto-swap","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Vurto Swap","summary":"Token swaps at the best net price on 9 EVM chains and Solana. No API key, non-custodial.","description":"Token swaps at the best net price on 9 EVM chains and Solana. No API key, non-custodial.","publisher":{"name":"cryptoconspiracy","url":null},"homepage":"https://swap.vurto.cc/agent-api.md","repository":null,"version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://swap.vurto.cc/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-24T19:34:05.331967Z","publishedAt":"2026-09-24T19:34:05.331967Z","registryName":"io.github.cryptoconspiracy/vurto-swap"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"commerce.payments","name":"Payments","confidence":1,"provenance":"derived"},{"slug":"documents.invoice-processing","name":"Invoice Processing","confidence":0.51,"provenance":"derived"}],"categories":["commerce","documents"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 2h ago.","lastOkAt":"2026-10-11T00:28:35.949Z","lastProbedAt":"2026-10-11T00:28:35.949Z","statusComputedAt":"2026-10-11T00:29:27.815Z","reliability30d":{"probes":55,"successRate":1,"p50Ms":26,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":55,"ok":55,"authBoundaryOk":0,"serviceOk":55,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-11T00:28:35.949Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":9,"error":null,"detail":{"tools":[{"name":"swap_quote","description":"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 O"},{"name":"swap_build","description":"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 bu"},{"name":"double_quote","description":"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 o"},{"name":"double_build","description":"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. Re"},{"name":"nn_quote","description":"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"},{"name":"nn_build","description":"Builds ONE signable/sendable atomic transaction executing every leg of an N:N basket through VurtoSwapRouter. Always re-quotes the whole basket fresh from chain"},{"name":"prepare_signing","description":"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"},{"name":"report_execution","description":"Reports a completed swap, closing the loop. EVM transaction: pass wallet + txHash + quoteId; never report an approve step as an execution. EVM CoW signature: pa"},{"name":"swap_status","description":"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_re"},{"name":"invoice_create","description":"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.ur"},{"name":"wallet_check","description":"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 issu"},{"name":"invoice_get","description":"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 p"},{"name":"invoice_pay","description":"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 to"},{"name":"invoice_report_payment","description":"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 invo"}],"toolCount":14,"toolsHash":"60a637bf5306a60a019ae2fe43ac1b677a00767f9102e4a80d38ab6b469c0a0c","serverName":"vurto-swap","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-03-26"}},{"at":"2026-10-10T18:27:39.729Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":82,"error":null,"detail":{"tools":[{"name":"swap_quote","description":"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 O"},{"name":"swap_build","description":"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 bu"},{"name":"double_quote","description":"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 o"},{"name":"double_build","description":"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. Re"},{"name":"nn_quote","description":"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"},{"name":"nn_build","description":"Builds ONE signable/sendable atomic transaction executing every leg of an N:N basket through VurtoSwapRouter. Always re-quotes the whole basket fresh from chain"},{"name":"prepare_signing","description":"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"},{"name":"report_execution","description":"Reports a completed swap, closing the loop. EVM transaction: pass wallet + txHash + quoteId; never report an approve step as an execution. EVM CoW signature: pa"},{"name":"swap_status","description":"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_re"},{"name":"invoice_create","description":"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.ur"},{"name":"wallet_check","description":"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 issu"},{"name":"invoice_get","description":"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 p"},{"name":"invoice_pay","description":"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 to"},{"name":"invoice_report_payment","description":"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 invo"}],"toolCount":14,"toolsHash":"60a637bf5306a60a019ae2fe43ac1b677a00767f9102e4a80d38ab6b469c0a0c","serverName":"vurto-swap","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-03-26"}},{"at":"2026-10-10T11:25:01.641Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":71,"error":null,"detail":{"tools":[{"name":"swap_quote","description":"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 O"},{"name":"swap_build","description":"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 bu"},{"name":"double_quote","description":"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 o"},{"name":"double_build","description":"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. Re"},{"name":"nn_quote","description":"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"},{"name":"nn_build","description":"Builds ONE signable/sendable atomic transaction executing every leg of an N:N basket through VurtoSwapRouter. Always re-quotes the whole basket fresh from chain"},{"name":"prepare_signing","description":"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"},{"name":"report_execution","description":"Reports a completed swap, closing the loop. EVM transaction: pass wallet + txHash + quoteId; never report an approve step as an execution. EVM CoW signature: pa"},{"name":"swap_status","description":"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_re"},{"name":"invoice_create","description":"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.ur"},{"name":"wallet_check","description":"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 issu"},{"name":"invoice_get","description":"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 p"},{"name":"invoice_pay","description":"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 to"},{"name":"invoice_report_payment","description":"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 invo"}],"toolCount":14,"toolsHash":"60a637bf5306a60a019ae2fe43ac1b677a00767f9102e4a80d38ab6b469c0a0c","serverName":"vurto-swap","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-03-26"}},{"at":"2026-10-10T04:31:34.733Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":9,"error":null,"detail":{"tools":[{"name":"swap_quote","description":"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 O"},{"name":"swap_build","description":"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 bu"},{"name":"double_quote","description":"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 o"},{"name":"double_build","description":"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. Re"},{"name":"nn_quote","description":"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"},{"name":"nn_build","description":"Builds ONE signable/sendable atomic transaction executing every leg of an N:N basket through VurtoSwapRouter. Always re-quotes the whole basket fresh from chain"},{"name":"prepare_signing","description":"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"},{"name":"report_execution","description":"Reports a completed swap, closing the loop. EVM transaction: pass wallet + txHash + quoteId; never report an approve step as an execution. EVM CoW signature: pa"},{"name":"swap_status","description":"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_re"},{"name":"invoice_create","description":"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.ur"},{"name":"invoice_get","description":"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 p"},{"name":"invoice_pay","description":"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 to"},{"name":"invoice_report_payment","description":"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 invo"}],"toolCount":13,"toolsHash":"1372615ced250cb4111aebb61a1c146003bf7c15c1549c8139a9aca65c70e315","serverName":"vurto-swap","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-03-26"}},{"at":"2026-10-09T21:27:30.933Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":29,"error":null,"detail":{"tools":[{"name":"swap_quote","description":"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 O"},{"name":"swap_build","description":"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 bu"},{"name":"double_quote","description":"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 o"},{"name":"double_build","description":"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. Re"},{"name":"nn_quote","description":"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"},{"name":"nn_build","description":"Builds ONE signable/sendable atomic transaction executing every leg of an N:N basket through VurtoSwapRouter. Always re-quotes the whole basket fresh from chain"},{"name":"prepare_signing","description":"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"},{"name":"report_execution","description":"Reports a completed swap, closing the loop. EVM transaction: pass wallet + txHash + quoteId; never report an approve step as an execution. EVM CoW signature: pa"},{"name":"swap_status","description":"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_re"},{"name":"invoice_create","description":"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.ur"},{"name":"invoice_get","description":"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 p"},{"name":"invoice_pay","description":"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 to"},{"name":"invoice_report_payment","description":"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 invo"}],"toolCount":13,"toolsHash":"1372615ced250cb4111aebb61a1c146003bf7c15c1549c8139a9aca65c70e315","serverName":"vurto-swap","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-03-26"}},{"at":"2026-10-09T15:32:01.404Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":20,"error":null,"detail":{"tools":[{"name":"swap_quote","description":"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 O"},{"name":"swap_build","description":"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 bu"},{"name":"double_quote","description":"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 o"},{"name":"double_build","description":"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. Re"},{"name":"nn_quote","description":"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"},{"name":"nn_build","description":"Builds ONE signable/sendable atomic transaction executing every leg of an N:N basket through VurtoSwapRouter. Always re-quotes the whole basket fresh from chain"},{"name":"prepare_signing","description":"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"},{"name":"report_execution","description":"Reports a completed swap, closing the loop. EVM transaction: pass wallet + txHash + quoteId; never report an approve step as an execution. EVM CoW signature: pa"},{"name":"swap_status","description":"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_re"},{"name":"invoice_create","description":"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.ur"},{"name":"invoice_get","description":"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 p"},{"name":"invoice_pay","description":"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 to"},{"name":"invoice_report_payment","description":"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 invo"}],"toolCount":13,"toolsHash":"1372615ced250cb4111aebb61a1c146003bf7c15c1549c8139a9aca65c70e315","serverName":"vurto-swap","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-03-26"}},{"at":"2026-10-09T08:27:38.331Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":98,"error":null,"detail":{"tools":[{"name":"swap_quote","description":"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 O"},{"name":"swap_build","description":"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 bu"},{"name":"double_quote","description":"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 o"},{"name":"double_build","description":"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. Re"},{"name":"nn_quote","description":"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"},{"name":"nn_build","description":"Builds ONE signable/sendable atomic transaction executing every leg of an N:N basket through VurtoSwapRouter. Always re-quotes the whole basket fresh from chain"},{"name":"prepare_signing","description":"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"},{"name":"report_execution","description":"Reports a completed swap, closing the loop. EVM transaction: pass wallet + txHash + quoteId; never report an approve step as an execution. EVM CoW signature: pa"},{"name":"swap_status","description":"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_re"},{"name":"invoice_create","description":"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.ur"},{"name":"invoice_get","description":"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 p"},{"name":"invoice_pay","description":"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 to"},{"name":"invoice_report_payment","description":"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 invo"}],"toolCount":13,"toolsHash":"1372615ced250cb4111aebb61a1c146003bf7c15c1549c8139a9aca65c70e315","serverName":"vurto-swap","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-03-26"}},{"at":"2026-10-09T01:24:42.622Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":10,"error":null,"detail":{"tools":[{"name":"swap_quote","description":"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 O"},{"name":"swap_build","description":"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 bu"},{"name":"double_quote","description":"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 o"},{"name":"double_build","description":"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. Re"},{"name":"nn_quote","description":"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"},{"name":"nn_build","description":"Builds ONE signable/sendable atomic transaction executing every leg of an N:N basket through VurtoSwapRouter. Always re-quotes the whole basket fresh from chain"},{"name":"prepare_signing","description":"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"},{"name":"report_execution","description":"Reports a completed swap, closing the loop. EVM transaction: pass wallet + txHash + quoteId; never report an approve step as an execution. EVM CoW signature: pa"},{"name":"swap_status","description":"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_re"},{"name":"invoice_create","description":"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.ur"},{"name":"invoice_get","description":"Read an invoice by id (INV-XXXX-XXXX, with or without dashes): requested amount, token, network, receiver, status (open or paid), the paying transaction once pa"},{"name":"invoice_pay","description":"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 to"},{"name":"invoice_report_payment","description":"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 invo"}],"toolCount":13,"toolsHash":"ea5e9352ec57b45431f1a210c327ee1071b4cfdaa6ebe6ca24cf317740dc86a1","serverName":"vurto-swap","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-03-26"}},{"at":"2026-10-08T18:27:41.017Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":78,"error":null,"detail":{"tools":[{"name":"swap_quote","description":"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 O"},{"name":"swap_build","description":"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 bu"},{"name":"double_quote","description":"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 o"},{"name":"double_build","description":"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. Re"},{"name":"nn_quote","description":"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"},{"name":"nn_build","description":"Builds ONE signable/sendable atomic transaction executing every leg of an N:N basket through VurtoSwapRouter. Always re-quotes the whole basket fresh from chain"},{"name":"prepare_signing","description":"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"},{"name":"report_execution","description":"Reports a completed swap, closing the loop. EVM transaction: pass wallet + txHash + quoteId; never report an approve step as an execution. EVM CoW signature: pa"},{"name":"swap_status","description":"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_re"},{"name":"invoice_create","description":"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.ur"},{"name":"invoice_get","description":"Read an invoice by id (INV-XXXX-XXXX, with or without dashes): requested amount, token, network, receiver, status (open or paid), the paying transaction once pa"},{"name":"invoice_pay","description":"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 to"},{"name":"invoice_report_payment","description":"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 invo"}],"toolCount":13,"toolsHash":"ea5e9352ec57b45431f1a210c327ee1071b4cfdaa6ebe6ca24cf317740dc86a1","serverName":"vurto-swap","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-03-26"}},{"at":"2026-10-08T12:26:23.378Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":42,"error":null,"detail":{"tools":[{"name":"swap_quote","description":"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 O"},{"name":"swap_build","description":"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 bu"},{"name":"double_quote","description":"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 o"},{"name":"double_build","description":"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. Re"},{"name":"nn_quote","description":"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"},{"name":"nn_build","description":"Builds ONE signable/sendable atomic transaction executing every leg of an N:N basket through VurtoSwapRouter. Always re-quotes the whole basket fresh from chain"},{"name":"prepare_signing","description":"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"},{"name":"report_execution","description":"Reports a completed swap, closing the loop. EVM transaction: pass wallet + txHash + quoteId; never report an approve step as an execution. EVM CoW signature: pa"},{"name":"swap_status","description":"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_re"},{"name":"invoice_create","description":"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.ur"},{"name":"invoice_get","description":"Read an invoice by id (INV-XXXX-XXXX, with or without dashes): requested amount, token, network, receiver, status (open or paid), the paying transaction once pa"},{"name":"invoice_pay","description":"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 to"},{"name":"invoice_report_payment","description":"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 invo"}],"toolCount":13,"toolsHash":"ea5e9352ec57b45431f1a210c327ee1071b4cfdaa6ebe6ca24cf317740dc86a1","serverName":"vurto-swap","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-03-26"}}],"tools":[{"name":"swap_quote","description":"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 O"},{"name":"swap_build","description":"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 bu"},{"name":"double_quote","description":"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 o"},{"name":"double_build","description":"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. Re"},{"name":"nn_quote","description":"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"},{"name":"nn_build","description":"Builds ONE signable/sendable atomic transaction executing every leg of an N:N basket through VurtoSwapRouter. Always re-quotes the whole basket fresh from chain"},{"name":"prepare_signing","description":"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"},{"name":"report_execution","description":"Reports a completed swap, closing the loop. EVM transaction: pass wallet + txHash + quoteId; never report an approve step as an execution. EVM CoW signature: pa"},{"name":"swap_status","description":"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_re"},{"name":"invoice_create","description":"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.ur"},{"name":"wallet_check","description":"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 issu"},{"name":"invoice_get","description":"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 p"},{"name":"invoice_pay","description":"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 to"},{"name":"invoice_report_payment","description":"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 invo"}],"package":null,"toolSurface":{"id":"ts_t5te6amjfwjc","endpointId":"ep_bxhw4m67y24a","hash":"60a637bf5306a60a019ae2fe43ac1b677a00767f9102e4a80d38ab6b469c0a0c","toolCount":14,"serverName":"vurto-swap","serverVersion":"1.0.0","protocolVersion":"2025-03-26","firstSeenAt":"2026-10-10T11:25:01.647Z","lastSeenAt":"2026-10-11T00:28:35.951Z","observations":3,"toolNames":["swap_quote","swap_build","double_quote","double_build","nn_quote","nn_build","prepare_signing","report_execution","swap_status","invoice_create","wallet_check","invoice_get","invoice_pay","invoice_report_payment"],"distinctSurfaces":6},"endpointFacts":[{"id":"ep_bxhw4m67y24a","url":"https://swap.vurto.cc/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T01:24:42.615Z","auth":{"observedAt":"2026-10-09T01:24:42.624Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-09T01:24:42.635Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"vurto.cc","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-29T19:44:10.000Z","validTo":"2026-12-28T20:44:07.000Z","daysToExpiry":78,"sanCount":3,"fingerprint256":"14:4F:0E:1D:B8:75:AE:FB:E8:17:1B:B5:26:4D:DF:21:21:B8:60:E6:59:0C:E6:7A:A0:FB:5B:67:1C:E9:97:B4"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.cryptoconspiracy/vurto-swap","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.cryptoconspiracy%2Fvurto-swap","firstSeenAt":"2026-09-26T07:20:33.816Z","fetchedAt":"2026-10-10T07:18:25.710Z","normalizedAt":"2026-10-10T07:18:25.710Z"}]},"firstSeenAt":"2026-09-26T07:20:33.816Z","updatedAt":"2026-10-11T00:31:10.320Z"}