{
  "slug": "crypto-wallet",
  "meta": {
    "title": "Crypto Wallet | ChromVoid",
    "description": "BTC/ETH wallet inside the encrypted vault."
  },
  "hero": {
    "label": "Crypto Wallet",
    "title": "A local wallet that stays inside the vault boundary.",
    "description": "Core keeps the signing path local and explicit: prepare -> confirm -> broadcast.",
    "audience": "For users who want wallet signing to stay inside the same local trust boundary as the vault."
  },
  "useCases": {
    "title": "When it fits",
    "intro": "Use the wallet path when you want local signing and explicit previews before broadcast.",
    "cards": [
      {
        "title": "Preview first",
        "body": "Build and inspect the transaction before any signature leaves the device."
      },
      {
        "title": "Multi-chain wallet",
        "body": "Keep BTC and ETH flows in the same encrypted vault."
      },
      {
        "title": "Explicit broadcast",
        "body": "Nothing reaches the network until the user confirms the preview."
      }
    ]
  },
  "howItWorks": {
    "title": "Transaction lifecycle",
    "intro": "Core keeps the signing path explicit: prepare -> confirm -> broadcast.",
    "steps": [
      {
        "title": "Prepare",
        "body": "Core assembles the transaction and derives the right signing context."
      },
      {
        "title": "Preview",
        "body": "Fees, amount, and warnings appear before anything can leave the device."
      },
      {
        "title": "Confirm",
        "body": "The explicit user action authorizes the signature and broadcast."
      },
      {
        "title": "Broadcast",
        "body": "The signed transaction is sent to the network only after confirmation."
      }
    ],
    "diagrams": [
      {
        "src": "/assets/diagrams/crypto-wallet-user-flow.svg",
        "alt": "User flow",
        "title": "User flow",
        "description": "BTC and ETH only. Preview, confirm, and broadcast in order."
      },
      {
        "src": "/assets/diagrams/crypto-wallet-flow.svg",
        "alt": "Internal path",
        "title": "Internal path",
        "description": "BTC and ETH only. Core assembly, preview, and broadcast pipeline."
      }
    ]
  },
  "security": {
    "title": "Security boundaries",
    "cards": [
      {
        "title": "Keys stay local",
        "body": "Seed phrases and standalone keys stay in Core or on disk inside the vault boundary."
      },
      {
        "title": "No blind send",
        "body": "The preview stage is mandatory before broadcast is even possible."
      },
      {
        "title": "Explicit approval",
        "body": "A transaction only signs after the user confirms the preview."
      }
    ]
  },
  "limitations": {
    "title": "Limits and scope",
    "intro": "The wallet is intentionally narrow rather than feature-complete.",
    "items": [
      "It focuses on the listed supported chains and basic signing flows.",
      "It is a local wallet, not a remote custodial service.",
      "It is built around explicit confirmation, not automatic blind sending."
    ],
    "notTitle": "Not a custodial exchange",
    "notBody": "The wallet is local signing infrastructure inside the vault, not a trading platform."
  },
  "cta": {
    "title": "Keep wallet signing inside the same vault boundary.",
    "body": "The preview and confirm stages keep transaction flow explicit before the network ever sees it."
  },
  "ui": {
    "generic": {
      "audience": "Who this is for",
      "useCases": "Use cases",
      "how": "How it works",
      "security": "Security",
      "limitations": "Limitations",
      "threatModel": "Threat Model",
      "download": "Download",
      "backHome": "Back home",
      "technicalDiagram": "Technical diagram",
      "badges": {
        "inDevelopment": "In development",
        "pro": "PRO"
      }
    },
    "cryptoWallet": {
      "desktop": {
        "audienceLabel": "Who this is for",
        "flowSection": "wallet.sign --preview",
        "flowTitle": "Transaction lifecycle",
        "flowIntro": "No transaction leaves the device without explicit confirmation. Core assembles, you verify.",
        "boundarySection": "wallet.boundary --audit",
        "boundaryTitle": "Security boundaries",
        "txPipeline": {
          "phases": [
            {
              "id": "prepare",
              "status": "BUILD",
              "label": "Prepare",
              "detail": "Core assembles the transaction."
            },
            {
              "id": "preview",
              "status": "PREVIEW",
              "label": "Preview",
              "detail": "Fee, amount, warnings shown."
            },
            {
              "id": "confirm",
              "status": "CONFIRM",
              "label": "Confirm",
              "detail": "Explicit user approval required."
            },
            {
              "id": "broadcast",
              "status": "BROADCAST",
              "label": "Broadcast",
              "detail": "Sign + broadcast to network."
            }
          ]
        },
        "chains": [
          {
            "symbol": "BTC",
            "name": "Bitcoin",
            "derivation": "m/84'/0'/0'"
          },
          {
            "symbol": "ETH",
            "name": "Ethereum",
            "derivation": "m/44'/60'/0'/0"
          }
        ]
      },
      "mobile": {
        "summaryLabel": "At a glance",
        "summaryTitle": "A local wallet that stays inside the same trust boundary as the vault.",
        "quickFacts": [
          {
            "label": "Restore",
            "value": "Seed phrase or a standalone private key."
          },
          {
            "label": "Signing",
            "value": "Prepare -> preview -> confirm, with no blind send."
          },
          {
            "label": "Storage",
            "value": "`.wallet` plus Core memory, not a second browser cache."
          }
        ],
        "supportedChains": "Supported networks",
        "flowCardLabel": "Signing flow",
        "flowCardCopy": "Core assembles the transaction, shows the fee and warnings, then waits for explicit confirm.",
        "diagramSummary": "Show diagrams",
        "diagramTitles": [
          "User flow",
          "Internal path"
        ]
      }
    }
  }
}
