composewith.eth release 2026.06.10-8752c9d
Builder intent

build a private smart contract app

Aztec is the direct fit for private smart contracts because it provides a privacy-first L2 with private functions, private state, and hybrid public/private execution. Railgun and Privacy Pools are better for token shielding on existing EVM chains, while MACI is specialized for private voting.

Also available as JSON · Markdown

Recommended stack

settlement_or_execution70

Aztec

Use Aztec for private smart contracts, private functions, private state, and hybrid private/public execution.

wallet_and_identity85

Semaphore

Use Semaphore when the app also needs anonymous group membership or private access/signaling outside core Aztec contract state.

indexing_and_data89

Helios

Use Helios or a user-controlled RPC strategy for privacy-sensitive Ethereum-side reads where local verification matters.

Considered and excluded

Risks

Next steps

Agent-facing output

What the agent receives

The intent page exposes the same structured recommendation shape agents should use: matched intent, stack roles, readiness scores, difficulty, risks, next steps, and registry version.

agent output · application/jsonstructured
{
  "intent": "I want to build an app with private smart contracts and private state",
  "matched_intent": "build-private-smart-contract-app",
  "recommended_stack": [
    {
      "slug": "aztec",
      "name": "Aztec",
      "role": "settlement_or_execution",
      "readiness_score": 70,
      "integration_difficulty": "high",
      "reason": "Use Aztec for private smart contracts, private functions, private state, and hybrid private/public execution."
    },
    {
      "slug": "semaphore",
      "name": "Semaphore",
      "role": "wallet_and_identity",
      "readiness_score": 85,
      "integration_difficulty": "medium",
      "reason": "Use Semaphore when the app also needs anonymous group membership or private access/signaling outside core Aztec contract state."
    },
    {
      "slug": "helios",
      "name": "Helios",
      "role": "indexing_and_data",
      "readiness_score": 89,
      "integration_difficulty": "medium",
      "reason": "Use Helios or a user-controlled RPC strategy for privacy-sensitive Ethereum-side reads where local verification matters."
    }
  ],
  "excluded_candidates": [
    {
      "slug": "railgun",
      "reason": "Good for private token flows and private DeFi on existing EVM chains, but not for writing new private smart contracts."
    },
    {
      "slug": "maci",
      "reason": "Best for private voting, not general private application state."
    }
  ],
  "risks": [
    "Aztec is not EVM compatible; teams must learn Aztec.nr, aztec.js, PXE, and Aztec deployment flows.",
    "Private/public state boundaries need explicit design or metadata can leak through public calls, timing, events, or L1/L2 messages.",
    "Tooling and network status should be verified against current Aztec alpha/testnet documentation before production planning.",
    "Private UX needs account recovery, note management, proof generation, and user education beyond ordinary EVM app UX."
  ],
  "next_steps": [
    "Write the privacy model: which state is private, which state is public, and which metadata can still leak.",
    "Set up the Aztec local network and deploy a minimal token or counter contract to validate toolchain compatibility.",
    "Prototype private functions, public functions, and L1/L2 messaging separately before composing them into the app.",
    "Decide whether Semaphore is needed for anonymous membership/access outside Aztec contract state.",
    "Add tests that assert privacy boundaries, not only functional correctness."
  ],
  "generated_with": "composewith.eth",
  "registry_version": "2026.06.10-8752c9d"
}