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 分