b402 — Private DeFi for AI Agents
Shield. Swap. Lend. Bridge. All private. All gasless.
b402 wraps Railgun's ZK privacy pool with an agent-friendly SDK and MCP server.
On-chain observers see "RelayAdapt called a DEX" — not your wallet, not your strategy.
Install
npx b402-mcp@latest --claude
This generates a wallet at ~/.b402/wallet.json, patches your Claude Desktop config, and registers the MCP server. Fund the wallet with USDC on Base to start.
Tools
| Tool | What it does |
|---|
check_pool_balance | Show shielded balances, wallet state, vault positions |
shield_usdc | Move USDC into the Railgun privacy pool (gasless) |
private_swap | Swap tokens inside the pool via ZK proof (USDC↔WETH, etc.) |
lend_privately | Deposit into Morpho vault from pool (~4-8% APY) |
redeem_privately | Withdraw from Morpho vault back to pool |
cross_chain_privately | Private cross-chain transfer or swap via LI.FI (Base→Arb, etc.) |
get_swap_quote | Preview swap rates without executing |
run_strategy | Multi-step: swap + lend + reserve in one call |
Example prompts
- "Check my privacy pool balance"
- "Shield 5 USDC into the pool"
- "Swap 2 USDC to WETH privately"
- "Privately send 1 USDC to 0xABC... on Arbitrum"
- "Private cross-chain swap: 1 USDC from pool to ARB on Arbitrum, to 0xABC..."
- "Lend 10 USDC in the steakhouse vault"
- "Run a yield strategy: 30% WETH, 50% lend, 20% reserve"
How it works
Agent prompt → MCP tool call → b402-sdk
→ Railgun ZK proof (client-side, 10-30s)
→ RelayAdapt atomic tx (unshield → DeFi op → reshield)
→ On-chain: only RelayAdapt visible. No wallet linked.
Cross-chain: LI.FI routes through ~30 bridges + ~20 DEXes. Source and destination are unlinkable.
Supported chains
| Chain | ID | Privacy pool | Cross-chain |
|---|
| Base | 8453 | Yes (0% fee) | Source + dest |
| Arbitrum | 42161 | Yes (0% fee) | Dest only (v1) |
| BSC | 56 | Yes (0% fee) | Dest only (v1) |
SDK usage (for builders)
import { B402 } from '@b402ai/sdk'
const b402 = new B402({ privateKey: process.env.WORKER_PRIVATE_KEY! })
// Shield into privacy pool (gasless)
await b402.shieldFromEOA({ token: 'USDC', amount: '10' })
// Private swap inside pool
await b402.privateSwap({ from: 'USDC', to: 'WETH', amount: '5' })
// Private cross-chain (LI.FI routing)
await b402.privateCrossChain({
toChain: 'arbitrum',
fromToken: 'USDC',
toToken: 'ARB',
amount: '1',
destinationAddress: '0x...',
})
// Private lend (Morpho vaults, 4-8% APY)
await b402.privateLend({ amount: '10', vault: 'steakhouse' })
Links