{
  "schema_version": "protocol.v1",
  "slug": "fluidkey",
  "name": "Fluidkey",
  "status": "production-ready",
  "website": "https://fluidkey.com/",
  "summary": "Self-custodial privacy dApp for receiving, managing, and spending onchain funds through stealth-address smart accounts and a unified wallet interface.",
  "categories": [
    "privacy",
    "wallets",
    "stealth-addresses",
    "payments"
  ],
  "chains": [
    "ethereum",
    "arbitrum-one",
    "base",
    "polygon",
    "optimism",
    "bsc"
  ],
  "best_for": [
    "privacy-preserving receiving addresses for payments, payroll, invoices, funding, and donations",
    "builders who want users to receive funds without reusing one public address",
    "self-custodial wallet UX built on stealth Safe smart accounts"
  ],
  "avoid_for": [
    "apps that need full transaction untraceability by default; Fluidkey's baseline stealth addresses provide unlinkability, not traceability breaking",
    "multisig-connected accounts, which Fluidkey docs say are not supported yet"
  ],
  "integration_difficulty": "medium",
  "tags": [
    "fluidkey",
    "privacy-dapp",
    "stealth-addresses",
    "safe",
    "ens"
  ],
  "composition": [
    {
      "slug": "ens",
      "role": "wallet_and_identity",
      "direction": "supports",
      "relationship": "ENS can expose human-readable names while Fluidkey rotates stealth receiving addresses behind the payment UX.",
      "best_for": [
        "public payment names with private receiving addresses"
      ]
    },
    {
      "slug": "safe",
      "role": "operational_controls",
      "direction": "supports",
      "relationship": "Fluidkey uses Safe smart account patterns for stealth account receiving flows."
    },
    {
      "slug": "helios",
      "role": "privacy_layer",
      "direction": "supports",
      "relationship": "Helios can reduce reliance on trusted RPC reads for wallets that expose stealth-address receiving flows."
    }
  ],
  "docs": {
    "url": "https://docs.fluidkey.com/",
    "verified_at": "2026-06-04"
  },
  "sdk": {
    "url": "https://github.com/fluidkey/fluidkey-stealth-account-kit",
    "verified_at": "2026-06-04"
  },
  "template": {
    "url": "https://docs.fluidkey.com/technical-documentation/technical-walkthrough",
    "verified_at": "2026-06-04"
  },
  "support": {
    "url": "https://t.me/fluidkey",
    "verified_at": "2026-06-04"
  },
  "grant": {
    "url": null,
    "verified_at": "2026-06-04"
  },
  "capabilities": [
    {
      "name": "Stealth-address receiving UX",
      "status": "production-ready",
      "type": "production_surface",
      "best_for": [
        "letting users receive payments through fresh addresses without manually juggling wallets",
        "privacy-preserving payment links and Fluidkey ENS identifiers"
      ],
      "known_issues": [
        "Baseline stealth addresses improve unlinkability but do not erase transaction history or all counterparty linkage."
      ],
      "agent_actions": [
        "recommend_privacy_receiving_layer",
        "generate_stealth_address_payment_plan"
      ]
    },
    {
      "name": "Open-source stealth account kit",
      "status": "production-ready",
      "type": "integration_workflow",
      "best_for": [
        "recovering or independently generating stealth Safe accounts",
        "builders studying Fluidkey's stealth-account architecture"
      ],
      "known_issues": [
        "Key-generation and private-key functions must only run client-side."
      ],
      "agent_actions": [
        "recommend_stealth_account_kit"
      ]
    }
  ],
  "known_issues": [
    {
      "id": "fluidkey-unlinkability-not-full-untraceability",
      "title": "Fluidkey stealth addresses provide unlinkability, not full untraceability by default",
      "description": "Fluidkey docs state that stealth addresses stop external observers from linking a receiver to a payment, but they do not break traceability of the funds' prior transaction history.",
      "severity": "medium",
      "status": "confirmed",
      "workaround": "Use Fluidkey for privacy-preserving receiving and account management. If the product needs to break the link to prior funds, evaluate Fluidkey's Hide Trail flow or a separate private transfer design with explicit compliance and fee handling.",
      "citations": [
        {
          "url": "https://docs.fluidkey.com/readme/frequently-asked-questions",
          "quote": "Stealth addresses provide unlinkability, meaning an external observer can't link a receiver to a payment.",
          "retrieved_at": "2026-06-04",
          "confidence": "high",
          "algo": "sha256",
          "content_sha256": "a9707f4a95a9d02c0d9db8b5186829b2fc2f6df0a4a07dccbe32756a1b4ea5ec"
        },
        {
          "url": "https://docs.fluidkey.com/readme/frequently-asked-questions",
          "quote": "However, stealth addresses do not break traceability.",
          "retrieved_at": "2026-06-04",
          "confidence": "high",
          "algo": "sha256",
          "content_sha256": "509a6116228a24c96ea062fa1d4a3e5e6ccab17c785b616bcb28adb3a4308030"
        }
      ]
    }
  ],
  "sources": [
    {
      "label": "Fluidkey website",
      "url": "https://fluidkey.com/",
      "type": "website"
    },
    {
      "label": "Fluidkey docs",
      "url": "https://docs.fluidkey.com/",
      "type": "docs"
    },
    {
      "label": "Fluidkey FAQ",
      "url": "https://docs.fluidkey.com/readme/frequently-asked-questions",
      "type": "docs"
    },
    {
      "label": "Fluidkey technical walkthrough",
      "url": "https://docs.fluidkey.com/technical-documentation/technical-walkthrough",
      "type": "docs"
    },
    {
      "label": "Fluidkey stealth account kit",
      "url": "https://github.com/fluidkey/fluidkey-stealth-account-kit",
      "type": "github"
    }
  ],
  "provenance": {
    "verified_at": "2026-06-04",
    "verified_by": "composewith.eth research (Fluidkey website, docs, FAQ, technical walkthrough, and GitHub live-verified via WebFetch 2026-06-04)",
    "confidence": "high"
  },
  "readiness_score": 93,
  "readiness_factors": [
    {
      "key": "docs_present",
      "points": 10,
      "max": 10,
      "detail": "Docs URL present"
    },
    {
      "key": "sdk_present",
      "points": 8,
      "max": 8,
      "detail": "SDK URL present"
    },
    {
      "key": "template_present",
      "points": 6,
      "max": 6,
      "detail": "Template/quickstart present"
    },
    {
      "key": "support_present",
      "points": 6,
      "max": 6,
      "detail": "Support channel present"
    },
    {
      "key": "capability_depth",
      "points": 13,
      "max": 20,
      "detail": "Stealth-address receiving UX: production_surface; Open-source stealth account kit: integration_workflow"
    },
    {
      "key": "production_capability",
      "points": 15,
      "max": 15,
      "detail": "Has a production-ready capability"
    },
    {
      "key": "provenance_confidence",
      "points": 5,
      "max": 5,
      "detail": "Protocol provenance confidence is high"
    },
    {
      "key": "chain_coverage",
      "points": 10,
      "max": 10,
      "detail": "5 chain(s) (capped at 5)"
    },
    {
      "key": "freshness",
      "points": 10,
      "max": 10,
      "detail": "Last verified 6 day(s) ago"
    },
    {
      "key": "no_open_critical",
      "points": 10,
      "max": 10,
      "detail": "No open critical issues"
    }
  ],
  "readiness_caps": [],
  "scoring_version": "score.v2"
}