Server data from the Official MCP Registry
Private agent payments on Solana via ZK proofs: deposit, withdraw, list pools, estimate fees.
About
Private agent payments on Solana via ZK proofs: deposit, withdraw, list pools, estimate fees.
Security Report
Valid MCP server (3 strong, 3 medium validity signals). No known CVEs in dependencies. ⚠️ Package registry links to a different repository than scanned source. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.
11 files analyzed · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
What You'll Need
Set these up before or after installing:
Environment variable: SNAP_RPC_URL
Environment variable: SNAP_POOL_ADDRESS
Environment variable: SNAP_RELAYER_URL
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-agentzeny-snap-private-payments": {
"env": {
"SNAP_RPC_URL": "your-snap-rpc-url-here",
"SNAP_RELAYER_URL": "your-snap-relayer-url-here",
"SNAP_POOL_ADDRESS": "your-snap-pool-address-here"
},
"args": [
"-y",
"snap-mcp-server"
],
"command": "npx"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
SNAP — Shield Network Agent Payments
Private agent-to-agent payments on Solana using zero-knowledge proofs.
SNAP is live on Solana mainnet. See the security docs for the protocol's threat model and trust assumptions.
What SNAP Does
SNAP lets AI agents pay each other without on-chain observers learning who paid whom. Deposits enter a shielded pool under a cryptographic commitment. Withdrawals leave the pool with a Groth16 proof that shows the recipient is entitled to the funds without revealing which deposit is being claimed.
How It Works
- Agent A deposits SOL plus a commitment into the pool.
- Agent A sends a secret note to Agent B through a private channel.
- Agent B reconstructs the Merkle path and generates a Groth16 proof.
- Agent B withdraws SOL with
withdraw_zkorwithdraw_zk_relayed. - Observers can see the pool activity, but they cannot link the withdrawal to a specific deposit.
Quick Start
Install the SDK and its peer dependencies:
npm install snap-solana-sdk @solana/web3.js @coral-xyz/anchor
Minimal private payment:
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();
If you want a runnable walkthrough from this repo, use:
npx tsx examples/basic-payment.ts
npx tsx examples/agent-to-agent.ts
npx tsx examples/relayed-withdrawal.ts
Architecture
| Component | Description |
|---|---|
| Solana Program | Anchor program with deposit, withdraw_zk, and withdraw_zk_relayed |
| ZK Circuit | circom Groth16 circuit using Poseidon and a depth-10 Merkle tree |
| SDK | snap-solana-sdk for note handling, proof generation, and client API |
| Agent Kit Plugin | Solana Agent Kit v2 plugin with snap_create_pool, snap_deposit, snap_withdraw, and snap_withdraw_private |
| LangChain Tools | snap-langchain-tools — StructuredTool wrappers for LangChain/LangGraph agents |
| Relayer | Express service for gas-abstracted private withdrawals |
Mainnet
Pool denominations are 0.1 SOL, 1 USDC, and 10 USDC. See THREAT_MODEL.md for trust assumptions.
| Field | Value |
|---|---|
| Program ID | 9uePoqdgaXpqFLQM2ED1GGQrwSEiqe3r6tW1AfsnrrbS |
| Pool — 0.1 SOL | B8SyffZKt8LABKogWjH9rZcjY5PV2hyYRCbTxxbcrpFf |
| Pool — 1 USDC | 5LeuHrPBgHNhgbCy996MEjcsBk5gNHhVj6AiuuCHZ8od |
| Pool — 10 USDC | ECuHf8kgiWfmL3Q6id4WGBQWvuukhzqvF5vsxuPAKZBv |
| Network | Solana mainnet-beta |
| Protocol fee | 0.25% |
Project Structure
├── 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
Development
# 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
Security
Known risks, protocol limits, and security documentation are in FINDINGS.md, docs/CIRCUIT_SPEC.md, docs/THREAT_MODEL.md, docs/COMPLIANCE.md, and docs/GOVERNANCE.md.
License
MIT
Reviews
No reviews yet
Be the first to review this server!
More Finance MCP Servers
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
MarkItDown
Freeby Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
FinAgent
Freeby mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.
Google Workspace MCP
Freeby Taylorwilsdon · Productivity
Control Gmail, Calendar, Docs, Sheets, Drive, and more from your AI
