Safeheron Skill
用自然语言指挥 AI 编写生产级 Safeheron 对接代码 —— 从零到上线完整指南。
1. 产品说明
1.1 什么是 Safeheron Skill
Safeheron Skill 是一个面向 Claude Code 和 Cursor IDE 的 AI Skill插件。安装后,开发者可以通过自然语言描述需求,让 AI 直接生成基于 Safeheron Java SDK 的生产级代码,无需逐页翻阅 API 文档。
它的核心能力包括:
代码生成 —— 描述您的业务场景,AI 自动生成符合 SDK 规范的 Java 代码,包含正确的 import、异常处理和安全校验。
全 API 覆盖 —— 涵盖钱包管理、转账交易、MPC 签名、Web3 签名、Webhook 回调、白名单、Gas Station、AML/KYT 合规检查、Co-Signer 审批等全部 API。
调试排错 —— 输入错误码或异常信息,AI 直接定位根因并给出修复方案。
安全合规内置 —— 生成的每一段代码都遵循 Safeheron 安全最佳实践,包括密钥管理、幂等性、AML 检查等。
1.2 适用人群
后端开发者
快速生成 SDK 集成代码,减少查阅文档时间
技术架构师
了解 Safeheron API 能力边界,设计系统架构方案
安全工程师
审查代码安全性,了解 MPC 自托管的安全要求
产品经理
快速了解 Safeheron 支持的业务场景和能力范围
1.3 核心概念速览
在进入实战之前,您需要了解几个关键概念:
MPC 自托管(MPC Self-Custody):Safeheron 采用 3-of-3 MPC(安全多方计算)架构管理私钥。私钥永远不会以完整形式出现在任何单一设备上,三个分片分别由团队本地、Safeheron 云端持有,协同签名完成交易。
钱包账户(Wallet Account):Safeheron 中的钱包账户是一个全链钱包——每个账户可以持有多条链的地址(如 ETH、BTC、USDT 等)。推荐的做法是一个终端用户绑定一个 Safeheron 钱包账户(1:1 关系)。
SDK 调用模式:Safeheron Java SDK 使用固定的三步模式:
所有 API 调用必须通过 ServiceExecutor.execute() 包装,直接调用接口方法会失败。
交易生命周期:
1.4 Safeheron Skill 内置知识库
Skill 内部包含 20 份专题参考文档,覆盖 Safeheron API 的方方面面:
入门
GETTING_STARTED.md
从零到第一个 API 调用
SDK
SDK_SETUP.md
Maven/Gradle 配置、Spring Boot 集成
认证
AUTH.md
RSA+AES 加密签名流程
钱包
WALLET_API.md
钱包创建、查询、币种管理
交易
TRANSACTION_API.md
转账、查询、取消、加速
MPC 签名
MPC_SIGN_API.md
原始哈希签名
Web3
WEB3_API.md
EVM 链签名操作
Webhook
WEBHOOK.md
事件回调处理
白名单
WHITELIST_API.md
地址白名单管理
合规
COMPLIANCE_API.md
AML/KYT 报告
工具
TOOLS_API.md
AML 地址风控检查
Gas
GAS_API.md
Gas Station 状态查询
Co-Signer
COSIGNER.md
自动审批回调
安全
SECURITY_BEST_PRACTICES.md
安全编码规范
检查清单
SECURITY_CHECKLIST.md
上线前安全检查
策略
POLICY_STRATEGY.md
审批策略配置
业务模式
BUSINESS_PATTERNS.md
充值/提币/归集架构
错误码
ERROR_CODES.md
常见错误排查
FAQ
FAQ.md
真实场景 Q&A
币种
COIN_API.md
币种查询、地址校验
2. 环境准备与安装
2.1 前置条件
Java 8+
Maven 3.x 或 Gradle 7+
OpenSSL(macOS/Linux 自带,Windows 可使用 Git Bash 或 WSL)
Safeheron Web Console 账户(https://www.safeheron.com)
Claude Code 或 Cursor IDE
2.2 安装 Skill
Claude Code 安装
方式一:插件安装(推荐)
方式二:手动安装(项目级)
方式三:手动安装(用户级,全局生效)
Cursor 安装
Cursor 原生支持 SKILL.md 格式,同时兼容 .claude/skills/ 路径,因此一次安装可同时支持 Claude Code 和 Cursor。
⚠️ 注意:
~/.cursor/skills-cursor/是 Cursor 内置的只读目录,不要安装到此路径。请使用~/.cursor/skills/。


2.3 验证安装
安装成功后,在 Claude Code 或 Cursor 中输入以下 prompt 测试:
如果 AI 能够识别 Safeheron SKILL 并开始引导你完成配置,说明安装成功。

2.4 Safeheron 平台配置
在编写代码之前,需要先在 Safeheron Console 完成以下配置:
Step 1:生成 RSA 密钥对
Safeheron 使用 RSA-4096 进行请求签名和载荷加密。
生成的文件对应关系:
api_public.pem
公钥
上传到 Safeheron Console
api_pkcs8.pem
PKCS8 编码的私钥
SDK 配置中 **rsaPrivateKey** 字段
提取 Base64 值(去掉 PEM 头尾):
🔒 安全提醒:私钥文件绝不能提交到版本控制。务必将
*.pem加入.gitignore。
Step 2:在 Console 配置 API
登录 Safeheron Web Console → Settings → API
复制 Safeheron Platform Public Key(这是 SDK 配置中的
safeheronRsaPublicKey)创建 API Key:
粘贴你的 RSA 公钥(
api_public.pem的 base64 内容)选择所需权限
添加服务器 IP 到白名单(必填!未注册的 IP 会被拒绝访问)
保存生成的 API Key 字符串


Step 3:添加 SDK 依赖
Maven(pom.xml):
Gradle(build.gradle):
Step 4:配置凭证注入
方式 A:环境变量
方式 B:Spring Boot **application.yml**
⚠️ 注意
requestTimeout是 Long 类型(毫秒),代码中使用20000L而不是20000。
3. 接入实例
以下四个场景覆盖了最常见的业务需求:钱包创建、充值归集、提币转账、Webhook 回调。每个场景都包含 AI Prompt 示例 和 生成代码参考,展示 SKILL 的实际工作方式。
场景一:钱包创建与充值地址分配
业务需求:为每个终端用户创建独立的钱包账户,添加 ETH 和 USDT 币种,获取充值地址。
AI Prompt
在 Claude Code 或 Cursor 中输入:

生成代码参考
要点说明
hiddenOnUI(true)—— 充值钱包不需要在 Console UI 中展示,避免界面混乱accountTag("DEPOSIT")—— 标记为充值钱包后,Auto-Sweep 归集引擎会自动处理该钱包添加 ERC-20 Token(如 USDT)时,ETH 会被自动添加(因为需要 ETH 作为 Gas 费)
accountKey是钱包的永久唯一标识符,创建后务必保存到数据库
场景二:充值检测与资产归集
业务需求:检测用户的充值到账,确认后将资产从各个充值钱包归集到平台热钱包。
AI Prompt


生成代码参考
充值检测(Webhook Handler)
资产归集(Internal Transfer)
要点说明
推荐使用 Auto-Sweep:如果已部署 API Co-Signer,建议在 Console 配置 Auto-Sweep 规则,可实现零代码自动归集
Webhook + REST API 轮询:充值检测必须同时实现两种方式,Webhook 作为主路径,REST API 轮询作为兜底
状态不可回退:如果数据库中交易已经是
COMPLETED,收到迟到的CONFIRMING事件应丢弃粉尘攻击防护:外部攻击者可能向你的充值地址发送极小金额,务必设置最小充值阈值过滤
场景三:提币转账
业务需求:处理用户提币请求,从热钱包转出资产到用户指定的外部地址,包含 AML 检查和地址验证。
AI Prompt

生成代码参考
要点说明
DB-first 模式:先在数据库创建提币订单(包含
customerRefId),再调用 Safeheron API。这样即使网络超时,也能通过相同的customerRefId重试,Safeheron 会返回已有交易而非创建新交易AML 检查前置:在调用转账 API 前先通过
ToolsApiService检查目标地址风险等级金额使用 String:
txAmount必须是 String 类型(如"0.01"),应用层使用BigDecimal计算**failOnAml: true**:即使前置做了 AML 检查,仍建议保持此选项开启,作为第二道防线对于经常性转账目标(如交易所热钱包、合作方地址),应使用白名单地址(
WHITELISTING_ACCOUNT),而非ONE_TIME_ADDRESS
场景四:Webhook 回调处理
业务需求:实现完整的 Webhook 回调处理服务,支持签名验证、事件路由、幂等处理和安全事件告警。
AI Prompt

生成代码参考
Webhook 配置类
Webhook Controller
要点说明
签名验证是强制要求:SDK 的
WebhookConverter.convert()内部会自动完成 RSA 签名验证和 AES 解密,验证失败会抛出SafeheronExceptionIP 白名单:Safeheron 的 Webhook 出口 IP 固定为
18.162.105.64、18.167.22.59、18.167.21.182。建议在防火墙/安全组层面限制,而非仅在应用层始终返回 HTTP 200:即使处理出错也应返回 200。非 200 响应会触发 Safeheron 的重试机制(共 7 次:30s → 1m → 5m → 1h → 12h → 24h)
状态不可回退:由于 Webhook 事件可能乱序到达,必须确保终态(COMPLETED/FAILED/REJECTED/CANCELLED)不会被中间状态覆盖
安全事件处理:务必订阅
ILLEGAL_IP_REQUEST、NO_MATCHING_TRANSACTION_POLICY、GAS_BALANCE_WARNING、AML_KYT_ALERT等安全事件并对接告警系统
4. 最佳实践
4.1 安全规范(非谈判性要求)
以下安全要求是强制性的,所有 Safeheron 集成代码都必须遵守:
密钥管理
AWS 云
AWS KMS / Secrets Manager
GCP 云
GCP KMS
自建机房
HashiCorp Vault
本地开发
环境变量或项目外的文件(绝不提交到 Git)
绝对禁止在代码中硬编码 API Key 和 RSA 私钥。
转账安全
**customerRefId**先行:在调用任何 Safeheron 创建类 API 之前,先生成 UUID 并保存到数据库。网络超时时使用相同的 ID 重试地址验证:调用
CoinApiService.checkCoinAddress()验证地址格式后再操作AML 前置检查:每笔出金前通过
ToolsApiService检查目标地址风险金额精度:API 中使用 String 类型(
"0.01"),代码中使用 BigDecimal。绝不使用 float/double**failOnAml: true**:默认开启,仅在明确的业务场景下关闭白名单优先:正式的、经常性的转账目标地址应加入白名单;
ONE_TIME_ADDRESS仅用于真正的一次性付款
Co-Signer 安全
禁止盲审批:每笔交易必须校验
customerRefId、金额、目标地址三要素Co-Signer 服务必须部署在隔离的私有网络中,禁止公网直接访问
生产环境的 Co-Signer API Key 必须配置 Callback URL
Webhook 安全
必须验证 RSA 签名后再处理任何事件
生产环境必须使用 HTTPS
实现幂等处理,防止重复入账/出金
在防火墙层面限制仅接受 Safeheron 出口 IP 的流量
始终实现 REST API 轮询作为 Webhook 的兜底方案
4.2 架构设计建议
审批策略分层
对于交易所级别的部署,推荐配置分层审批策略:
单笔 ≤ 10 万 USD
API Co-Signer 自动审批
单笔 > 10 万 USD
运维团队 2-of-3 审批
24H 累计 10-50 万 USD
运维团队 2-of-3 审批
24H 累计 50-200 万 USD
财务团队 2-of-2 审批
24H 累计 > 200 万 USD
高管 1-of-2 审批
务必在策略栈底部添加一条兜底阻断规则,拦截所有未匹配的交易。
充值-提币完整架构
4.3 使用 SKILL 的高效 Prompt 技巧
以下是一些经过验证的高效 Prompt 示例:
快速入门
"Use Safeheron skill to set up my first API call"
创建钱包
"Generate Java code to create a wallet and add ETH and USDT"
发起转账
"Create a transaction to send 0.01 ETH from wallet abc to address 0x1234..."
Spring Boot 配置
"Generate Spring Boot configuration class for Safeheron SDK"
Webhook 处理
"Write a webhook handler that processes incoming transaction events"
Co-Signer 集成
"Help me set up the API Co-Signer approval callback service"
错误排查
"My API call returns error 1010 — what's wrong and how do I fix it?"
安全审查
"Review my Safeheron integration code for security issues"
Prompt 技巧:
明确场景:告诉 AI 你的业务上下文(如"交易所充值场景"),AI 会自动加入安全检查和最佳实践
指定框架:如果你使用 Spring Boot,在 prompt 中注明,AI 会生成对应的 Bean 配置和注入代码
提出限制:说明你的安全要求(如"使用环境变量注入密钥"),AI 会遵循
迭代优化:先生成基础代码,再让 AI "增加异常处理" 或 "添加 AML 检查"
4.4 测试网环境
Safeheron 支持以下测试网络,建议在正式接入前充分测试:
Ethereum Sepolia
ETH_SEPOLIA
Bitcoin Testnet
BITCOIN_BTC_TESTNET
TRON Shasta
TRX_SHASTA
可以通过 Prompt 让 SKILL 生成测试网的代码:
5. 常见问题与排错
5.1 API 错误码速查
1010
参数解密失败
safeheronRsaPublicKey 配置错误
从 Console 重新复制 Safeheron 平台公钥
1012
签名验证失败
rsaPrivateKey 不是 PKCS8 格式,或与 Console 上传的公钥不匹配
重新执行 openssl pkcs8 转换
9001
customerRefId 已存在
重复提交
查询已有交易而非重新创建
9028
MPC Sign 策略未配置
首次使用 MPC Sign
联系 Safeheron Support 开通
Illegal IP
IP 不在白名单
服务器 IP 未注册
在 Console → API Keys → IP Whitelist 添加
5.2 SDK 常见编码错误
错误:直接调用接口方法
错误:类型不匹配
错误:金额使用数值类型
错误:配置字段混淆
5.3 使用 SKILL 快速排错
当遇到错误时,可以直接将错误信息发给 AI:
AI 会根据 SKILL 内置的 ERROR_CODES.md 知识,精准定位问题并给出修复步骤。

6. 附录
6.1 SDK API Service 速查表
钱包账户
AccountApiService
创建/查询钱包、添加币种
币种管理
CoinApiService
查询币种信息、验证地址
交易
TransactionApiService
创建/查询/取消/加速交易
MPC 签名
MPCSignApiService
原始哈希签名
Web3
Web3ApiService
EVM 链签名操作
白名单
WhitelistApiService
地址白名单 CRUD
合规
ComplianceApiService
AML/KYT 报告查询
Gas Station
GasApiService
Gas 余额和补充记录
工具
ToolsApiService
AML 地址风控检查
6.2 交易状态流转
6.3 相关资源
Safeheron SKILL GitHub
Safeheron API 文档
Java SDK GitHub
Safeheron Web Console
Last updated

