---
title: "Web3 钱包开发"
canonical: https://wavect.io/zh/services/web3-wallet-development/
language: zh
description: "Web3 钱包开发：智能账户、内嵌与无感钱包、MPC 密钥管理，以及 MetaMask Snap。默认非托管。"
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

钱包

# Web3 钱包开发

从原生集成在 MetaMask 里的智能钱包，到让用户压根不用学会“钱包”这个词的注册流程。这两种我们都交付过。

- MetaMask 基于 Snap 沙箱构建的原生智能钱包集成 [查看案例](/zh/case-studies/metamask-snap/)
- 无感 在一个已上线的市场平台上完成社交登录与钱包创建，全程没有加密术语 [查看案例](/zh/case-studies/afoma/)

// 01

## 我们做什么

钱包方案决定了你的转化率、你的客服压力，以及密钥丢失时谁来担责。值得在动手之前就选对。

内嵌钱包与无感钱包

把钱包创建藏在社交登录背后，面向并非为加密而来的用户。

- 从社交登录到钱包只需一步
- 不向用户展示助记词
- 熟悉的交互背后是链上原语
- 想拿到私钥的用户可逐步解锁

MetaMask Snap

扩展用户已经在用的钱包，而不是再发布一个新的。

- 面向沙箱的 Snap 开发
- 自定义链与签名流程
- 在 MetaMask 内提供智能账户能力
- 权限与审核流程处理

密钥管理

MPC、智能账户还是普通 EOA，按你实际承担的责任来选。

- MPC 与门限签名架构
- 硬件签名与平台钥匙串签名
- 托管与非托管各自的后果
- 密钥轮换与恢复设计

多链钱包应用

面向移动端与 Web 的完整钱包产品。

- 多链账户与余额处理
- 签名前的交易模拟
- 始终保持流畅的代币与 NFT 展示
- 移动端与浏览器扩展交付

钱包模型选型

在写代码之前，我们会把各个选项拿到你的用户面前比一比。

- EOA、智能账户、MPC、内嵌、托管
- 保管密钥带来的监管后果
- 各模型的客服负担与恢复成本
- 选错之后的迁移路径

// 02

## 我们如何做钱包

多数钱包项目栽在注册流程上，而不是密码学上。在 [Afoma](/zh/case-studies/afoma/) 上，我们把链上原语放到社交登录背后，用户全程看不到加密术语，客户的公开评价也提到了交付速度。在 [MetaMask Snap](/zh/case-studies/metamask-snap/) 上，我们与 Boba 团队一起走了相反的路，去扩展用户已经信任的那个钱包。哪一种是对的，完全取决于你的用户是谁。另见 [账户抽象开发](/zh/services/account-abstraction-development/) 与 [Web3 中枢页](/zh/services/blockchain/) 。

// 03

## 什么时候你不该自己做钱包

自建钱包很少是正确答案。如果你的用户本就熟悉加密，就接入他们已有的钱包，把预算花在你的产品上。如果他们不熟悉，那么来自成熟服务商的内嵌钱包，在时间和风险上通常都胜过自建。只有当你有不常见的签名模型、有一条没人好好支持的链，或者有标准服务商满足不了的体验要求时，定制钱包才值这个成本。另外，请对托管这件事诚实：一旦你能动用户的资金，你就进入了一个拆解起来代价高昂的监管位置。

// 实证

## 用案例说话，而不是承诺

### [MetaMask Snap](/zh/case-studies/metamask-snap/)
- **Status:** 上线
- **Outcome:** MetaMask - 原生集成
- **Summary:** 带混合计算的智能钱包，藏在用户已信任的钱包里，与 Boba 团队一起对着 MetaMask 的 Snap 沙盒构建。
- **Stack:** Typescript, MetaMask Snaps, Solidity

### [Afoma](/zh/case-studies/afoma/)
- **Status:** 上线
- **Outcome:** Web3 社交登录 - 已上线
- **Summary:** 上线中的 marketplace、链上原语、零加密术语，社交登录 + 隐形的钱包创建。
- **Stack:** Typescript, Solidity, Ethers.js

### [Scramble Wallet](/zh/case-studies/scramble-wallet/)
- **Status:** 上线
- **Outcome:** 50+ - 目标用户年龄
- **Summary:** 跨浏览器扩展、加了 Tron、iOS + Android 多渠道分发，基于 Enkrypt fork 构建，每个版本都在还债。
- **Stack:** VueJS, Typescript, NestJS

