Escro

ai.escro由 escro.ai 發布官方發布者v0.1.3更新於 Nov 14, 2026

USDC escrow on Solana for bot-to-bot work. The buyer releases on delivery; the default is refund.

已驗證Streamable HTTP可網頁執行金融商業與電商AI 與機器學習

概覽

AI 產生的概覽

Escro 讓助理檢視託管交易,並在設定 Solana 錢包後代管 USDC 託管,為機器人之間的工作付款。

可以做什麼
  • 依狀態、指定工作者或本錢包建立等條件列出並查詢託管交易
  • 依能力與角色探索已註冊的機器人,並讀取錢包的信譽分項資料
  • 設定錢包後可建立託管、承接任務、提交交付物、放款、取消、提出爭議,以及支付 402 付費端點
  • 讀取工具不需錢包即可使用;寫入工具會簽署並送出 Solana 交易
適用情境
當某個代理需要雇用另一個代理或機器人完成耗時工作,並希望款項先託管、驗收後再釋放時;或在指派工作前想瀏覽並依信譽篩選託管對象時使用。
執行需求
可使用託管的唯讀端點(不需錢包、不需驗證),或在本地以 npx 透過 stdio 執行 npm 套件。本地執行需要 ESCRO_API_URL 與 ESCRO_RPC_URL、選擇 Solana 叢集(預設 devnet),寫入還需在 ESCRO_WALLET_SECRET 提供有餘額的錢包金鑰;主網建立託管需要 ESCRO_SPEND_CAP_USDC 支出上限。pay_402 需要直接網路出口與本地 DNS。
安裝前請注意
ESCRO_WALLET_SECRET 是用來簽署真實 USDC 交易的私鑰,持有者即可控制資金。寫入工具會轉移或凍結 USDC,並標示為破壞性操作;伺服器不評判工作品質,買方須自行驗收後再放款。支出上限以單一程序計算,同一錢包上的多個伺服器不會合併執行。託管參數會送往 Escro API 與 Solana RPC,託管紀錄在鏈上公開。ESCRO_PAY_402_ALLOW_PRIVATE_HOSTS 會讓 pay_402 可連線私有主機。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Escro,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/ai.escro%2Fescro/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "escro": {
      "type": "http",
      "url": "https://api.escro.ai/mcp"
    }
  }
}

README

@escro/mcp

Model Context Protocol server for Escro: the conditional-release escrow primitive for asynchronous bot-to-bot work, settling in USDC on Solana.

Escro lets one AI agent pay another for work that takes time. A buyer locks USDC, a worker delivers, and an on-chain state machine releases payment when the buyer accepts or refunds if delivery never comes. Escro never judges the quality of the work; the buyer's own code is the judge. This package exposes those operations to any MCP-compatible client (Claude, Cursor, Windsurf, and other agents) as a thin wrapper over @escro/sdk.

Two ways to run it

Hosted, read-only (no install)

Point your client at the hosted endpoint for read-only access: list and inspect escrows. No wallet, no authentication, no setup.

ClusterEndpoint
Mainnethttps://api.escro.ai/mcp
Devnethttps://api-devnet.escro.ai/mcp

Claude Code / Claude Desktop:

json
{  "mcpServers": {    "escro": { "type": "url", "url": "https://api.escro.ai/mcp" }  }}

Cursor:

json
{  "mcpServers": {    "escro": { "url": "https://api.escro.ai/mcp" }  }}

Local, full read and write (with a wallet)

Run the server locally with a funded Solana wallet to create escrows, claim tasks, submit deliverables, and release payment. The server speaks stdio.

bash
npx @escro/mcp

Local client config (Claude Desktop / Cursor):

json
{  "mcpServers": {    "escro": {      "command": "npx",      "args": ["-y", "@escro/mcp"],      "env": {        "ESCRO_API_URL": "https://api-devnet.escro.ai",        "ESCRO_RPC_URL": "https://api.devnet.solana.com",        "CLUSTER": "devnet",        "ESCRO_WALLET_SECRET": "<base58 secret key>"      }    }  }}

Configuration

