> ## Documentation Index
> Fetch the complete documentation index at: https://custodydocs-zh.chainup.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 功能配置

在系统开发之前，需要先对钱包进行以下准备工作：

## I. 创建API

请工作站创建者登录[ChainUp控制台系统](https://custody.ChainUp.com/)，在API管理页面创建API；

![](https://mintcdn.com/custody-zh/qHezw-OC45ZTBFPH/images/apis/mpc-api1_cn.png?fit=max\&auto=format\&n=qHezw-OC45ZTBFPH\&q=85\&s=06d055068d92ad95a0ac92c84b13d05d)

### 关于RSA公钥

为了保证数据传输安全，ChainUp采用 `RSA-2048` **PKCS#8** 密钥格式的非对称加密算法对 API 请求和响应的数据进行加解密；其中公钥用于解密请求数据需要上传到ChainUp，私钥用于加密数据由客户自行配置到对应服务器并妥善保管；

### RSA公私钥对的说明

第一对RSA公私钥：创建 API 后，ChainUp Custody会默认生成，其中 `RSA公钥` 会给到开发者，开发者用于`响应参数解密`

第二对RSA公私钥：开发者生成，客户业务系统请求 API 前对参数加密，并将 `RSA公钥` 配置到ChainUp Custody用于`请求参数解密`

第三对RSA公私钥：开发者生成，Co-Signer请求 API 前对参数加密，并将 `RSA公钥` 配置到ChainUp Custody用于`请求参数解密`

第四对RSA公私钥（**可选**）：开发者生成，主要用于Co-Signer`未配置回调通知时验证交易签名`，该份公私钥由客户生成并保存，ChainUp Custody不持有

> [!TIP]
>
> Co-Signer RSA公钥除了对接口数据进行加密外，也参与对Co-Signer私钥分片加密的过程，为了私钥分片安全考虑，建议Co-Signer RSA公钥与业务服务 RSA公钥设置为不一致
>
> Co-Signer内置生成RSA公私钥命令，仅限Co-Signer使用，请参考[Co-Signer配置](https://custodydocs-zh.chainup.com/api-references/mpc-apis/co-signer/deploy.md)

### 关于回调通知

目前系统支持三种业务类型回调服务；`交易状态回调`、`签名回调`、`交易审批回调`

其中交易状态回调地址、签名回调是由客户在ChainUp平台配置，且由ChainUp主动触发，交易审批回调地址由客户在Co-Signer程序内配置，且由Co-Signer主动触发

* **交易状态回调**：在交易订单处理完成时（如充值、提现订单），ChainUp会回调客户通知订单最新状态，该回调地址由客户在ChainUp平台内，创建API页面配置【交易状态通知地址】

* **签名回调**：在API发起创建地址或为Co-Signer生成私钥分片时，ChainUp会回调Co-Signer进行签名操作；该回调地址由客户在ChainUp平台内，创建API页面配置【Co-Signer接口地址】

* **交易审批回调地址**：请参考[Co-Signer回调](https://custodydocs-zh.chainup.com/api-references/mpc-apis/co-signer/callback/withdraw.md)

## II. 配置Co-Signer

Co-Signer 常用于自动化签名 OpenAPI 发起的、以及自动归集交易

### Co-Signer服务器选择

Co-Signer支持部署在普通服务器或 `支持SGX` 的服务器，为了安全起见，建议使用带有 SGX 的服务器；推荐微软云服务商；[查看Co-Signer服务器配置要求](https://custodydocs-zh.chainup.com/api-references/mpc-apis/co-signer/deploy.md#i-co-signer)

### Co-Signer配置

Co-Signer 提供了回调处理程序，该程序属于可选组件；

* 若配置回调处理程序（**安全级别**：⭐⭐⭐⭐⭐）

> Co-Signer 会对 OpenAPI 发起的交易请求到业务服务器进行二次审核，仅当业务服务器审核通过后方可进行签名操作；

> **创建地址**、**资金归集**、**加油**等交易不会回调

* 若未配置回调处理程序（**安全级别**：⭐⭐⭐⭐）

> API Co-Signer 会验证交易签名，并签署所有 OpenAPI 发起的交易请求；

* [查看Co-Signer配置教程](https://custodydocs-zh.chainup.com/api-references/mpc-apis/co-signer/deploy.md#co-signer-2)

### 创建Co-Signer私钥分片

完成API及Co-Signer程序配置后，在APP为Co-Signer创建私钥分片。

`工作站创建者`可在MPC系统【安全】-【Co-Signer】页面中创建Co-Signer私钥分片；创建的Co-Signer私钥分片将通过客户在ChainUp平台配置的 Co-Signer RSA公钥加密同步到Co-Signer服务器。

> [!WARNING]
>
> 创建时请务必保证APPID为启用状态，Co-Signer服务正常；
>
> Co-Signer私钥分片丢失或泄露，可刷新出新的私钥分片或删除Co-Signer私钥分片；为了保证私钥分片安全，在刷新或删除后，Co-Signer原私钥分片不可用

## III. 开启自动归集

为了提高资金安全以及资金利用率，部分主链需要配置归集及加油功能，ChainUp为客户提供了一套自动化归集解决方案；具体操作流程如下：

登录[ChainUp管理平台](https://custody.chainup.com/)，在Co-Signer页面中创建；

* 钱包成员（`任意角色`）设置资金归集到账钱包及加油站；

> 仅支持选择在APP端显示的钱包；为了保证资金效率建议`归集钱包`与`加油站`设置为不同的钱包（由于账户类型的主链出金是单笔执行，若配置成相同钱包，在为地址补充矿工费时，出金交易会等待直到补充矿工费完成。）

![](https://mintcdn.com/custody-zh/qHezw-OC45ZTBFPH/images/apis/mpc-auto-collect1_cn.png?fit=max\&auto=format\&n=qHezw-OC45ZTBFPH\&q=85\&s=d7b413160828e2d520c435f7bd34d006)

* `钱包创建者`在APP审批签名；通过钱包私钥对设置的钱包进行加密，确保资金归集的地址正确。

![](https://mintcdn.com/custody-zh/qHezw-OC45ZTBFPH/images/apis/mpc-auto-collect2_cn.png?fit=max\&auto=format\&n=qHezw-OC45ZTBFPH\&q=85\&s=a1fe5a72426a261eba0f7b09a4ddf995)

* 钱包成员（`任意角色`）配置钱包归集、加油应用范围，币种归集、加油规则等信息

![](https://mintcdn.com/custody-zh/qHezw-OC45ZTBFPH/images/apis/mpc-auto-collect3_cn.png?fit=max\&auto=format\&n=qHezw-OC45ZTBFPH\&q=85\&s=288a6bc385bf0d5dad5c5ffbb0895d8d)

### 应用归集范围

配置要进行资金归集的钱包；

### 归集策略

配置要进行资金归集的币种、归集阈值；超过归集阈值且低于设置的矿工费时会自动触发资金归集；用户可通过控制台或API自定义归集的阈值以及最大矿工费。

### 加油策略

为归集币种配置补充矿工费，由于代币归集需要使用主币作为矿工费，当地址的代币满足归集策略且地址没有主币时，将会触发从加油站向待归集地址补充矿工费，补充矿工费的数量可自定义，请务必注意补充的矿工费要低于归集阈值。

策略配置完成，系统自动运行，可在设置的钱包内查看资产变动情况。

> [!TIP]
>
> 建议客户配置矿工费不足报警通知，及时补充，避免影响用户出币


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.