这些是精选项目，并非我们的全部作品。自 2018 年以来我们已交付 75+ 款产品。

### 客户怎么说

区块链开发的首选机构。 极其经验丰富、高度专业的团队。与他们合作非常愉快。" data-quote-original=" **THE agency to go for blockchain development.** Super experienced and highly professional team. Love to work with them." data-original-lang=en>

Google

**区块链开发的首选机构。** 极其经验丰富、高度专业的团队。与他们合作非常愉快。

查看更多 →

Richard Leitgeb

已翻译 · 点击查看原文

关于区块链与 NFT 的技术问题，我一次又一次乐意找 Kevin。 他在这个领域钻研得非常深入，他所带来的专业能力对此类项目而言无疑是不可或缺的。因此我只能推荐每个人在这些话题上联系 Kevin。" data-quote-original=" **Bei Fragen zu Blockchain und NFT greife ich bei technischen Fragestellungen gerne immer wieder auf Kevin zurück.** Er hat sich hier sehr gut eingearbeitet und die Expertise, die er mitbringt, ist für derartige Projekte mit Sicherheit unerlässlich. Kann deshalb nur jedem empfehlen, sich zu diesen Themen mit Kevin in Verbindung zu setzen." data-original-lang=de>

LinkedIn

**关于区块链与 NFT 的技术问题，我一次又一次乐意找 Kevin。**他在这个领域钻研得非常深入，他所带来的专业能力对此类项目而言无疑是不可或缺的。因此我只能推荐每个人在这些话题上联系 Kevin。

查看更多 →

Fritz Fahringer Klarheit vor KI

已翻译 · 点击查看原文

智能合约开发的专家。 " data-quote-original=" **Experts in smart contract development.** " data-original-lang=en>

Trustpilot

**智能合约开发的专家。**

查看更多 →

CJ

已翻译 · 点击查看原文

