Zero-knowledge privacy for AI agents on Solana

Your AI agent trades in public. Shroud it

A zero-knowledge proof, made on your agent's own machine, moves its SOL or USDC to a wallet with no past. A two-hop relay network hides who is asking. Any AI agent plugs in through one MCP server.

Arrives0.995 SOL

Zero-knowledge proof made on your machine · verified on chain · hidden among every 1 SOL deposit

What it is

Zero-knowledge privacy, built for AI agents

01

Zero-knowledge

Your agent proves that one of the deposits in a pool is its own without saying which. The proof is made on its own machine in about 1.5 seconds and checked by the program on chain.

  • Groth16 on BN254
  • 116k CU to verify
  • Poseidon tree, depth 20
02

Private by design

The deposit is public and the withdrawal is public; the link between them is not. Requests travel sealed: a relay sees only the IP, a gateway sees only the request.

  • 2 hops, OHTTP-style
  • Clean set
  • Ragequit, never paused
03

For AI agents

One MCP server with seven tools. Any agent that speaks MCP can shield, send, swap and read the chain in private, with no API key and no account.

  • MCP
  • npx -y shroud-sol mcp
  • Claude Code, any client

The problem

On Solana, every wallet is a diary

An agent that trades well gets found, labeled and copied. Its size, its entries, its timing and its exits are public the second they land.

Seconds

Tracking sites label wallets that win and alert their followers the moment those wallets buy.

One hop

A fresh wallet does not help: the SOL that funds it points straight back to the one you came from.

Your IP

Even before a trade, the RPC you query sees which wallets your machine keeps checking.

What a copy-trader sees
09:41:07Bought 2.4M of a 3-hour-old coincopied by 31
09:41:09Same coin, 31 wallets later+18% before you finish
11:02:55Sold halfalert sent to followers
14:20:13New wallet funded from this onelinked in one hop
Every red tag is something anyone can read off the chain today · illustration

How it works

One line in, a different line out

Your walletpublicThe poolone of manyZK proofon your machineRelaysees your IP onlyGatewaysees the request onlyNew walletno past

01 of 05

Shield, in public

Your wallet puts exactly one pool size in, say 1 SOL. Anyone can see that this wallet deposited. You keep a note: two random numbers only you know.

your wallet1 SOL

Split knowledge

Everyone sees a piece, nobody sees the link

The deposit is public. The withdrawal is public. What ties them together exists only in your note, and the proof shows the chain it is valid without showing which deposit it spends.

WhoYour depositYour IPWhere it wentThat it is the same money
The chain, so anyoneSees itNeverSees itNever
The relayNeverSees itNeverNever
The gatewayNeverNeverSees itNever
The RPC providerNeverNeverNeverNever
Shroud, the siteNeverNeverNeverNever

For AI agents

Give your AI agent a wallet with no past

One MCP server, seven tools, any AI agent that speaks MCP. The agent makes its zero-knowledge proofs on its own machine and talks to Solana only through the network: no API key, no account, nothing to sign up for.

# add it to Claude Code, or any MCP client
claude mcp add shroud -e SHROUD_WALLET=~/agent.json -- npx -y shroud-sol mcp

→ private_swap note=sol-1#2207 output=<mint>
  route relay (operator A) → gateway (operator B)
  proof made locally in 1.4 s
  0.995 SOL → new wallet 9wQe…ka3F
  bought from 9wQe…ka3F · no history, no funder

# an example session

Clean set

Private, not a laundromat

A private pool that takes anyone's money ends up holding a hacker's, and then everyone in it looks guilty. Shroud keeps stolen money out of the private exit and keeps everyone else's way out open.

01

New deposits wait in review

A keeper publishes the set of deposits it approves. A withdrawal has to prove it is in that set as well as in the pool. Wallets flagged for hacks or theft stay out of it.

02

Left out? Take it back

The wallet that made a deposit can always pull it back out, in public, to itself. No one’s money is ever stuck, and no one can wash money through the private exit.

03

Withdrawals never pause

The admin can pause new deposits in an emergency. Withdrawals and ragequits have no pause in the program at all.

Buyback and burn

The protocol fee on every private withdrawal goes to buyback and burn

Every hour, from one public address: 8Pna…DTgR

$SHROUD

The network is run by its holders

Relays and gateways are run by anyone who stakes $SHROUD, and every private withdrawal pays the gateway that carries it. The more people hide here, the more the people who run it earn.

Run a node$SHROUD launches on Meteora
Stake

Lock $SHROUD and register a relay or a gateway on chain, with its endpoint and its key

On chain
Carry

Relays forward sealed bytes. Gateways open them, send the withdrawal and pay its costs

1 relays · 1 gateways
Earn

The fee bound into each withdrawal you send is yours, paid by the program in the same transaction

Per withdrawal
Leave

Step out any time. After seven days the whole stake comes back to you

7-day cooldown

Live from chain

The bigger the crowd, the better you hide

Each pool takes one size only, so every deposit in it looks the same. Your cover is the number of deposits in your pool.

Deposits0
Private withdrawals0
Relays · gateways1 · 1
$SHROUD bought back and burned0
PoolDepositsWithdrawalsGateway fee
0.1 SOL000.002 SOL
1 SOL000.002 SOL
10 SOL000.002 SOL
100 USDC000.6 USDC
1,000 USDC000.6 USDC

Leave no trail
Shroud it