关于 Snap Protocol Solana
Snap Protocol Solana 是面向 AI Agent 间私密转账的 Solana 支付协议和 SDK。它通过屏蔽池与零知识证明,阻止观察者将提现关联到特定存款。
主要功能
- 01SOL 和 USDC 屏蔽池
- 02Groth16 提现证明
- 03Merkle 路径票据处理
- 04中继式私密提现
- 05Agent Kit 与 LangChain 工具
适用场景
- 01在 Agent 之间进行私密支付
- 02提现时避免关联到特定存款
- 03通过中继提现实现 Gas 抽象
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
SNAP — Shield Network Agent Payments
在 Solana 上使用零知识证明实现 Agent 对 Agent 的私密支付。
SNAP 已在 Solana 主网上线。有关该协议的威胁模型和信任假设,请参阅安全文档。
SNAP 的功能
SNAP 让 AI Agent 能够相互支付,而链上观察者无法得知付款双方。存款会通过密码学承诺存入一个屏蔽池。取款时,用户需提供 Groth16 证明,证明收款人有权获得这笔资金,同时不会泄露其申领对应的是哪笔存款。
工作原理
- Agent A 将 SOL 和一份承诺存入池中。
- Agent A 通过私密渠道向 Agent B 发送一条秘密便笺。
- Agent B 重建 Merkle 路径并生成 Groth16 证明。
- Agent B 使用
withdraw_zk或withdraw_zk_relayed提取 SOL。 - 观察者 可以看到池中的活动,但无法将取款与特定存款关联起来。
快速开始
安装 SDK 及其对等依赖:
npm install snap-solana-sdk @solana/web3.js @coral-xyz/anchor
最简私密支付:
import { Connection, Keypair, PublicKey, clusterApiUrl } from "@solana/web3.js";
import { SNAPClient } from "snap-solana-sdk";
async function main() {
const connection = new Connection("https://your-rpc-url.com", "confirmed");
const sender = Keypair.generate();
const recipient = Keypair.generate();
const pool = new PublicKey("B8SyffZKt8LABKogWjH9rZcjY5PV2hyYRCbTxxbcrpFf");
const snapA = new SNAPClient(connection, sender);
const snapB = new SNAPClient(connection, recipient);
const note = await snapA.deposit(pool, 0.1);
const serialized = SNAPClient.serializeNote(note);
await snapB.withdraw(pool, SNAPClient.deserializeNote(serialized), recipient);
}
void main();
如果你想运行本仓库中的演示,请使用:
npx tsx examples/basic-payment.ts
npx tsx examples/agent-to-agent.ts
npx tsx examples/relayed-withdrawal.ts
架构
| 组件 | 描述 |
|---|---|
| Solana 程序 | Anchor 程序,包含 deposit、withdraw_zk 和 withdraw_zk_relayed |
| ZK 电路 | 使用 Poseidon 和深度为 10 的 Merkle 树的 circom Groth16 电路 |
| SDK | snap-solana-sdk,用于便笺处理、证明生成和客户端 API |
| Agent Kit 插件 | Solana Agent Kit v2 插件,包含 snap_create_pool、snap_deposit、snap_withdraw 和 snap_withdraw_private |
| LangChain 工具 | snap-langchain-tools — 面向 LangChain/LangGraph Agent 的 StructuredTool 封装 |
| 中继器 | 用于抽象 Gas 的私密取款 Express 服务 |
主网
池的面额为 0.1 SOL、1 USDC 和 10 USDC。信任假设请参阅 THREAT_MODEL.md。
| 字段 | 值 |
|---|---|
| 程序 ID | 9uePoqdgaXpqFLQM2ED1GGQrwSEiqe3r6tW1AfsnrrbS |
| 池 — 0.1 SOL | B8SyffZKt8LABKogWjH9rZcjY5PV2hyYRCbTxxbcrpFf |
| 池 — 1 USDC | 5LeuHrPBgHNhgbCy996MEjcsBk5gNHhVj6AiuuCHZ8od |
| 池 — 10 USDC | ECuHf8kgiWfmL3Q6id4WGBQWvuukhzqvF5vsxuPAKZBv |
| 网络 | Solana 主网 beta |
| 协议费用 | 0.25% |
项目结构
├── programs/ # Solana program (Rust/Anchor)
├── circuits/ # circom ZK circuit
├── sdk-package/ # snap-solana-sdk npm package
├── agent-kit-tool/ # Solana Agent Kit plugin
├── relayer/ # Express relay service
├── agents/ # Demo agent scripts
├── examples/ # Minimal end-to-end examples
├── scripts/ # Deployment and quickstart scripts
├── docs/ # Troubleshooting, circuit, and compliance docs
└── tests/ # Integration tests
开发
# Build the Solana program
anchor build
# Run validator-backed tests
PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH" anchor test --skip-build
# Build and test the SDK package
cd sdk-package && npm install && npm run build && npm test
安全
已知风险、协议限制和安全文档见 FINDINGS.md、docs/CIRCUIT_SPEC.md、docs/THREAT_MODEL.md、docs/COMPLIANCE.md 和 docs/GOVERNANCE.md。
许可证
MIT
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。