独立平台评分：4.5/5（Trustpilot） [查看评价](https://www.trustpilot.com/review/wavect.io)

[![Clutch Top Web3 Development in Austria 2026 award for Wavect](/img/awards/clutch-top-web3-development-austria-2026_hu_92ea6d2c36d12863.webp) Clutch 认证 · 2026 Top Web3 Development in Austria 查看我们的 Clutch 主页](https://clutch.co/profile/wavect-gmbh) [![Clutch Top Blockchain Company in Austria 2026 award for Wavect](/img/awards/clutch-top-blockchain-company-austria-2026_hu_f3bd0de76b443d6d.webp) Clutch 认证 · 2026 Top Blockchain Company in Austria 查看我们的 Clutch 主页](https://clutch.co/profile/wavect-gmbh)

## 常见问题

关于钱包交付的坦诚回答

### 每周取消具体如何运作？

通过一条消息即可结束任何一周。无通知期、无离场访谈、无附加条款。我们按周开票，你最多承诺当前一周。

### 如果工作没让我惊艳怎么办？

合同里就是这么写的：告诉我们，我们会退还那一周的费用。无需问询、无需争议账单、无需升级电话。唯一规则：退款适用于最近一周。

### 为什么你们不计工时？

因为工时是错误的衡量标准。如果我们以计费工时为优化目标，就不是在为你的成果优化。我们的协议更简单：每一周，我们都赢得下一周。如果做不到，你不付款。我们可以投入零小时或六十小时。重要的是你是否被惊艳。

### 「期望脱离现实」是什么意思？

我们和操盘手合作，不和买彩票的人合作。如果某个要求需要打破物理定律、法律或第三方系统，我们会明说，谈不拢就走人。这个保证是双向的：你可以任何一周解雇我们，我们也可以解雇自己。

### MPC 钱包、智能账户还是内嵌钱包，我们该选哪个？

智能账户给你可编程规则，比如代付、会话密钥和账户恢复，代价是每个用户一次部署、每条链单独适配。MPC 把一把密钥拆分给多方，在任何链看来都只是个普通地址，所以托管型和机构型产品偏爱它，但恢复要依赖服务商。内嵌钱包是面向非加密用户最快的路径，同时把大部分责任交给了供应商。多数消费级产品想要的是内嵌钱包加上底层的智能账户；多数机构级产品想要的是 MPC。

### 用户能不能全程不看到助记词就完成注册？

可以，而且消费级产品通常就该这样。在 [Afoma](/zh/case-studies/afoma/) 上，钱包是在社交登录背后创建的，用户看不到加密术语。取舍在于恢复权限落在谁手上，所以这个决定必须明说、公开披露，而不是藏起来。

### 做一个 MetaMask Snap 比自建钱包便宜吗？

便宜不少，而且通常转化也更好，因为没有安装这一步，也不需要重新建立信任关系。Snap 用自定义链、签名流程或智能账户能力去扩展 MetaMask。限制在于 MetaMask 的沙箱和审核流程，所以它适合用户本来就有 MetaMask 的情况，不适合你需要完全掌控界面的情况。

### 非托管还是托管？

除非你有明确理由并且持牌，否则选非托管。如果你能动用户的资金，那么无论营销话术怎么写，实质上你就是托管方，随之而来的是监管义务。我们默认采用非托管架构，并且会明确告诉你某个设计什么时候悄悄越过了这条线。

### 钱包相关的工作要花多少钱？

把现成的内嵌钱包服务商集成进产品，通常是几周。一个 MetaMask Snap，或者在现有应用之上加一层智能钱包，规模更大但边界清晰。带自研密钥管理的完整多链钱包产品属于基础设施工作，起步约 10 万欧元、3 到 6 个月。我们更愿意把你放进其中真正能解决问题的最小那一档。

// 更多

## 更多 Web3 与区块链

### [Web3 与区块链](/zh/services/blockchain/)

中枢页：dApp、支付、扩容，以及我们交付的链。会把你导向真正需要的那一块。

### [智能合约开发](/zh/services/smart-contract-development/)

Solidity 与 Rust，从架构一路到主网，含第三方审计协调与监控。

### [账户抽象开发](/zh/services/account-abstraction-development/)

ERC-4337 智能账户、Paymaster、会话密钥与账户恢复。背后有三套生产级 SDK。

### [跨链桥开发](/zh/services/cross-chain-bridge-development/)

我们建过一座覆盖六条链的生产级桥，也正因如此，我们常常会劝你别自己建。

### [Zero-Knowledge](/zh/services/zero-knowledge/)

靠密码学证明实现隐私，而不靠政策：ZK 身份、隐私交易和 ZK rollup。

// 了解我们

## 了解我们

长期关系，而非快速收益。

[![博客](/img/services/gtku_blogs_hu_d7e3f659443e93f9.webp) 阅读我们的博客](/zh/blog/overview/) [![No BS Around Tech 播客](/img/services/gtku_podcast_hu_aac94ba51d8a6f9f.webp) No BS Around Tech 播客](/zh/#trust-podcast) [![图集](/img/services/gtknu_gallery_hu_451025d2d15b7558.webp) 感受一下我们的氛围](/zh/#image-gallery)

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/verified-claims.json#metamask-snap-native-smart-wallets",
      "@type": "Claim",
      "appearance": {
        "@id": "https://wavect.io/zh/services/web3-wallet-development/#webpage",
        "@type": "WebPage",
        "inLanguage": "zh",
        "url": "https://wavect.io/zh/services/web3-wallet-development/"
      },
      "author": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "dateModified": "2026-08-04",
      "identifier": "metamask-snap-native-smart-wallets",
      "inLanguage": "en",
      "text": "Wavect engineered a MetaMask Snap inside Boba Network's build, together with their team, bringing Boba Network's account abstraction and Hybrid Compute smart wallets natively into MetaMask."
    },
    {
      "@id": "https://wavect.io/verified-claims.json#afoma-invisible-wallet",
      "@type": "Claim",
      "appearance": {
        "@id": "https://wavect.io/zh/services/web3-wallet-development/#webpage",
        "@type": "WebPage",
        "inLanguage": "zh",
        "url": "https://wavect.io/zh/services/web3-wallet-development/"
      },
      "author": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "citation": {
        "@type": "WebPage",
        "url": "https://clutch.co/go-to-review/f2290100-9e13-4140-a1b0-0ee301a5fd39/477125"
      },
      "dateModified": "2026-08-04",
      "identifier": "afoma-invisible-wallet",
      "inLanguage": "en",
      "text": "On Afoma, a live marketplace, Wavect layered on-chain primitives behind social login and invisible wallet creation, so the user never sees crypto jargon."
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/zh/services/web3-wallet-development/#service",
      "@type": "Service",
      "areaServed": [
        {
          "@type": "Country",
          "name": "Austria"
        },
        {
          "@type": "Place",
          "name": "Worldwide"
        }
      ],
      "category": "Web3 与区块链",
      "description": "Web3 钱包开发：智能账户、内嵌与无感钱包、MPC 密钥管理，以及 MetaMask Snap。默认非托管。",
      "name": "Web3 钱包开发",
      "provider": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "serviceType": "Web3 Wallet Development",
      "url": "https://wavect.io/zh/services/web3-wallet-development/"
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "item": "https://wavect.io/zh/",
          "name": "首页",
          "position": 1
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/zh/services/overview/",
          "name": "服务",
          "position": 2
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/zh/services/blockchain/",
          "name": "Web3 与区块链",
          "position": 3
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/zh/services/web3-wallet-development/",
          "name": "Web3 钱包开发",
          "position": 4
        }
      ]
    },
    {
      "@id": "https://wavect.io/zh/services/web3-wallet-development/#webpage",
      "@type": "WebPage",
      "description": "Web3 钱包开发：智能账户、内嵌与无感钱包、MPC 密钥管理，以及 MetaMask Snap。默认非托管。",
      "inLanguage": "zh",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "mainEntity": {
        "@id": "https://wavect.io/zh/services/web3-wallet-development/#service"
      },
      "name": "Web3 钱包开发",
      "url": "https://wavect.io/zh/services/web3-wallet-development/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "通过一条消息即可结束任何一周。无通知期、无离场访谈、无附加条款。我们按周开票，你最多承诺当前一周。"
      },
      "name": "每周取消具体如何运作？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "合同里就是这么写的：告诉我们，我们会退还那一周的费用。无需问询、无需争议账单、无需升级电话。唯一规则：退款适用于最近一周。"
      },
      "name": "如果工作没让我惊艳怎么办？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "因为工时是错误的衡量标准。如果我们以计费工时为优化目标，就不是在为你的成果优化。我们的协议更简单：每一周，我们都赢得下一周。如果做不到，你不付款。我们可以投入零小时或六十小时。重要的是你是否被惊艳。"
      },
      "name": "为什么你们不计工时？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "我们和操盘手合作，不和买彩票的人合作。如果某个要求需要打破物理定律、法律或第三方系统，我们会明说，谈不拢就走人。这个保证是双向的：你可以任何一周解雇我们，我们也可以解雇自己。"
      },
      "name": "「期望脱离现实」是什么意思？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "智能账户给你可编程规则，比如代付、会话密钥和账户恢复，代价是每个用户一次部署、每条链单独适配。MPC 把一把密钥拆分给多方，在任何链看来都只是个普通地址，所以托管型和机构型产品偏爱它，但恢复要依赖服务商。内嵌钱包是面向非加密用户最快的路径，同时把大部分责任交给了供应商。多数消费级产品想要的是内嵌钱包加上底层的智能账户；多数机构级产品想要的是 MPC。"
      },
      "name": "MPC 钱包、智能账户还是内嵌钱包，我们该选哪个？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "可以，而且消费级产品通常就该这样。在 Afoma 上，钱包是在社交登录背后创建的，用户看不到加密术语。取舍在于恢复权限落在谁手上，所以这个决定必须明说、公开披露，而不是藏起来。"
      },
      "name": "用户能不能全程不看到助记词就完成注册？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "便宜不少，而且通常转化也更好，因为没有安装这一步，也不需要重新建立信任关系。Snap 用自定义链、签名流程或智能账户能力去扩展 MetaMask。限制在于 MetaMask 的沙箱和审核流程，所以它适合用户本来就有 MetaMask 的情况，不适合你需要完全掌控界面的情况。"
      },
      "name": "做一个 MetaMask Snap 比自建钱包便宜吗？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "除非你有明确理由并且持牌，否则选非托管。如果你能动用户的资金，那么无论营销话术怎么写，实质上你就是托管方，随之而来的是监管义务。我们默认采用非托管架构，并且会明确告诉你某个设计什么时候悄悄越过了这条线。"
      },
      "name": "非托管还是托管？"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "把现成的内嵌钱包服务商集成进产品，通常是几周。一个 MetaMask Snap，或者在现有应用之上加一层智能钱包，规模更大但边界清晰。带自研密钥管理的完整多链钱包产品属于基础设施工作，起步约 10 万欧元、3 到 6 个月。我们更愿意把你放进其中真正能解决问题的最小那一档。"
      },
      "name": "钱包相关的工作要花多少钱？"
    }
  ],
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [
      ".faq-question",
      ".faq-answer"
    ]
  }
}
```
