The agent you trust. Unseen by everyone else.
Arsene is the trust, privacy and policy layer for autonomous AI agents on Solana.
- Masque — verifiable agent identity with principal-issued credentials and network-wide revocation
- Ombre — private x402 payment rails (stealth commitments, view keys)
- Serrure — on-chain policy engine that rejects unauthorized spend at the program level
Submission for Colosseum Frontier 2026.
arsene/
├── programs/ Solana Anchor programs (Rust)
│ ├── masque/ Identity registry
│ ├── serrure/ Policy engine
│ └── ombre/ Private payment pool (CPIs into serrure)
├── public/ Logo, favicons
├── src/
│ ├── lib/arsene-sdk/ @arsene/core SDK (TypeScript)
│ │ ├── types.ts
│ │ ├── mock.ts In-browser protocol simulator
│ │ ├── agent.ts ArseneAgent class
│ │ └── index.ts
│ ├── app/
│ │ ├── page.tsx Landing page
│ │ ├── demo/page.tsx Interactive protocol demo
│ │ ├── docs/ Docs routes (quickstart, architecture, …)
│ │ ├── layout.tsx
│ │ └── providers.tsx Solana wallet providers
│ └── components/
│ ├── Navbar, Hero, Stats, Problem, Layers, Footer, InteractiveBackground
│ ├── demo/ AgentCard, TransactionLog
│ └── docs/ Sidebar, CodeBlock, Callout
├── Anchor.toml Solana workspace config
├── Cargo.toml Rust workspace manifest
├── tailwind.config.ts
├── next.config.js
├── package.json
├── DEPLOYMENT.md GitHub + Vercel instructions
└── README.md
Requires Node.js 18.17+.
npm install
npm run devRoutes:
/— landing page/demo— interactive in-browser protocol demo (5 agents, live traffic, compromise/revoke)/docs— full documentation (quickstart, architecture, per-layer pages, SDK reference)
Requires Rust 1.75+, Solana CLI, and Anchor 0.30.
anchor build
anchor testThe three programs live under programs/. The defining architectural move is that ombre::settle performs a CPI into serrure::check before moving any lamports — if the policy rejects, the whole transaction unwinds.
The demo at /demo runs the full Arsene protocol logic in-browser — no Solana validator, no funded wallet, no deployment. It uses the mock runtime in src/lib/arsene-sdk/mock.ts, which implements the same state machine as the on-chain programs.
Five agents with different policy tiers (tight / standard / loose) make payments to five mock merchants. You can:
- Run / pause traffic
- Compromise an agent (simulates prompt injection — the agent attempts large drain payments)
- Burn mask to revoke the Masque network-wide
- Toggle between Public explorer and Principal dashboard views to see the disclosure asymmetry
The block rate in the stat row shows Serrure rejecting attacks at the policy layer in real time.
- Twitter / X — x.com/arsenefun
- GitHub — github.com/arsenefun
- Buy $ARSENE — gmgn.ai
See DEPLOYMENT.md for step-by-step GitHub + Vercel instructions (no terminal required).
le masque · l'ombre · la serrure