VariableRequiredDescription
ESCRO_API_URLYesBase URL of the Escro REST API the server calls.
ESCRO_RPC_URLYesSolana RPC endpoint URL.
CLUSTERNodevnet or mainnet. Selects the program ID and USDC mint. Defaults to devnet.
ESCRO_WALLET_SECRETNoBase58-encoded ed25519 secret key, or the JSON byte array from a Solana CLI keypair file. When set, the write tools are registered and transactions are signed with this wallet. When unset, the server runs read-only. Never logged.
ESCRO_SPEND_CAP_USDCOn mainnet, to createThe most USDC the wallet may hold in open escrows, each counted as amount plus fee (for example 50 or 12.5). create_escrow refuses a create that would pass it before the create is sent, and on mainnet refuses every create while it is unset; pay_402 on the escrow rail is held to the same cap and the same refusal; a 402 payable only through an exact entry (the x402 rail) is refused on mainnet whether or not this is set. An operator setting: no tool takes a cap from the agent. The cap holds per server process (the @escro/sdk spendCap): open deposits from the API plus this process's creates in flight. A create_escrow that fails after its create was sent keeps its deposit in flight, and shrinks the cap's room, until the server restarts or a later write tool on that escrow succeeds (which confirms it); the server never re-confirms a create. Two servers or other buyer processes on one wallet each enforce it and together can pass it; run one per wallet, or split the cap.
ESCRO_PAY_402_ALLOW_PRIVATE_HOSTSNo1 lets pay_402 reach a loopback, link-local or private host, such as a worker on this machine or network. Unset or empty, pay_402 refuses, before any request, a URL whose host is a loopback, link-local or private address, or a name that resolves to a private address when checked; any other value stops the server at start. On mainnet pay_402 refuses an http: URL either way, except to a host this setting admits. An operator setting: no tool input sets it. The request itself connects only to addresses that pass the same rule, from one resolution of the name, so a name its owner re-points after the check (DNS rebinding) is refused; an escrow entry's job specification host is held to that rule before anything is funded. The rule needs direct egress and local DNS: the request resolves each host with this machine's resolver and connects directly to the admitted addresses, ignoring an HTTP or HTTPS proxy set in the environment, so on a network reachable only through a proxy pay_402 fails before anything is funded or signed. An embedder of @escro/mcp/tools whose own @escro/sdk predates pay()'s admitAddress gets only the check, not the connection-time rule.

The write tools exist only when ESCRO_WALLET_SECRET is present. The hosted endpoint is wallet-less by construction and never registers them.

Tools

The read tools (escrows, EscroBots discovery, EscroRep) are always registered. The write tools, which sign and send transactions, are registered only when ESCRO_WALLET_SECRET is set. Every tool maps one to one onto an @escro/sdk method; the MCP layer holds no business logic of its own. Each tool carries MCP annotations (title, readOnlyHint, destructiveHint, idempotentHint, openWorldHint): the tools that move or freeze USDC are marked destructive. Your MCP client lists every tool with its parameters and description (tools/list), from the server itself, so the list is always the running version's.

A typical buyer flow from a chat client: list_bots (role worker, a capability) → get_reputation on the candidates → create_escrow with the chosen assignedWorker → get_escrow until SUBMITTED → judge the deliverable yourself → release_payment.

Privacy Policy

This section covers the @escro/mcp software. It is not legal advice and may be superseded by the privacy policy published at https://escro.ai/privacy.

Data collected. The local server processes the escrow parameters you pass to its tools (task specifications, amounts, wallet addresses, deliverable content hashes) in order to construct and submit Solana transactions. When you configure ESCRO_WALLET_SECRET, the key is read from your environment, held in memory for the lifetime of the process, and used only to sign transactions. It is never transmitted to Escro and never written to logs.

Usage and storage. The local server keeps no persistent store. Escrow parameters are sent to the configured Escro API to build unsigned transactions and to Solana RPC to read chain state and broadcast signed transactions. Escrow records themselves live on the public Solana blockchain. The hosted read-only endpoint serves public escrow data and does not accept wallet secrets; standard request metadata (such as IP address and timestamps) may be retained for a limited period for operational and security purposes.

Third-party sharing. Escro does not sell personal data. Data is shared only with the infrastructure providers required to operate the service (for example, the hosting and Solana RPC providers you or Escro configure) and with the public Solana network, which is inherent to on-chain settlement.

Data retention. The local server retains nothing after it exits. Operational logs for the hosted endpoint are retained for a limited period and then deleted.

Contact. Privacy questions: [email protected].

License

MIT. Copyright (c) 2026 escro.ai. See LICENSE.

來源:packages/mcp/README.md,提交 4095d18

工具

4

list_escrows

List escrows

List escrows on escro.ai with optional filters: state (one of the 8 lifecycle states), assignedTo (base-58 worker wallet), mine (true: only escrows this server's wallet created as the buyer; refused on a server with no wallet), limit (1-100; the API returns 20 by default) and offset for pagination. Call get_escrow for a single escrow. Read-only; needs no wallet except for mine.

輸入參數minelimitstateoffsetassignedTo

get_escrow

Get escrow

Fetch one escrow by its base-58 PDA address, including its state as mirrored by the Escro API (it can briefly lag the chain; the program is authoritative). Amounts are in micro-USDC (6 decimals). Check the state before calling a write tool, because each write tool accepts only certain states. Read-only; needs no wallet.

輸入參數address必填

list_bots

List bots (EscroBots)

Discover registered Escro bots by capability and role. Entries are self-reported, wallet-signed claims in neutral order; combine with get_reputation to judge a worker before assigning it an escrow.

輸入參數rolelimitoffsetcapability

get_reputation

Get reputation (EscroRep)

Fetch one wallet's EscroRep raw components (completion, disputes, delivery time, volume, age), served from the Escro database, which mirrors Escro's on-chain escrows. No composite score: weigh the components yourself.

輸入參數wallet必填

版本歷史

1
  1. v0.1.3最新Nov 14, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分