关于 Shinjuku Shielded
Shinjuku Shielded 是面向 Agent 的自托管钱包和 x402 支付服务,使用 Solana 上的 USDC。其本地 MCP 服务通过隐私余额向兼容卖家付款,并支持用户设置消费上限。
主要功能
- 01将 USDC 存入隐私余额或取出
- 02隐私支付 Solana x402 端点
- 03预览价格并发现卖家
- 04设置单笔及每日上限
- 05查看余额、付款与退款
适用场景
- 01支付付费 API,避免链上显示付款钱包
- 02付款前查看端点价格
- 03从钱包或交易所存入 USDC
- 04将隐私余额发送至 Solana 地址
MCP 相关
本地 MCP 服务可让 Agent 管理钱包、发现和预览 x402 卖家,并从隐私余额付款。用户可设置消费上限,工具调用不能提高上限。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y shinjuku-shieldedSHIELDED_WALLET_HOMEThe private folder that holds the encrypted wallet and config.json. Default: ~/.carbon-shielded-wallet (the folder that setup uses).SHIELDED_WALLET_PASSPHRASE密钥The wallet passphrase, if you do not use --passphrase-file.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
原文在翻译后有更新,译文可能不是最新。

Shinjuku Shielded MCP
在你的 Agent 中运行的私有 x402 促成器。
Shinjuku Shielded 使用 Solana 上的隐匿 USDC 余额结算 x402 付款:在链上,隐匿付款不会显示付款方身份。这个 MCP 服务让你的 Agent 可以使用它。它在你的机器上运行,遵循由你独自设定的限额。
- 自主托管。 服务在你的机器上运行。你的密钥绝不会离开机器。我们绝不运行它,也绝不持有你的资金。
- 隐匿付款。 你的 Agent 使用隐匿余额付款。加上
--tor后,没有服务能看到你的 IP。 - 一条命令即可设置。 在没有钱包的机器上运行
npx -y shinjuku-shielded mcp即可进行设置。它会创建钱包、私有口令文件和经过验证的证明工具。 - 限额由你独自设定。 消费限额为可选项;默认情况下没有限额(付款仅受余额限制)。设置过程会记录你设定的限额。工具调用只能调低限额,不能调高。
- 查找卖家。
x402_discover会在你的机器上搜索公开的 x402 列表(Coinbase x402 Bazaar、PayAI、Dexter 等)。 - 向任何 Solana
exact卖家付款。 无论卖家使用 Coinbase CDP、PayAI 还是其他促成器,都可通过 Shinjuku 付款:你的钱包私密地向我们付款,我们再用自己的备用资金向卖家付款。无需填写或预留任何内容。 - 付款前先查看。
x402_preview会显示价格以及你的限额是否允许付款。它不会付款。 - 无需 SOL。
wallet_shield只需要 USDC。我们的促成器中继器会支付网络费用。 - 绝不重复。 使用相同的
request_id重试,会继续同一笔付款、存款或解除隐匿操作,绝不会另行发起。 - 无需 RPC、账户或 API 密钥。 默认通过我们的中继器读取数据。如果你提供自己的 RPC,则始终优先使用它。
所有 Shinjuku Shielded 服务都会在发布时加入此 MCP。
此服务是 shinjuku-wallet 的 mcp 命令,只有一个文件。本仓库包含设置指南和示例。钱包文件、其 SHA-256 和发布历史记录位于
ShinjukuStaition/shinjuku-shielded。
用日常语言与它对话
像询问一个人那样向你的 Agent 提问:
| 你说 | 你的 Agent 调用 |
|---|---|
| “我的余额是多少” | wallet_balance |
| “隐匿 5 USDC” | wallet_shield |
| “查找卫星图像卖家” | x402_discover |
| “为这个 URL 付款” | x402_preview,然后调用 x402_pay |
| “私下向 发送 2 USDC” | wallet_unshield |
每个答复都会告诉 Agent 下一步要调用的准确工具。钱包会自行读取区块链并写入加密备份,因此你无需运行命令来维护它。
工具
设置
在没有钱包的机器上,服务会以设置模式启动。
| 工具 | 功能 |
|---|---|
shinjuku_setup | 请你在 MCP 客户端中确认是否允许它在此机器上创建 Shinjuku Shielded 钱包,并显示限额。随后运行设置,并将同一服务切换为钱包工具。它绝不会索要机密信息。无法发起确认的客户端会收到提示,要求在终端中运行 npx -y shinjuku-shielded setup。 |
wallet_status | 告知钱包是否已设置,以及下一步该做什么。 |
在设置模式下,所有资金工具都会返回 wallet_not_set_up,且不执行任何操作。
充值进隐私余额
| 工具 | 功能 |
|---|---|
wallet_shield | 将 USDC 从钱包自己的 Solana 密钥转入你的隐私余额。启用 --proof-tools 后可用。--no-shield 会将其关闭。充值需要几分钟:首次调用会启动充值并返回一个阶段。使用相同的 request_id 再次调用即可查看阶段,不会启动第二笔充值。充值到账后,钱包会从链上读取,并写入加密备份。钱包自己的密钥需要有 USDC,无需 SOL:我们的中继器代付网络费用,你支付充值费用。 |
支付
| 工具 | 功能 |
|---|---|
x402_discover | 在你的机器上搜索公开的 x402 列表(Coinbase x402 Bazaar、PayAI、Dexter 等),并返回匹配的卖家。不会进行支付。首次调用约需 15 秒。 |
x402_preview | 发起一次不付费的请求。返回卖家的价格、方案,以及你的限额是否允许支付。不会进行支付。对于标准的 exact 卖家,会添加 feeAtomic(我们的费用)和 totalAtomic(价格加费用,即从你的余额中扣除的金额)。如果卖家列出了多个网络,则根据其 Solana 报价计算价格。 |
x402_pay | 支付 URL(如果它要求付款),并返回响应。对于不返回 402 的 URL,只会获取一次,不会付款。图片响应(图片字节数据或 JSON image_base64)会作为 MCP 图片块返回,并保存到文件中。如果付款已到账,但卖家没有提供响应,则结算为已支付。如果标准的 exact 卖家不接受我们的付款,响应为 p03_float_refund_pending:价格和费用会在约 2 分钟内自动退回你的余额。别名:fetch_paid。 |
取消隐私
| 工具 | 功能 |
|---|---|
wallet_unshield | 将隐私余额中的 USDC 发送到公开的 Solana 地址。启用 --exit-proof-tools 和 --profile 后可用。我们的支付方承担所有网络费用。同一 request_id 绝不会执行两次取消隐私转账。使用 --unshield-to 指定的地址会立即收到转账。其他地址只有在你于 MCP 客户端中确认后才会收到转账:"Send X USDC from your shielded balance to ?"。如果你拒绝,或 5 分钟内没有响应,则不会发送任何资金。无法发起确认的客户端会被拒绝,因此提示词注入无法自行指定地址。钱包自己的密钥会被拒绝:它曾用于存入资金,因此向该地址转出会将这些存款关联起来。 |
账户
| 工具 | 功能 |
|---|---|
wallet_balance | ONE 余额(balanceAtomic,x402_pay 可支用的金额)和 UNSHIELDED(钱包自身 Solana 密钥上的普通 USDC)。breakdown 列出 ONE 余额的组成部分:shieldedAtomic(wallet_unshield 可转出的金额)、refundsInFlightAtomic(正在退回途中的 Shinjuku 退款)以及 setAsideAtomic(较旧版本存放在 pockets 中的金额)。如果余额数据过时,会先从链上读取。读取 UNSHIELDED 需要进行一次网络请求;如果失败,该行会显示为空,并说明原因。 |
wallet_receipts | 最近的已付款收据:主机(绝不显示完整 URL)、金额、交易和时间。 |
此外:wallet_cancel 会关闭一笔未完成的付款,让其预留余额退回。
wallet_shield 和 wallet_unshield 始终会显示在工具列表中。如果其中一个被关闭,它会返回 "error": "mcp_tool_disabled",并告知 Agent 应向你询问什么。
付款方式:
shielded-exact,使用你的 shielded 余额,只要卖家提供此方式就会采用。- 标准 Solana
exact,通过 Shinjuku(浮动支付)。 对于使用任何 facilitator(Coinbase CDP、PayAI 或其他服务)的卖家,x402_pay都会从你的 shielded 余额私密地向我们付款:卖家的价格加固定费用(feeAtomic,2026-10-11 时为 0.001 USDC)。我们会立即从自己的共享浮动资金向卖家付款。链上显示的是 Shinjuku 向卖家付款,而不是你的钱包。max_payment_atomic必须足以支付价格加费用。单次请求可支付的最高价格为我们最大的 float pocket:GET https://pay.shinjukustaition.com/api/x402/float/config中的largestAtomic(2026-10-11 时为 3 USDC)。 - 使用相同
request_id重试不会重复付款。
隐藏金额(scheme confidential,即 V0b vault)已弃用:V0b 程序已于 2026-10-11 在链上关闭。
较旧版本存放在 pockets 中的金额仍计入 ONE 余额。当服务端启用了 --proof-tools、--exit-proof-tools 和 --profile 时,会在钱包空闲时自动将该金额退回 shielded 余额。
shinjuku-wallet pocket reshield 可手动执行相同操作。
余额分散在多个账户中时:一笔付款会使用一个账户,外加最多 3 个 note。如果没有单个账户的余额足以支付某个价格,x402_pay 会说明这一点,并提示你运行 shinjuku-wallet merge。运行后,等到下一个 pool anchor(通常在一分钟内),Agent 就可以再次付款。
隐私模式
| 默认 | --tor | |
|---|---|---|
| 链上 | shielded 付款不会显示付款方身份。 | 相同。 |
| 你的 IP | 付款会发送至 pay.shinjukustaition.com,路径中不经过 CDN。我们的服务器会看到你的 IP,但不会保留访问日志。 | 对所有人隐藏,包括我们。 |
| 卖家 | 能看到你的 IP。 | 看不到你的 IP。 |
| 速度 | 更快。 | 每个请求慢约 1-2 秒。 |
| 需要 | 无需额外配置。 | Tor,并在 torrc 中设置 HTTPTunnelPort 127.0.0.1:9080 IsolateDestAddr。 |
设置
你需要在 Linux 上使用 Node.js 22 或更高版本,或在 Windows 上使用 WSL。不支持 macOS:证明器是 Linux 程序。当前钱包版本为 08a4b56f(npm [email protected])。它使用 0.3.5 版本的 pool,并使用证明工具 47678912。
从 0.3.7 或更早版本升级。2026-10-11,pool 程序已升级(pool anchor 更快),0.3.7 及更早版本会拒绝付款。运行一次 npx -y shinjuku-shielded@latest setup:该命令会固定新程序并获取新的证明工具。你的钱包、钱包地址和余额都保持不变。
从早于 0.3.5 的版本升级。2026-10-10,pool 程序已升级,shielded pool 迁移至 45mhosfA2MuygZWeqYRVcEZX2Q3gA8KR8FwP6AZkK1zR。旧 pool AAG16mNWTtC1sBeu2tTVTwWjqWXCefLTCByVPj5X3kV8 已弃用,早期版本会拒绝付款。运行一次 npx -y shinjuku-shielded@latest setup:该命令会固定新程序,并为新 pool 设置钱包。该钱包的地址会改变:发送 USDC 前,请向你的 Agent 索取新地址。
1. 将服务添加到你的 Agent
Claude Code:
claude mcp add --scope user shinjuku-shielded -- npx -y shinjuku-shielded mcp
Claude Desktop(claude_desktop_config.json)、Cursor(~/.cursor/mcp.json)
和其他 JSON 配置的宿主:
{
"mcpServers": {
"shinjuku-shielded": {
"command": "npx",
"args": ["-y", "shinjuku-shielded", "mcp"]
}
}
}
2. 启动并确认设置
首次启动时,服务还没有钱包,因此会进入设置模式。向你的 Agent 询问“我的余额是多少”。MCP 客户端会请你确认:在这台机器上创建 Shinjuku Shielded 钱包。确认后,设置流程便会运行(我们测试中约需 25 s,证明工具下载约 150 MB)。随后,同一服务会切换到钱包工具。无需重启。
在终端中运行 npx -y shinjuku-shielded mcp,会询问“现在设置 Shinjuku Shielded 吗?(y/n)”。也可以单独运行设置:
npx -y shinjuku-shielded setup
它会询问限额(按 Enter 保留默认值)和 Tor。--yes 不会询问任何内容。--add-to claude-code(或 claude-desktop、cursor)还会将服务添加到相应宿主的配置中。
设置会写入 ~/.carbon-shielded-wallet(或 SHIELDED_WALLET_HOME):
- 钱包,以及包含种子和密钥的恢复文件。将恢复文件复制到两个离线位置,然后从这台机器上删除。
passphrase.txt:新生成的随机密码短语,只有你能读取。它绝不会被打印出来,也不会被任何工具接收或返回。- 证明工具。设置会根据此钱包版本固定的文件集合检查每个文件。
config.json:限额、路径和 Tor 设置。有了该文件,运行mcp就无需任何标志。命令行标志仍具有优先权。
支出限额为可选项,默认关闭:不设置限额时,只有余额会限制付款。要设置限额,请指定 --max-payment、--max-session 或 --max-total(单位为最小 USDC 计量单位:50000 = 0.05 USDC)。重新运行设置会取消旧版本的默认限额(0.05 / 1 / 20 USDC)。--prefer-tor 会记录 Tor 设置(参见“隐私模式”)。
你可以随时再次运行 setup。它不会更改现有钱包,并会再次检查每个证明工具文件。
3. 为钱包充值
向你的 Agent 询问“我的钱包地址是什么?”。向该地址发送 USDC(Solana SPL)。你不需要 SOL。然后说“shield 1 USDC”。具体步骤见 前 10 分钟。
高级:下载文件并校验
下载发行文件,并在运行前校验其 SHA-256。当前文件和哈希也列在 发行版本表 和 https://shinjukustaition.com/skill.md 的第 7b 节中。
curl -fsSLO https://shinjukustaition.com/wallet/08a4b56f/shinjuku-wallet.mjs
echo "08a4b56f6452268ffdd513e67326de8782b53dcec16ba88adaddf16793581206 shinjuku-wallet.mjs" | sha256sum -c -
node shinjuku-wallet.mjs setup
下载文件后,将 npx -y shinjuku-shielded 替换为
node /abs/path/shinjuku-wallet.mjs。要固定 npm 版本,请写成
[email protected]。
高级:使用标志代替 config.json
只有在未提供 --pool 和 --wallet 时,mcp 才会读取 config.json。
若要自行设置所有标志(例如,为在 0.2.0 之前通过 init 创建的钱包设置标志):
claude mcp add --scope user shinjuku-shielded -- npx -y shinjuku-shielded mcp \
--max-payment 50000 --max-session 200000 --tor \
--pool 45mhosfA2MuygZWeqYRVcEZX2Q3gA8KR8FwP6AZkK1zR \
--program 8PYPw3FSFTMbvSneXdcoH6jNoN4VD23nHwPY2A2riUy1 \
--memo-service https://pay.shinjukustaition.com \
--proof-tools /abs/path/shinjuku-proof-tools/proof-tools.json \
--exit-proof-tools /abs/path/shinjuku-proof-tools/exit-proof-tools.json \
--profile /abs/path/shinjuku-proof-tools/public-profile.json \
--passphrase-file /abs/path/passphrase.txt
请使用绝对路径:宿主会从自己的文件夹启动服务。在 Windows 上,路径应写为
C:/Users/you/...。--proof-tools 会启用 wallet_shield。
--exit-proof-tools 和 --profile 会启用 wallet_unshield。
对于旧版钱包,也可以在设置 SHIELDED_WALLET_HOME 为钱包文件夹、设置
--passphrase-file 为密码短语文件后,运行一次 setup。它会保留你的钱包,并在其旁边写入 config.json。
向新地址转账需要使用支持 MCP elicitation 的宿主(它会显示确认提示)。对于不支持此功能的宿主,请使用 --unshield-to 指定每个地址。
示例
examples/ 中包含完整配置和操作指南:
- Claude Code:
claude mcp add命令、首次启动、Tor、每个标志的说明,以及如何检查是否运行正常。 - Claude Desktop 和 Cursor:完整的 JSON 配置。
- Hermes Agent:
config.yaml配置项。 - Vercel AI SDK:通过
@ai-sdk/mcp在generateText中使用服务的工具,无需其他软件包。 - Solana Agent Kit:
npm 软件包
solana-agent-kit-plugin-shinjuku,并将钱包作为 Solana Agent Kit v2 操作。 - 前 10 分钟:添加服务、完成设置、充值、隐匿、支付、发送并查看余额。
- 直接请求:11 个请求、每个请求调用的工具,以及答案的格式。
上限和标志
设置完成后,config.json 中保存了上限和路径。你可以将以下任意标志添加到 mcp 命令中。标志的设置优先于 config.json。
| 标志 | |
|---|---|
--max-payment <atomic> | 可选。单笔付款的最高金额。设置时会记录此值。默认:不限额。 |
--max-session <atomic> | 可选。此服务进程的付款总额上限。若同时设置两项,该值必须不小于 --max-payment。设置时会记录此值。默认:不限额。 |
--max-per-host-day <atomic> | 可选。单个卖家主机在 24 小时内可收到的最高金额。 |
--allow-host <host> | 可选,可重复指定。仅向这些卖家主机付款。 |
--no-shield | 可选。关闭 wallet_shield。使用 --proof-tools 时默认开启。 |
--max-shield <atomic> | 可选。单次 shield 调用可转移的最高金额,也是此进程可 shield 的总金额上限。不设置时,除余额外没有其他上限。 |
--allow-shield | 为兼容旧配置而接受。不设置时也会开启 wallet_shield。 |
--exit-proof-tools <file>、--profile <file> | 可选。开启 wallet_unshield(需搭配 --proof-tools)。 |
--unshield-to <address> | 可选,可重复指定。向这些地址转账无需确认。向其他地址转账需要你在 MCP 客户端中确认。钱包自身的密钥会被拒绝:如果在此处指定该密钥,服务将不会启动。 |
--ready-pockets <0-5> | 为兼容旧配置而接受,但会被忽略。标准 exact 卖家通过 Shinjuku 收款,钱包不会填充任何 pocket。 |
--no-auto-pockets | 为兼容旧配置而接受。此标志也会停止将旧 pocket 自动退回 shielded 余额。 |
--max-unshield <atomic> | 可选。单次 unshield 调用可转移的最高金额,也是此进程可 unshield 的总金额上限。不设置时,你确认的转账可以转移全部 shielded 余额。 |
--no-tor | 可选。本次运行不会使用设置时记录的 Tor。 |
--tor | 可选。所有请求均通过 Tor;我们通过其 onion service 连接 facilitator。需要在 torrc 中配置 HTTPTunnelPort 127.0.0.1:9080 的 Tor。请参阅隐私模式。 |
--rpc-file <file> | 可选。使用你自己的 Solana RPC URL。不设置时,读取请求会发送到我们的中继,该中继可以看到钱包读取了哪些账户。 |
密码短语在启动时从 --passphrase-file 或 SHIELDED_WALLET_PASSPHRASE 获取,绝不会来自工具调用。拒绝是正常答复({"ok": false, "error", "detail", "next"});Agent 会按照 next 的指示操作。因触及上限而拒绝时,Agent 会提示你进行确认:只有你能设置上限。
解除 shield 的资金属于你自己,因此不会计入钱包文件的付款预算(init --max-payment、--max-cumulative)。向卖家的付款仍会计入预算。要查看、更改或移除这些钱包文件上限,请运行 shinjuku-wallet limits(none 会移除上限)。因触及其中任一上限而拒绝时,Agent 会提示你进行确认。
维护会自动进行。存款到账后,以及本地余额过期时的付款或解除 shield 操作之前,服务都会自行读取链上数据。默认情况下,服务会通过我们的 facilitator 提供的 https 历史记录代理读取池历史记录:新钱包大约 60 秒后即可使用。每次 shield 和解除 shield 后,钱包都会将加密备份写入 <SHIELDED_WALLET_HOME>/auto-backups/<pool>/。钱包会保留最新的 5 份完整且已验证的备份。备份与钱包位于同一磁盘上:请将其中一份复制到其他位置。
其他人能看到什么
- 除非使用
--tor,否则卖家可以看到你的请求、价格、时间和 IP。 - 你的 Agent 宿主和模型提供商会看到 Agent 处理的每个 URL、正文、价格、付费答案、金额和提现地址。使用本地模型可以消除这类观察者。
- 你的 MCP 客户端应用(Claude Code、Claude Desktop、Cursor 等)会回答是否确认发送,而不是模型。因此,受到提示词注入的 Agent 无法批准发送。不过,钱包信任客户端应用会向你显示对话框:恶意或经过修改的客户端应用可能会自行回答“接受”。若要严格设置,请使用
--unshield-to指定你的地址,并使用不支持征询的客户端。这样,任何其他地址都会被拒绝。 - 我们的支付协调器会处理你的付款。它不会保留访问日志。
- 在链上,
shielded-exact付款不会显示付款人。浮动支付是付给我们的资金池的付款(隐藏付款人),随后 Shinjuku 浮动资金账户会向卖家转出一笔普通的 USDC 转账。许多买家会从同一批浮动资金账户付款。转账会在资金池付款后几秒到账,因此可以根据时间将两者关联起来。 - 对于浮动支付,在付款最终确认或退款之前,我们的服务器可以看到哪笔私密付款支付给了哪位卖家、价格、URL 和时间,但看不到你的钱包。
wallet_shield是公开步骤:链上会显示 USDC 离开钱包自身密钥的金额和时间。wallet_unshield是公开步骤:链上会显示金额、收款地址和时间。wallet_balance中的 UNSHIELDED 行会读取钱包自身密钥。RPC(默认情况下是我们的中继)可以看到它读取的是哪个密钥。- 隐私需要足够多的用户。用户较少时,仍可能通过时间关联付款。
状态
已列入官方 MCP 注册表,
条目为 io.github.ShinjukuStaition/shinjuku-mcp。npm 包:shinjuku-shielded,
自本仓库的工作流发布,并附带 npm 来源证明(从 0.1.1 版本起)。
已在 Solana 主网上线。当前钱包版本为 08a4b56f(npm
0.3.8)。2026-10-11,Float pay 在生产环境通过 PayAI 结算方为两家库存卖家付款,金额分别为 0.10 USDC 和 1.50 USDC;还通过我们自己的结算方为一家库存卖家付款两次,每次 0.01 USDC:交易记录见
proof.md。
这些交易通过此 MCP 服务使用真钱完成,面向我们的生产结算方,使用的是较早的资金池 AAG16…3kV8
(已于 2026-10-10 退役)。前两笔来自一个全新钱包,采用默认设置,期间从未持有 SOL(钱包版本 94a357bc)。其余交易使用钱包版本 1a336885(2026-10-08)。
| 工具 | 交易 |
|---|---|
wallet_shield(无 SOL) | 5np1EYjN…fH2 |
x402_pay,向一家公开的卫星影像卖家付款(0.013 USDC,8 秒内收到 JPEG 答案) | iC6gnjFM…DHwC |
wallet_shield(转入 1 USDC) | hWzDiR1R…izn |
wallet_unshield(转出 0.5 USDC) | 自付 5evVHz8X…r9uv · 提取 4yY2YXLS…pgF2i |
wallet_unshield(经你确认,0.25 USDC,版本 1a336885) | 自付 3jQyPgrA…QEWw · 提取 4yA3qkHU…jCoh |
x402_pay(Float pay 之前,使用 exact pocket) | kX2zbbuR…8wW |
没有任何 unshield 交易包含执行 shield 的钱包;每笔 unshield 的网络费用均由我们的结算方支付。
完整指南:https://shinjukustaition.com/skill.md · Onion:http://2kfhlfuyuwvhmibjrpxqsg4nrbcxasjgjq7kmnfzgfwzptkhhznz3dad.onion/skill.md · X:@Shin_StAItion
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。