策略
本页面介绍的为旧版策略功能,未来将逐步停用。建议使用新版高级策略,以实现更灵活的配置与更丰富的功能。
策略用于控制不同的交易任务应该如何审批,每个策略由 2 部分组成,分别是:
- 触发条件:通过交易任务的多个维度定义一组规则,用于匹配交易任务
- 审批流:规定通过触发条件匹配到的交易任务如何进行审批
策略共有 2 类模型:基础策略和高级策略,其中高级策略包含转账交易任务策略、 MPC Sign 签名任务策略和 Web3 签名任务策略。
不同类型的交易任务所支持的策略如下表所示:
策略类型 | 转账交易任务(资产钱包) | Web3 签名任务(Web3 钱包) | MPC Sign 签名任务(资产钱包) |
---|---|---|---|
基础策略 | 支持 | 支持 | 不支持 |
转账交易任务策略 | 支持 | 不支持 | 不支持 |
MPC Sign 签名任务策略 | 不支持 | 不支持 | 支持 |
Web3 签名任务策略 | 不支持 | 支持 | 不支持 |
基础策略可以在手机 App 中查看,其他高级策略可以在 Safeheron Web 控制台中查看。
目前无法自主配置高级策略,点击此处查看如何配置高级策略。
审批流
在介绍不同的策略模型之前,首先介绍一下策略的审批流,不同的策略模型触发条件不同,但审批流功能基本一致。审批流的设计是为了满足客户不同的业务场景,同时为团队内部协作提供了灵活性和安全性。
审批流目前最多包含 3 个审批节点组成,每个审批节点核心由 2 部分组成:
- 参与审批的成员(包含 API Co-Signer)
- 审批门限
每个审批节点可以设置审批成员和审批门限,比如审批节点 1 需要 A 、B 、C 3 个成员中的 2 个成员审批,则审批节点配置如下:
- 审批节点 1
- 参与审批的成员:A、B、C
- 审批门限:2/3
如果业务场景有审批顺序的需求,可以通过多个审批节点实现。如审批需求为成员 A 先审批,审批通过后成员 B 或者成员 C 审批。则审批节点配置如下:
- 审批节点 1
- 参与审批的成员:A
- 审批门限:1/1
- 审批节点 2
- 参与审批的成员:B、C
- 审批门限:1/2
当审批流最后一个审批节点完成审批,交易任务将进行 MPC 签名。需要注意的是,审批流采用一票否决制,即任意审批节点中一旦有 1 个成员拒绝,则整个审批流结束。
基础策略
在您首次使用 Safeheron 手机 App 完成团队创建后,会为您配置默认基础策略,团队的管理员可在手机 App 中查看和修改基础策略,您可以根据自己的业务场景设置合适的审批流。
基础策略允许团队内所有拥有发起交易权限的成员(包含 API key)发起转账交易或 Web3 签名任务,但不支持自定义特征维度,比如:发起人,触发条件,交易源钱包等。
简单地讲,基础策略的触发条件不可自定义,匹配团队下所有转账交易任务和 Web3 签名任务,审批流可以由团队管理员在手机 App 中进行设置。
转账交易任务策略
当基础策略无法满足业务需求时,您可以选择使用高级策略。
您可以通过设定多个转账交易任务策略来完善您的业务风控,比如设定策略可以实现以下场景:
- 钱包 1 发送 BTC 转账交易需要成员 A 或者成员 B 成员审批,发送 ETH 需要成员 A 和成员 B 审批
- 钱包 2 发送转账交易,如果价值小于 1,000,000 USD,需要成员 A 或者成员 B 审批,如果价值大于 1,000,000 USD,需要成员 A 和成员 B 审批
- 钱包 3 发送转账交易,如果价值小于 1,000,000 USD,API Co-Signer 1 自动审批即可,如果价值大于 1,000,000 USD,需要成员 A 和成员 B 审批
- 钱包 4 只允许成员 C 发起转账交易,转账目标必须是白名单中的地址,任何转账交易都需要成员 A 或者成员 B 审批
转账交易任务策略的审批流和上文描述中一致,此处不再赘述;触发条件则包含多个维度,多个维度可以相互组合:
维度 | 说明 |
---|---|
发起人 | 限定交易的发起人,具有发起交易权限的团队成员或者 API Key 可以作为发起人,有以下选项: 1. 任意有权限的成员 2. 指定 1 个或多个有权限的成员 |
From | 限定转账使用的钱包,有以下选项: 1. 不限制,即任意资产钱包 2. 指定 1 个或多个资产钱包 |
To | 限定转账的目标地址,有以下选项: 1. 不限制,即任意目标地址 2. 本团队下的任意资产钱包 3. 指定本团队下的 1 个或多个资产钱包 4. 任意白名单地址 5. 指定 1 个或多个白名单地址 6. 陌生地址 |
价值 | 根据汇率将转账数量换算成 USD 价值,限定转账交易的价值,有以下选项: 1. 转账价值大于 x 价值 2. 转账价值小于 x 价值,且 24 小时内转账次数小于 y 次 3. 转账价值小于 x 价值,且 24 小时内累计转账价值小于 y |
数量 | 限定指定币种的数量,有以下选项: 1. 转账数量大于 x 2. 转账数量小于 x,且 24 小时内转账次数小于 y 次 |
优先级 | 限定策略匹配优先级,当策略发生冲突时数值越大优先级越高 |
审批流 | 限定匹配到的交易进入审批流或拒绝执行,有以下选项: 1. 拒绝执行 2. 进入设定的审批流 |
上述维度中每个策略价值维度和数量维度只可以 2 选 1。
如果设定了转账交易任务策略,则转账交易优先匹配高级策略,如果未匹配到高级策略且满足基础策略的执行条件,则进入基础策略设定审批流。
MPC Sign 签名任务策略
MPC Sign 策略的审批流和上文描述中一致,此处不再赘述;触发条件则包含多个维度,多个维度可以相互组合:
维度 | 说明 |
---|---|
发起人 | 限定交易的发起的 API Key,有以下选项: 1. 任意有权限的 API Key 2. 指定 1 个或多个有权限的 API Key |
From | 限定转账使用的钱包,有以下选项: 1. 不限制,即任意资产钱包 2. 指定 1 个或多个资产钱包 |
优先级 | 限定策略匹配优先级,当策略发生冲突时数值越大优先级越高 |
审批流 | 限定匹配到的签名任务进入审批流或拒绝执行,有以下选项: 1. 拒绝执行 2. 进入设定的审批流 |
Web3 签名任务策略
在基础策略无法满足对 Web3 签名任务的审批要求时,比如使用 Web3 钱包完成 Token 转账、Token Approve、调用合约方法、NFT Transfer、NFT 授权等与智能合约交互的业务场景,需要严格限制 Web3 钱包可以和哪些合约进行交互,此时可以采用 Web3 签名任务策略实现灵活安全的审批控制。
Web3 钱包的其他非智能合约交互场景,比如使用 personal_sign、eth_signTypedData(v1~v4)、eth_sign 等 Web3 方法,目前仅支持通过基础策略进行审批控制。
Web3 签名任务策略的审批流和上文描述中一致,此处不再赘述;触发条件则包含多个维度,多个维度可以相互组合:
维度 | 说明 |
---|---|
发起人 | 限定交易的发起人,具有发起交易权限的团队成员或者 API Key 可以作为发起人,有以下选项: 1. 任意有权限的成员或 API Key 2. 指定 1 个或多个有权限的成员或 API Key |
From | 限定使用的 Web3 钱包,有以下选项: 1. 不限制,即任意 Web3 钱包 2. 指定 1 个或多个 Web3 钱包 |
To | 限定智能合约地址,一条策略最多支持 50 个合约地址 |
优先级 | 限定策略匹配优先级,当策略发生冲突时数值越大优先级越高 |
审批流 | 限定匹配到的签名任务进入审批流或拒绝执行,有以下选项: 1. 拒绝执行 2. 进入设定的审批流 |
添加高级策略
由于高级策略比较复杂,所以无法自主添加,如有需要请联系 Safeheron Support 团队,Support 团队会根据您的业务场景协助您设定高级策略。
您可以使用以下模版发送邮件至:support@safeheron.com。
转账交易任务策略模版
邮件标题
转账交易任务策略添加申请
邮件内容
团队ID:<您的团队ID,获取方式: App -> 我的 -> 点击团队名称右部导航按钮>
业务场景描述:<描述您使用高级策略的场景,便于 Support 团队核实策略设定是否合理与安全>
申请添加的策略:
发起人 | From | To | 价值/数量限制 | 优先级 | 审批节点 1 | 审批节点 2 | 审批节点 3 |
---|---|---|---|---|---|---|---|
任意有权限的成员 | 不限制 | 任意白名单地址 | 转账价值 < 10,000 USD,且 24 小时内累计转账价值小于 200,000 USD | 100 | 节点名称:管理员审批 参与成员:A、B、C 审批门限:2/3 | 无 | 无 |
成员 A | 钱包 1 | 白名单地址 A,白名单地址 B | 转账 ETH < 100 ETH,且 24 小时内转账次数小于 50 次 | 200 | 节点名称:财务审批 参与成员:A、B、C 审批门限:2/3 | 节点名称:风控审批 参与成员:A、B 审批门限:1/2 | 无 |
成员 A | 钱包 2 | 不限制 | 转账 BTC > 100 BTC | 300 | 节点名称:决策层审批 参与成员:B、C 审批门限:2/2 | 无 | 无 |
... | ... | ... | ... | ... | ... | ... | ... |
MPC Sign 签名任务策略模版
邮件标题
MPC Sign 签名任务策略添加申请
邮件内容
团队ID:<您的团队ID,获取方式: App -> 我的 -> 点击团队名称右部导航按钮>
业务场景描述:<描述您使用高级策略的场景,便于 Support 团队核实策略设定是否合理与安全>
申请添加的策略:
发起人 | 发起钱包 | 优先级 | 审批节点 1 | 审批节点 2 | 审批节点 3 |
---|---|---|---|---|---|
API Key 1 | 钱包 1,钱包 2 | 100 | 节点名称:自动化审批 参与成员:API Co-Signer 审批门限:1/1 | 无 | 无 |
API Key 2 | 钱包 3 | 200 | 节点名称:管理员审批 参与成员:A、B 审批门限:1/2 | 无 | 无 |
... | ... | ... | ... | ... | ... |
Web3 签名任务策略模版
邮件标题
Web3 签名任务策略添加申请
邮件内容
团队ID:<您的团队ID,获取方式: App -> 我的 -> 点击团队名称右部导航按钮>
业务场景描述:<描述您使用高级策略的场景,便于 Support 团队核实策略设定是否合理与安全>
申请添加的策略:
发起人 | From | To(智能合约地址) | 优先级 | 审批节点 1 | 审批节点 2 | 审批节点 3 |
---|---|---|---|---|---|---|
API Key 1 | 不限制 | 0x694b...4008 0x795e...F7A6 0x3bF6...3038 | 100 | 节点名称:自动化审批 参与成员:API Co-Signer 审批门限:1/1 | 无 | 无 |
成员 A | Web3 钱包 1 | 不限制 | 200 | 节点名称:财务审批 参与成员:B、C 审批门限:1/2 | 节点名称:风控审批 参与成员:E、F 审批门限:1/2 | 无 |
... | ... | ... | ... | ... | ... | ... |