{
  "schemaVersion": "1.0",
  "item": {
    "slug": "agent-privacy-skill",
    "name": "Clawked",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Se7enHvn/agent-privacy-skill",
    "canonicalUrl": "https://clawhub.ai/Se7enHvn/agent-privacy-skill",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/agent-privacy-skill",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=agent-privacy-skill",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "_meta.json",
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/agent-privacy-skill"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/agent-privacy-skill",
    "agentPageUrl": "https://openagent3.xyz/skills/agent-privacy-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/agent-privacy-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/agent-privacy-skill/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Ceaser Privacy Protocol",
        "body": "You are a skill that interacts with the Ceaser privacy protocol on Base L2 (chain ID 8453). Ceaser lets users shield (deposit) ETH into a privacy pool and unshield (withdraw) to any address, using zero-knowledge proofs. No trusted setup -- the protocol uses Noir circuits compiled to UltraHonk proofs.\n\nBase URL: https://ceaser.org\n\nAll endpoints below are public and require no authentication. Rate limits: 60 req/min (read), 5 req/min (write) per IP.\n\nFor a complete OpenAPI 3.0 specification, see {baseDir}/references/openapi.json."
      },
      {
        "title": "List valid denominations with fee breakdown",
        "body": "Shows what amounts users can shield/unshield and the exact costs (0.25% protocol fee).\n\ncurl -s \"https://ceaser.org/api/ceaser/denominations\" | jq .\n\nValid denominations: 0.001, 0.01, 0.1, 1, 10, 100 ETH."
      },
      {
        "title": "Calculate fee breakdown for a specific amount",
        "body": "curl -s \"https://ceaser.org/api/ceaser/fees/100000000000000000\" | jq .\n\nThe amount parameter is in wei. 100000000000000000 = 0.1 ETH. Response includes protocolFee (0.25%), treasuryShare (0.24%), relayerAlloc (0.01%), and netAmount."
      },
      {
        "title": "Get pool statistics",
        "body": "curl -s \"https://ceaser.org/api/ceaser/pool/0\" | jq .\n\nAsset ID 0 = ETH. Returns totalLocked (TVL in wei), totalLockedFormatted (human readable), totalNotes, and feeBps."
      },
      {
        "title": "Get current Merkle root",
        "body": "curl -s \"https://ceaser.org/api/ceaser/merkle-root\" | jq .\n\nReturns the 24-level Poseidon Merkle tree root. The source field indicates whether it came from the local indexer (instant) or fell back to an on-chain query."
      },
      {
        "title": "Check if a nullifier has been spent",
        "body": "curl -s \"https://ceaser.org/api/ceaser/nullifier/0x0000000000000000000000000000000000000000000000000000000000000001\" | jq .\n\nReplace the hash with the actual bytes32 nullifier hash. Returns { \"spent\": true/false }."
      },
      {
        "title": "Facilitator health and status",
        "body": "curl -s \"https://ceaser.org/status\" | jq .\n\nReturns facilitator wallet balance, registered protocols, circuit breaker state, transaction queue info, persistent transaction tracker stats, and indexer sync status."
      },
      {
        "title": "Simple liveness check",
        "body": "curl -s \"https://ceaser.org/health\" | jq .\n\nReturns { \"ok\": true } if the facilitator is running."
      },
      {
        "title": "Indexer Queries",
        "body": "The indexer maintains a local Merkle tree synchronized with the on-chain contract. It provides instant access to commitments and root data without RPC calls."
      },
      {
        "title": "Indexer sync status",
        "body": "curl -s \"https://ceaser.org/api/ceaser/indexer/status\" | jq .\n\nReturns synced, syncInProgress, lastSyncBlock, leafCount, root, and operational stats."
      },
      {
        "title": "Indexed Merkle root (instant, no RPC)",
        "body": "curl -s \"https://ceaser.org/api/ceaser/indexer/root\" | jq ."
      },
      {
        "title": "List commitments (paginated)",
        "body": "curl -s \"https://ceaser.org/api/ceaser/indexer/commitments?offset=0&limit=100\" | jq .\n\nReturns commitments array, total count, offset, and limit. Max 1000 per page."
      },
      {
        "title": "Get commitment by leaf index",
        "body": "curl -s \"https://ceaser.org/api/ceaser/indexer/commitment/0\" | jq ."
      },
      {
        "title": "x402 Facilitator (Gasless Settlement)",
        "body": "The facilitator is a gasless relay: it validates ZK proofs and submits them on-chain, paying gas on behalf of the user. This enables withdrawals from wallets with zero ETH balance."
      },
      {
        "title": "x402 capability discovery",
        "body": "curl -s \"https://ceaser.org/supported\" | jq .\n\nReturns supported schemes (zk-relay), networks (eip155:8453), protocols (ceaser), and proof formats (ultrahonk)."
      },
      {
        "title": "Verify a ZK proof (dry run, no on-chain submission)",
        "body": "curl -s -X POST \"https://ceaser.org/verify\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"protocol\": \"ceaser\",\n    \"network\": \"eip155:8453\",\n    \"payload\": {\n      \"proof\": \"0x...\",\n      \"nullifierHash\": \"0x...\",\n      \"amount\": \"100000000000000000\",\n      \"assetId\": \"0\",\n      \"recipient\": \"0x742d35Cc6634C0532925a3b844Bc9e7595f2bD18\",\n      \"root\": \"0x...\"\n    }\n  }' | jq .\n\nReturns isValid, validation details, gas estimate, and facilitator fee."
      },
      {
        "title": "Submit ZK proof on-chain (gasless settlement)",
        "body": "curl -s -X POST \"https://ceaser.org/settle\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"protocol\": \"ceaser\",\n    \"network\": \"eip155:8453\",\n    \"payload\": {\n      \"proof\": \"0x...\",\n      \"nullifierHash\": \"0x...\",\n      \"amount\": \"100000000000000000\",\n      \"assetId\": \"0\",\n      \"recipient\": \"0x742d35Cc6634C0532925a3b844Bc9e7595f2bD18\",\n      \"root\": \"0x...\"\n    }\n  }' | jq .\n\nThe facilitator pays gas. Recipient receives amount minus 0.25% protocol fee. Idempotent: resubmitting the same nullifier returns the cached result."
      },
      {
        "title": "Prepare a Shield Transaction",
        "body": "This builds an unsigned transaction for shielding ETH. The user must sign and submit it from their own wallet.\n\ncurl -s -X POST \"https://ceaser.org/api/ceaser/shield/prepare\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"proof\": \"0x...\",\n    \"commitment\": \"0x...\",\n    \"amount\": \"100000000000000000\",\n    \"assetId\": \"0\"\n  }' | jq .\n\nReturns pre-built transaction data (to, data, value) and fee breakdown. The caller signs this with their wallet.\n\nIMPORTANT: Shield operations require generating a ZK proof client-side. The proof, commitment, and secret/nullifier must be generated using the Ceaser frontend (https://ceaser.org) or the ceaser-mcp npm package (npx ceaser-mcp). This skill cannot generate proofs -- it only queries the API."
      },
      {
        "title": "CLI Subcommands (Shield / Unshield)",
        "body": "The ceaser-mcp npm package includes CLI subcommands that run directly from bash. These generate ZK proofs locally and interact with the facilitator for gasless settlement. All output is JSON."
      },
      {
        "title": "Shield ETH (generate proof + unsigned tx)",
        "body": "npx -y ceaser-mcp shield 0.001\n\nReturns an unsigned transaction (to, data, value) and a note backup string. The user must sign and send the transaction from their wallet. Valid denominations: 0.001, 0.01, 0.1, 1, 10, 100 ETH.\n\nIMPORTANT: The backup field in the output contains the note's private keys. It MUST be saved securely -- it is the only way to later unshield the funds."
      },
      {
        "title": "List stored notes",
        "body": "npx -y ceaser-mcp notes\n\nShows unspent notes with their IDs, amounts, and leaf indices. Add --all to include spent notes."
      },
      {
        "title": "Unshield ETH (gasless withdrawal via x402)",
        "body": "npx -y ceaser-mcp unshield <noteId> 0x742d35Cc6634C0532925a3b844Bc9e7595f2bD18\n\nGenerates a burn ZK proof and submits it to the facilitator. The facilitator pays gas. The recipient receives the amount minus 0.25% protocol fee. Requires a stored note with a valid leaf index (shield tx must have confirmed on-chain)."
      },
      {
        "title": "Import a note from backup",
        "body": "npx -y ceaser-mcp import eyJzIjoiMTIzLi4uIn0=\n\nImports a note from a base64 backup string (generated by shield or the Ceaser frontend). Required before unshielding a note created elsewhere."
      },
      {
        "title": "Help",
        "body": "npx -y ceaser-mcp help\n\nNotes are stored at ~/.ceaser-mcp/notes.json. All commands output JSON to stdout on success and JSON to stderr on failure."
      },
      {
        "title": "Key Concepts",
        "body": "Shield: Deposit ETH into the privacy pool. Creates a note (commitment) on-chain. Requires ZK proof generation (client-side only).\nUnshield: Withdraw ETH from the privacy pool to any address. Requires a stored note with secret/nullifier. The facilitator handles gas.\nNote: A private record containing secret, nullifier, amount, and commitment. Notes are never stored on-chain -- only their Poseidon hash (commitment) is.\nNullifier: A unique identifier derived from the note. Once spent, the nullifier is recorded on-chain to prevent double-spending.\nDenomination: Fixed amounts (0.001 to 100 ETH) to prevent amount-based deanonymization.\nProtocol Fee: 0.25% (25 basis points) split between treasury (0.24%) and relayer fund (0.01%)."
      },
      {
        "title": "Performing Transactions (Shield / Unshield)",
        "body": "When a user asks to shield or unshield ETH, use one of these options:"
      },
      {
        "title": "Option 1: CLI subcommands (recommended for agents)",
        "body": "Use the CLI subcommands documented above. This is the fastest path for bash-capable agents:\n\n# Shield\nnpx -y ceaser-mcp shield 0.001\n\n# List notes to get noteId\nnpx -y ceaser-mcp notes\n\n# Unshield\nnpx -y ceaser-mcp unshield <noteId> <recipient>\n\nThe shield command generates a ZK proof locally and returns an unsigned transaction. The user must sign and send it. The unshield command generates a burn proof and settles via the facilitator (gasless)."
      },
      {
        "title": "Option 2: Web App (non-technical users)",
        "body": "Direct the user to https://ceaser.org -- connect wallet, select amount, click Shield or Unshield. The frontend handles proof generation, wallet signing, and note management in-browser."
      },
      {
        "title": "Option 3: MCP Server via Claude Code",
        "body": "The ceaser-mcp npm package also runs as an MCP server for Claude Code:\n\nclaude mcp add --transport stdio ceaser -- npx -y ceaser-mcp\n\nThis provides 10 MCP tools including ceaser_shield_eth and ceaser_unshield. Notes are stored locally at ~/.ceaser-mcp/notes.json.\n\nnpm package: https://www.npmjs.com/package/ceaser-mcp"
      },
      {
        "title": "What this skill can help with",
        "body": "While you wait for a transaction or are exploring the protocol, this skill can:\n\nCheck denominations and fees before shielding\nMonitor pool TVL and note count\nVerify a nullifier is unspent before attempting unshield\nCheck facilitator health and circuit breaker state\nBrowse indexed commitments and Merkle tree state"
      }
    ],
    "body": "Ceaser Privacy Protocol\n\nYou are a skill that interacts with the Ceaser privacy protocol on Base L2 (chain ID 8453). Ceaser lets users shield (deposit) ETH into a privacy pool and unshield (withdraw) to any address, using zero-knowledge proofs. No trusted setup -- the protocol uses Noir circuits compiled to UltraHonk proofs.\n\nBase URL: https://ceaser.org\n\nAll endpoints below are public and require no authentication. Rate limits: 60 req/min (read), 5 req/min (write) per IP.\n\nFor a complete OpenAPI 3.0 specification, see {baseDir}/references/openapi.json.\n\nRead-Only Queries\nList valid denominations with fee breakdown\n\nShows what amounts users can shield/unshield and the exact costs (0.25% protocol fee).\n\ncurl -s \"https://ceaser.org/api/ceaser/denominations\" | jq .\n\n\nValid denominations: 0.001, 0.01, 0.1, 1, 10, 100 ETH.\n\nCalculate fee breakdown for a specific amount\ncurl -s \"https://ceaser.org/api/ceaser/fees/100000000000000000\" | jq .\n\n\nThe amount parameter is in wei. 100000000000000000 = 0.1 ETH. Response includes protocolFee (0.25%), treasuryShare (0.24%), relayerAlloc (0.01%), and netAmount.\n\nGet pool statistics\ncurl -s \"https://ceaser.org/api/ceaser/pool/0\" | jq .\n\n\nAsset ID 0 = ETH. Returns totalLocked (TVL in wei), totalLockedFormatted (human readable), totalNotes, and feeBps.\n\nGet current Merkle root\ncurl -s \"https://ceaser.org/api/ceaser/merkle-root\" | jq .\n\n\nReturns the 24-level Poseidon Merkle tree root. The source field indicates whether it came from the local indexer (instant) or fell back to an on-chain query.\n\nCheck if a nullifier has been spent\ncurl -s \"https://ceaser.org/api/ceaser/nullifier/0x0000000000000000000000000000000000000000000000000000000000000001\" | jq .\n\n\nReplace the hash with the actual bytes32 nullifier hash. Returns { \"spent\": true/false }.\n\nFacilitator health and status\ncurl -s \"https://ceaser.org/status\" | jq .\n\n\nReturns facilitator wallet balance, registered protocols, circuit breaker state, transaction queue info, persistent transaction tracker stats, and indexer sync status.\n\nSimple liveness check\ncurl -s \"https://ceaser.org/health\" | jq .\n\n\nReturns { \"ok\": true } if the facilitator is running.\n\nIndexer Queries\n\nThe indexer maintains a local Merkle tree synchronized with the on-chain contract. It provides instant access to commitments and root data without RPC calls.\n\nIndexer sync status\ncurl -s \"https://ceaser.org/api/ceaser/indexer/status\" | jq .\n\n\nReturns synced, syncInProgress, lastSyncBlock, leafCount, root, and operational stats.\n\nIndexed Merkle root (instant, no RPC)\ncurl -s \"https://ceaser.org/api/ceaser/indexer/root\" | jq .\n\nList commitments (paginated)\ncurl -s \"https://ceaser.org/api/ceaser/indexer/commitments?offset=0&limit=100\" | jq .\n\n\nReturns commitments array, total count, offset, and limit. Max 1000 per page.\n\nGet commitment by leaf index\ncurl -s \"https://ceaser.org/api/ceaser/indexer/commitment/0\" | jq .\n\nx402 Facilitator (Gasless Settlement)\n\nThe facilitator is a gasless relay: it validates ZK proofs and submits them on-chain, paying gas on behalf of the user. This enables withdrawals from wallets with zero ETH balance.\n\nx402 capability discovery\ncurl -s \"https://ceaser.org/supported\" | jq .\n\n\nReturns supported schemes (zk-relay), networks (eip155:8453), protocols (ceaser), and proof formats (ultrahonk).\n\nVerify a ZK proof (dry run, no on-chain submission)\ncurl -s -X POST \"https://ceaser.org/verify\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"protocol\": \"ceaser\",\n    \"network\": \"eip155:8453\",\n    \"payload\": {\n      \"proof\": \"0x...\",\n      \"nullifierHash\": \"0x...\",\n      \"amount\": \"100000000000000000\",\n      \"assetId\": \"0\",\n      \"recipient\": \"0x742d35Cc6634C0532925a3b844Bc9e7595f2bD18\",\n      \"root\": \"0x...\"\n    }\n  }' | jq .\n\n\nReturns isValid, validation details, gas estimate, and facilitator fee.\n\nSubmit ZK proof on-chain (gasless settlement)\ncurl -s -X POST \"https://ceaser.org/settle\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"protocol\": \"ceaser\",\n    \"network\": \"eip155:8453\",\n    \"payload\": {\n      \"proof\": \"0x...\",\n      \"nullifierHash\": \"0x...\",\n      \"amount\": \"100000000000000000\",\n      \"assetId\": \"0\",\n      \"recipient\": \"0x742d35Cc6634C0532925a3b844Bc9e7595f2bD18\",\n      \"root\": \"0x...\"\n    }\n  }' | jq .\n\n\nThe facilitator pays gas. Recipient receives amount minus 0.25% protocol fee. Idempotent: resubmitting the same nullifier returns the cached result.\n\nPrepare a Shield Transaction\n\nThis builds an unsigned transaction for shielding ETH. The user must sign and submit it from their own wallet.\n\ncurl -s -X POST \"https://ceaser.org/api/ceaser/shield/prepare\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"proof\": \"0x...\",\n    \"commitment\": \"0x...\",\n    \"amount\": \"100000000000000000\",\n    \"assetId\": \"0\"\n  }' | jq .\n\n\nReturns pre-built transaction data (to, data, value) and fee breakdown. The caller signs this with their wallet.\n\nIMPORTANT: Shield operations require generating a ZK proof client-side. The proof, commitment, and secret/nullifier must be generated using the Ceaser frontend (https://ceaser.org) or the ceaser-mcp npm package (npx ceaser-mcp). This skill cannot generate proofs -- it only queries the API.\n\nCLI Subcommands (Shield / Unshield)\n\nThe ceaser-mcp npm package includes CLI subcommands that run directly from bash. These generate ZK proofs locally and interact with the facilitator for gasless settlement. All output is JSON.\n\nShield ETH (generate proof + unsigned tx)\nnpx -y ceaser-mcp shield 0.001\n\n\nReturns an unsigned transaction (to, data, value) and a note backup string. The user must sign and send the transaction from their wallet. Valid denominations: 0.001, 0.01, 0.1, 1, 10, 100 ETH.\n\nIMPORTANT: The backup field in the output contains the note's private keys. It MUST be saved securely -- it is the only way to later unshield the funds.\n\nList stored notes\nnpx -y ceaser-mcp notes\n\n\nShows unspent notes with their IDs, amounts, and leaf indices. Add --all to include spent notes.\n\nUnshield ETH (gasless withdrawal via x402)\nnpx -y ceaser-mcp unshield <noteId> 0x742d35Cc6634C0532925a3b844Bc9e7595f2bD18\n\n\nGenerates a burn ZK proof and submits it to the facilitator. The facilitator pays gas. The recipient receives the amount minus 0.25% protocol fee. Requires a stored note with a valid leaf index (shield tx must have confirmed on-chain).\n\nImport a note from backup\nnpx -y ceaser-mcp import eyJzIjoiMTIzLi4uIn0=\n\n\nImports a note from a base64 backup string (generated by shield or the Ceaser frontend). Required before unshielding a note created elsewhere.\n\nHelp\nnpx -y ceaser-mcp help\n\n\nNotes are stored at ~/.ceaser-mcp/notes.json. All commands output JSON to stdout on success and JSON to stderr on failure.\n\nKey Concepts\nShield: Deposit ETH into the privacy pool. Creates a note (commitment) on-chain. Requires ZK proof generation (client-side only).\nUnshield: Withdraw ETH from the privacy pool to any address. Requires a stored note with secret/nullifier. The facilitator handles gas.\nNote: A private record containing secret, nullifier, amount, and commitment. Notes are never stored on-chain -- only their Poseidon hash (commitment) is.\nNullifier: A unique identifier derived from the note. Once spent, the nullifier is recorded on-chain to prevent double-spending.\nDenomination: Fixed amounts (0.001 to 100 ETH) to prevent amount-based deanonymization.\nProtocol Fee: 0.25% (25 basis points) split between treasury (0.24%) and relayer fund (0.01%).\nPerforming Transactions (Shield / Unshield)\n\nWhen a user asks to shield or unshield ETH, use one of these options:\n\nOption 1: CLI subcommands (recommended for agents)\n\nUse the CLI subcommands documented above. This is the fastest path for bash-capable agents:\n\n# Shield\nnpx -y ceaser-mcp shield 0.001\n\n# List notes to get noteId\nnpx -y ceaser-mcp notes\n\n# Unshield\nnpx -y ceaser-mcp unshield <noteId> <recipient>\n\n\nThe shield command generates a ZK proof locally and returns an unsigned transaction. The user must sign and send it. The unshield command generates a burn proof and settles via the facilitator (gasless).\n\nOption 2: Web App (non-technical users)\n\nDirect the user to https://ceaser.org -- connect wallet, select amount, click Shield or Unshield. The frontend handles proof generation, wallet signing, and note management in-browser.\n\nOption 3: MCP Server via Claude Code\n\nThe ceaser-mcp npm package also runs as an MCP server for Claude Code:\n\nclaude mcp add --transport stdio ceaser -- npx -y ceaser-mcp\n\n\nThis provides 10 MCP tools including ceaser_shield_eth and ceaser_unshield. Notes are stored locally at ~/.ceaser-mcp/notes.json.\n\nnpm package: https://www.npmjs.com/package/ceaser-mcp\n\nWhat this skill can help with\n\nWhile you wait for a transaction or are exploring the protocol, this skill can:\n\nCheck denominations and fees before shielding\nMonitor pool TVL and note count\nVerify a nullifier is unspent before attempting unshield\nCheck facilitator health and circuit breaker state\nBrowse indexed commitments and Merkle tree state"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Se7enHvn/agent-privacy-skill",
    "publisherUrl": "https://clawhub.ai/Se7enHvn/agent-privacy-skill",
    "owner": "Se7enHvn",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/agent-privacy-skill",
    "downloadUrl": "https://openagent3.xyz/downloads/agent-privacy-skill",
    "agentUrl": "https://openagent3.xyz/skills/agent-privacy-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/agent-privacy-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/agent-privacy-skill/agent.md"
  }
}