ChainUp MPC Wallet
ChainUp Custody 对于MPC技术的整体实施应用能够保证您的投资资产处于市场上最高级别的安全等级的托管保护之下,用户的私钥将由用户和ChainUp Custody共同管理,该技术使您拥有资产完整控制权,您对资产的管理使用不受时间和地点的限制。方便资产的备份和恢复,消除私钥管理的单点故障问题,同时增加了资产自管的安全性。
MPC协议的性质允许用户了解哪些私钥片段参与和签署,但其协议的性质不要求参与者对外披露他们的身份,这意味着每一方的输入都是保密的。同时MPC会保证签名生成方的在网络上是私密不可见的,在保护其个人数据隐私的同时,保证多方协作和交易可信度。
ChainUp Custody MPC提供了一个简单、高效的对接组件和API,可以帮助开发者更快地接入系统,可以让您自动化管理您的钱包、交易流程等。除此之外,我们还提供交易消息通知,让你更快的感知事件的发生。
API主要提供以下功能:
- 管理子钱包和资产查看
- 获取发起交易所需的预估手续费
- 发起交易、收到交易最终的状态通知
- 通过ChainUp Custody提供的Co-Signer完成自动签名、地址生成
- 获取所有交易的记录详情
请联系商务经理或发邮件至 custody@chainup.com 获取API 信息。
接入指引
您需要按照以下流程进行接入ChainUp Custody - MPC 钱包
创建账号
下载MPC 钱包
方式一:手机浏览器打开链接:https://custody.chainup.com/download
方式二:使用手机扫码打开链接下载:
注册MPC 账户
打开【Custody】应用,注册账号(未注册账号登录即注册),支持邮箱与手机号两种方式
创建并配置企业钱包
钱包分为主钱包、子钱包两个类型;一个主钱包可以创建多个子钱包;
应用场景:
主钱包可用于某个业务线的资产统计;子钱包分配给不同的用户使用。
主钱包可用于公司总资产的统计;子钱包分配给不同的业务部门使用。
私钥密码用于加解密私钥分片,非常重要,为了您的资产安全请务必及时备份。 未备份私钥分片和密码将限制您MPC 钱包功能的使用。
- ChainUp Custody 采用的是3-3的签名策略,其中2个私钥分片加密存储在ChainUp HSM,另外1个私钥分片在用户本地;
- 用户对资产有100%的控制权:ChainUp Custody 仅协助用户管理资产,在没有用户私钥分片签名情况下,无法触碰用户资产。因此用户需要及时将本地私钥分片进行备份并妥善保管;
- 为了便于用户记忆,私钥分片以助记词形式存在。
若钱包配置不满足您的需求,可联系商务经理或发邮件至 custody@chainup.com 获取支持。
获取API 信息
请联系商务经理或发邮件至 custody@chainup.com 获取API 信息。
开发前准备
开发须知
两对公私钥作用(API方式)
第一对公私钥: 开发者在开通MPC钱包时,需提前生成一对公私钥,其中公钥(rsa_third_pub)提供给平台,私钥自己保管,私钥为第三方应用调用钱包服务的唯一凭证,请勿透露给任何人。第三方在请求钱包服务时,通过私钥来加密请求参数,平台接受到请求时,通过提供的公钥(rsa_third_pub)来解密请求数据。
第二对公私钥: 开发者开通MPC钱包后,平台会提供钱包公钥(rsa_wallet_pub)给开发者,第三方应用在接受到钱包的响应数据或异步通知时,需要通过公钥来进行解密。
域名及API密钥(API方式)
生产环境域名(不支持测试环境): | https://openapi.hicoin.vip/ |
---|---|
app_id: | 请创建钱包后获取 |
rsa_wallet_pub: | Custody系统公钥;请创建钱包后从Custody系统获取 |
rsa_third_prv: | 客户私钥;自主生成、保存 |
rsa_third_pub: | 客户公钥;自主生成;请创建钱包后配置到Custody系统 |
推荐密码长度:2048
推荐密钥格式:PKCS#8
说明:
rsa_third_prv为第三方应用私钥,主要用于加密请求参数。如果是生产环境,rsa_third_prv由开发者生成,然后将对应的公钥提供给平台。测试环境为了简化开发者对接流程,此处直接提供了一套第三方的公私钥,便于开发者快速对接。
目前不支持测试环境对接,请根据接入指引自主注册创建钱包后,获取生产环境的API相关信息。
账户准备
开发者准备如下信息:
1)生成一对公私钥,将公钥提供给平台;
2)第三方应用服务器和Co-Signer服务器的IP;
3)收款,转账回调通知地址;
4)Co-Signer服务器的域名;
联系平台相关人员,提供上述四类信息。平台为您准备MPC钱包,提供到您这边包括以下信息:
1)商户的唯一标识:app_id
;
2)钱包公钥:rsa_wallet_pub
。
接口交互过程
文档为钱包服务对第三方应用提供的接口。
以下文档中的接口提供方称为 钱包服务,接口调用方称为 第三方应用。第三方应用在请求钱包服务时,通过RSA算法对请求参数进行加密,接受到钱包服务的响应数据后需要进行解密
接口规则
传输方式: | https(测试环境暂时使用 http) |
---|---|
签名字段: | 除了 sign 字段,其他所有必填项都需要参与签名 |
响应状态码为: | 0 表示处理成功 ,非 0 表示请求错误或系统异常 |
请求地址: | 域名+接口地址 |
加密算法: | RSA |
API接口
统一说明
请求接口示例:
POST /api/mpc/sub_wallet/assets
app_id=2128eb8de9e932a4376909f3d69424cc&data=SWYYr-LBVAmaS0eq8n-CUT_nHkM3OBxyWOsImMTe41UaqAoYI2ZghmaphXHov-7hsRsVmOhyPqC-JFuRGvonJKFd2Jirxv6Vn_8V40r_MMYTkhqcviQbZWYW5xX8Ai8CIpqas9fIWVDIYA_NKBl0UCJpwGxscxLNpjq5Z8-BTyIYDsVBquM9zEQGBCfcA7szD9n2fN_loSkoexlwqV8wg9HIZO5yQ6utZ_Kt0lNDQQb8zn8BwfAvsEsbJlOINUAqhxh1vV_AJ4bXn2uYx8TaYcBht-n_ZcBdxIDt975dbOFUiH-oCzIuDi1oLDtb4EylfCvhU5E4ozel_lQ-6cyIG0Dqiiyx0RFFOCJzPSXIoV031pvoa8pTCpkWklh8mRw1rylBgeZtqSxpnJO2_u2RIlXq6Hs8Yly9CmhIXaSrUgPir0h6xVxlf4VC6PFVCkiiTlp0kZ_H_UbKm0nUis3v3U2sflWJ2C449waSrikhuxVrFAQ6PQmrFVCAE6MYXNrFXJQuam2HAIQNSGbFQjspw8b_bXyfyZMGZ3K2oBC4I_v3eETTdPe0pfSNJb-5g37K0tOAr_UFbWK8pkC8yl56fSjn8tcR3yCRWwoi8jxTcUBiswTtvXZtzgG4dyzkaHXjsZjSGiywXSqP76VZWlyOmAx6IDSViLcPLPISdU3ruCI
请求参数统一格式
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
app_id | String | 必须 | 商户唯一标识 |
data | String | 可选 | 加密之后的字符串,具体加密信息见各接口 请求参数数据结构 |
请求接口示例:
POST /api/mpc/sub_wallet/assets
响应参数统一格式
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
data | String | 必须 | 加密之后的字符串,具体加密信息见 响应结果data解密后格式 |
响应结果示例:
{
"data": "SWYYr-LBVAmaS0eq8n-CUT_nHkM3OBxyWOsImMTe41UaqAoYI2ZghmaphXHov
-7hsRsVmOhyPqC-JFuRGvonJKFd2Jirxv6Vn_8V40r_MMYTkhqcviQbZWYW5xX8Ai8CIpqas9fIWVDIYA
_NKBl0UCJpwGxscxLNpjq5Z8-BTyIYDsVBquM9zEQGBCfcA7szD9n2fN_loSkoexlwqV8wg9HIZO5yQ6utZ_
Kt0lNDQQb8zn8BwfAvsEsbJlOINUAqhxh1vV_AJ4bXn2uYx8TaYcBht-n_ZcBdxIDt975dbOFUiH-
oCzIuDi1oLDtb4EylfCvhU5E4ozel_lQ-6cyIG0Dqiiyx0RFFOCJzPSXIoV031pvoa8pTCpkWklh8mRw1rylBgeZtqSxpnJO2
_u2RIlXq6Hs8Yly9CmhIXaSrUgPir0h6xVxlf4VC6PFVCkiiTlp0kZ
_H_UbKm0nUis3v3U2sflWJ2C449waSrikhuxVrFAQ6PQmrFVCAE6MYXNrFXJQuam2HAIQNSGbFQjspw8b_
bXyfyZMGZ3K2oBC4I_v3eETTdPe0pfSNJb-5g37K0tOAr_UFbWK8pkC8yl56fSjn8tcR3yCRWwoi8jxTcUBiswTtvXZtzgG4dyzka
HXjsZjSGiywXSqP76VZWlyOmAx6IDSViLcPLPISdU3ruCI"
}
响应结果data解密后格式
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
code | String | 是 | 状态码,例:100002 |
msg | String | 是 | 响应结果说明,例:请求参数错误 |
data | String | 否 | 具体响应数据,数据结构定义见各接口 响应参数数据结构 |
加解密方式
请求参数data与响应字段data的值都是经过rsa加密后再通过 base64urlsafe 加密的结果
钱包
获取钱包开通的主链
获取ChainUp Custody支持的MPC主链币种和开通的MPC主链币种
HTTP请求
GET /api/mpc/wallet/open_coin
请求参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
time | long | 是 | 当前时间戳 |
charset | String | 是 | 编码格式,无特殊情况,传参数utf-8 |
响应结果示例
{
"open_main_chain":[
{
"coin_net":"BTC",
"symbol":"BTC",
"symbol_alias":"BTC",
"support_acceleration" : false
}
],
"support_main_chain":[
{
"coin_net":"BTC",
"if_open_chain":true,
"symbol":"BTC",
"symbol_alias":"BTC",
"support_acceleration" : false
}
]
}
响应参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
open_main_chain | Array | 否 | 钱包开通的主链 |
coin_net | String | 否 | 币种网络,例:ETH |
symbol | String | 是 | 币种唯一标识,转账时使用,例:USDTERC20 |
symbol_alias | String | 否 | 币种真实币名,例:USDT |
support_acceleration | boole | 是 | true:支持加速,false:不支持加速 |
support_main_chain | Array | 否 | MPC支持的主链 |
coin_net | String | 否 | 币种网络,例:ETH |
symbol | String | 是 | 币种唯一标识,转账时使用,例:USDTERC20 |
symbol_alias | String | 否 | 币种真实币名,例:USDT |
if_open_chain | Boolean | 是 | 是否开通主链, false 未开通,true :已开通 |
support_acceleration | boole | 是 | true:支持加速,false:不支持加速 |
获取MPC币种详情
获取ChainUp Custody支持的MPC主链币及代币
HTTP请求
GET /api/mpc/coin_list
请求参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
time | long | 是 | 当前时间戳 |
charset | String | 是 | 编码格式,无特殊情况,传参数utf-8 |
symbol | String | 否 | 币种唯一标识,转账时使用,例:USDTERC20 |
base_symbol | String | 否 | 主链币种名称,币种唯一标识,转账时使用,例:ETH |
响应结果示例
[
{
"address_regex":".*",
"address_tag_regex":"",
"base_symbol":"BSC",
"coin_net":"BSC",
"contract_address":"0xe9e7cea3dedca5984780bafc599bd69add087d56",
"decimals":"18",
"deposit_confirmation":"1",
"explorer":"https://www.bscscan.com/address/",
"icon":"",
"if_open_chain":true,
"name":"BUSD Token;BSC;BUSD",
"real_symbol":"BUSD",
"support_memo":"0",
"support_token":"0",
"symbol":"BUSD",
"symbol_alias":"BUSD",
"support_acceleration": true,
"support_multi_addr" : false
}
]
响应参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
symbol | String | 是 | 币种唯一标识,转账时使用,例:BUSD |
symbol_alias | String | 是 | Custody 币种别名 |
real_symbol | String | 是 | 币种链上名称 |
base_symbol | String | 是 | 币种所属主链币种唯一标识,例:BSC |
coin_net | String | 否 | 币种网络 |
contract_address | String | 否 | MPC支持的主链 |
deposit_confirmation | String | 是 | 充值确认数 |
explorer | String | 否 | 区块浏览器 |
icon | String | 是 | 币种icon |
if_open_chain | Boolean | 是 | 是否开通主链, false 未开通,true :已开通 |
decimals | String | 是 | 币种精度 |
support_memo | String | 是 | 是否支持memo,0不支持1支持 |
support_token | String | 是 | 是否支持token币,0不支持1支持,主链币有值,代币为空 |
address_tag_regex | String | 是 | 地址正则 |
address_regex | String | 是 | tag正则 |
support_acceleration | Boolean | 是 | 是否支持加速 |
support_multi_addr | Boolean | 是 | 是否支持多地址,true:支持, false:不支持 |
子钱包(用户)
创建子钱包
传入指定的子钱包名称,为钱包创建一个新的子钱包
HTTP请求
POST /api/mpc/sub_wallet/create
请求参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
sub_wallet_name | string | 是 | 子钱包名称,最大支持50个字符,同一钱包下子钱包不能重名,例:mpc矿池 |
sub_wallet_type | Integer | 否 | 子钱包类型,1:资产子钱包,2:web3子钱包(不传时,默认创建该类型子钱包) |
响应结果示例:
{
"sub_wallet_id": 10234122
}
响应参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
sub_wallet_id | Integer | 是 | 子钱包id |
获取子钱包地址
获取指定子钱包及币种下的收款地址
HTTP请求
POST /api/mpc/sub_wallet/get_address
请求参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
sub_wallet_id | Integer | 是 | 子钱包id |
symbol | String | 是 | 币种唯一标识,例:USDTERC20 |
响应结果示例
{
"address":"0xd5b688639ef10ac7fb8ad0156eb0ae025dd03b86"
}
响应参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
address | String | 是 | 收款到账地址 |
子钱包创建地址
当/api/mpc/coin_list 接口字段:can_create_multi_addr为ture的币种可创建多个地址
HTTP请求
POST /api/mpc/sub_wallet/create/address
请求参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
sub_wallet_id | Integer | 是 | 子钱包id |
symbol | String | 是 | 币种唯一标识,例:USDTERC20 |
响应结果示例
{
"address":"0xd5b688639ef10ac7fb8ad0156eb0ae025dd03b86"
}
响应参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
address | String | 是 | 创建的地址 |
子钱包地址查询
子钱包地址列表
HTTP请求
POST /api/mpc/sub_wallet/get/address/list
请求参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
sub_wallet_id | Integer | 是 | 子钱包id |
symbol | String | 是 | 币种唯一标识,例:USDTERC20 |
max_id | Integer | 是 | 地址起始id, 默认0 |
响应结果示例
[
{
"address":"12ZzzA48sYnE12fdkmKmaxkR3Rz5j7Gjac",
"addr_type": 1,
},
{
"address":"139cRprA9siBDbScbjtCZTcESUgZ1rm9fr",
"addr_type": 2,
}
]
响应参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
address | String | 是 | 创建的地址 |
addr_type | Integer | 是 | 地址类型,1:普通地址,2:找零地址。“找零地址”不可给分配给用户使用, UTXO交易的找零都会找零到找零地址 |
获取子钱包资产
获取指定子钱包及币种下的账户资产
HTTP请求
GET /api/mpc/sub_wallet/assets
请求参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
symbol | String | 是 | 币种唯一标识,例:USDTERC20 |
sub_wallet_id | Integer | 是 | 子钱包id |
响应结果示例
{
"normal_balance":"1.23",
"lock_balance":"0.77"
}
响应参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
normal_balance | String | 是 | 可用余额 |
lock_balance | String | 是 | 冻结余额,例:0.77 |
修改子钱包状态
指定子钱包在app客户端的展示情况,不展示无法在app发起交易
HTTP请求
POST /api/mpc/sub_wallet/change_show_status
请求参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
sub_wallet_ids | String | 是 | 多个子钱包id的字符串,英文逗号分割 |
app_show_status | String | 是 | 1 展示, 2 不展示 |
响应参数数据结构
无
转账
转账
发起一笔转账交易
HTTP请求
POST /api/mpc/billing/withdraw
请求参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
sub_wallet_id | Integer | 是 | 子钱包id |
symbol | String | 是 | 币种唯一标识,例:USDTERC20 |
address_to | String | 是 | 转账到账地址 |
memo | String | 否 | 转账到账地址memo,Memo类型转账时如有可填入 |
amount | String | 是 | 转账金额 |
request_id | String | 是 | 转账唯一标识 |
remark | String | 否 | 转账备注,例:mpc矿池 |
fee_rate | String | 否 | BTC类型系列,费率;注意:不要和其他系列参数一起传入 |
size | String | 否 | BTC类型系列,字节大小;注意:不要和其他系列参数一起传入 |
gas_price | String | 否 | ETH类型系列,gas推荐单价;注意:不要和其他系列参数一起传入 |
gas_limit | String | 否 | ETH类型系列,gas限制;注意:不要和其他系列参数一起传入 |
fee | String | 否 | 其他系列,如DOT\TRX,使用fee;注意:不要和其他系列参数一起传入(gas_limit除外,如ATOM) |
响应结果示例
{
"withdraw_id": 12345
}
响应参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
withdraw_id | Integer | 是 | 转账id |
转账预估手续费
获取转账需要的预估手续费用
HTTP请求
GET /api/mpc/billing/gas_estimate
请求参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
from | String | 否 | 出币地址, from和sub_wallet_id两者必传一个 |
sub_wallet_id | Integer | 否 | UTXO多地址出金时, 该参数必传 |
to | String | 是 | 到账地址 |
memo | String | 否 | 转账到账地址memo,Memo类型转账时如有可填入 |
symbol | String | 是 | 币种唯一标识,例:USDTERC20 |
amount | String | 是 | 金额 |
响应结果示例
{
"gas_limit":0,
"fee_unit":"Gwei",
"gas_price1":"0",
"fee":"0.00159",
"gas_price2":"0",
"gas_price3":"0"
}
响应参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
fee_unit | String | 是 | 手续费单位,例:Gwei |
fee_rate1 | String | 否 | BTC类型系列,费率一档 |
fee_rate2 | String | 否 | BTC类型系列,费率二档 |
fee_rate3 | String | 否 | BTC类型系列,费率三档 |
size | Long | 是 | BTC类型系列,字节大小,该参数值不可修改 |
gas_limit | Long | 否 | ETH类型系列(部分其他系列币种如ATOM也有此参数值),gas限制 |
gas_price1 | Long | 否 | ETH类型系列,gas推荐单价一档 |
gas_price2 | Long | 否 | ETH类型系列,gas推荐单价二档 |
gas_price3 | Long | 否 | ETH类型系列,gas推荐单价三档 |
fee | String | 否 | 其他系列,如DOT\TRX,使用fee字段做手续费 |
fee_changeable | Boolean | 否 | 其他系列,如DOT\TRX,使用fee参数值是否可更改,true可修改,false不可修改 |
转账加速
转账签名完成后,由于手续费不足而长时间未上链的时候,可以重新指定更高额的手续费用加速上链
HTTP请求
POST /api/mpc/billing/withdraw_pending
请求参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
withdraw_id | Integer | 是 | 转账id |
fee_rate | String | 否 | BTC类型系列,费率;注意:不要和其他系列参数一起传入 |
size | String | 否 | BTC类型系列,字节大小;注意:不要和其他系列参数一起传入 |
gas_price | String | 否 | ETH类型系列,gas推荐单价;注意:不要和其他系列参数一起传入 |
gas_limit | String | 否 | ETH类型系列,gas限制;注意:不要和其他系列参数一起传入 |
fee | String | 否 | 其他系列,如DOT\TRX,使用fee;注意:不要和其他系列参数一起传入(gas_limit除外,如ATOM) |
响应参数数据结构
无
获取转账记录
获取钱包下所有子钱包转账记录,最多返回100条
HTTP请求
GET /api/mpc/billing/withdraw_list
请求参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
ids | String | 是 | 多request_id 的字符串,英文逗号分割 |
响应结果示例
[
{
"symbol":"ETH",
"amount":"0.0000111",
"real_fee":"0",
"wihdraw_source":2,
"fee":"0.0002782353",
"address_to":"0xc70d1eebb7c687ec8d56bead73f104d41e6e0bda",
"memo": "123321",
"created_at":1672304978000,
"txid":"0x8e6beba81b90835fc9fcd40a2bdca33243c7c3b81ac765c240837d4810874a55",
"confirmations":0,
"contract_address":"",
"sub_wallet_id":"123",
"address_from":"0x5EDc9177997Bf6B4db559A5C184051858B3B3704",
"fee_symbol":"ETH",
"updated_at":1672318660000,
"base_symbol":"",
"id":242,
"request_id":"57fdc296-1e14-47fa-a99d-5e86f8e51008",
"status":1200
}
]
响应参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
id | Integer | 是 | 转账id |
request_id | Integer | 是 | 转账唯一标识 |
sub_wallet_id | Integer | 是 | 子钱包id |
symbol | String | 是 | 币种唯一标识,转账时使用,例:USDTERC20 |
amount | String | 是 | 转账金额 |
fee_symbol | String | 是 | 手续费币种,例:ETH |
fee | String | 是 | 手续费,例:0.00123 |
real_fee | String | 是 | 真实消耗的手续费,例:0.00111 |
created_at | Long | 是 | 创建时间时间戳 |
updated_at | Long | 是 | 修改时间时间戳 |
address_from | String | 是 | 出币地址 |
address_to | String | 是 | 到账地址 |
memo | String | 否 | 转账到账地址memo |
txid | String | 是 | 交易hash |
confirmations | Integer | 是 | 区块确认数,例:10 |
status | Integer | 是 | 转账状态: 1000 未审批, 1100 审批通过, 待签名,1200 支付中,2000 支付完成,2100 审批拒绝,2200 拒绝,2300 交易丢弃,2400 支付失败 |
withdraw_source | Integer | 是 | 转账类型: 1.app, 2.openapi |
base_symbol | String | 否 | 转账币种主链唯一标识,例:ETH |
contract_address | String | 否 | 转账币种合约地址 |
同步转账记录
获取钱包下所有子钱包转账记录,最多返回100条
HTTP请求
GET /api/mpc/billing/sync_withdraw_list
请求参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
max_id | String | 是 | 转账记录起始id |
响应结果示例
[
{
"symbol":"ETH",
"amount":"0.0000111",
"real_fee":"0",
"wihdraw_source":2,
"fee":"0.0002782353",
"address_to":"0xc70d1eebb7c687ec8d56bead73f104d41e6e0bda",
"memo": "123321",
"created_at":1672304978000,
"txid":"0x8e6beba81b90835fc9fcd40a2bdca33243c7c3b81ac765c240837d4810874a55",
"confirmations":0,
"contract_address":"",
"sub_wallet_id":"123",
"address_from":"0x5EDc9177997Bf6B4db559A5C184051858B3B3704",
"fee_symbol":"ETH",
"updated_at":1672318660000,
"base_symbol":"",
"id":242,
"request_id":"57fdc296-1e14-47fa-a99d-5e86f8e51008",
"status":1200
}
]
响应参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
id | Integer | 是 | 转账id |
request_id | String | 是 | 转账唯一标识 |
sub_wallet_id | Integer | 是 | 子钱包id |
symbol | String | 是 | 币种唯一标识,转账时使用,例:USDTERC20 |
amount | String | 是 | 转账金额 |
fee_symbol | String | 是 | 手续费币种,例:ETH |
fee | String | 是 | 手续费,例:0.00123 |
real_fee | String | 是 | 真实消耗的手续费,例:0.00111 |
created_at | Long | 是 | 创建时间时间戳 |
updated_at | Long | 是 | 修改时间时间戳 |
address_from | String | 是 | 出币地址 |
address_to | String | 是 | 到账地址 |
memo | String | 否 | 转账到账地址memo |
txid | String | 是 | 交易hash |
confirmations | Integer | 是 | 区块确认数,例:10 |
status | Integer | 是 | 转账状态: 1000 未审批, 1100 审批通过, 待签名,1200 支付中,2000 支付完成,2100 审批拒绝,2200 拒绝,2300 交易丢弃,2400 支付失败 |
withdraw_source | Integer | 是 | 转账类型: 1.app, 2.openapi |
base_symbol | String | 否 | 转账币种主链唯一标识,例:ETH |
contract_address | String | 否 | 转账币种合约地址 |
收款
获取收款记录
获取钱包下所有子钱包收款记录,最多返回100条
HTTP请求
GET /api/mpc/billing/deposit_list
请求参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
ids | String | 是 | 多个id的字符串,英文逗号分割,例:123,345 |
响应结果示例
[
{
"symbol":"ETH",
"amount":"1",
"address_to":"0x33648fACAD6CECA85cf717841Ddd87c40B12438F",
"memo": "123321",
"created_at":1672107533000,
"txid":"0xfd0b04024bd1d849ba69e301733194154cb42a05c1dd32065367d8c6336af711",
"confirmations":20,
"contract_address":"",
"sub_wallet_id":"123",
"address_from":"0xc70d1eebb7c687ec8d56bead73f104d41e6e0bda",
"updated_at":1672323030000,
"base_symbol":"",
"id":43,
"status":2000
}
]
响应参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
id | Integer | 是 | 收款id |
sub_wallet_id | Integer | 是 | 子钱包id |
symbol | String | 是 | 币种唯一标识,例:USDTERC20 |
amount | String | 是 | 收款金额 |
created_at | Long | 是 | 创建时间时间戳 |
updated_at | Long | 是 | 修改时间时间戳 |
address_from | String | 是 | 出币地址 |
address_to | String | 是 | 到账地址 |
memo | String | 否 | 到账地址memo |
txid | String | 是 | 交易hash |
confirmations | Integer | 是 | 区块确认数,例:10 |
status | Integer | 是 | 收款状态: 1000 未确认,1100 已确认(交易区块已确认), 2000 已完成(上账已完成),3000 异常 |
base_symbol | String | 否 | 收款币种主链唯一标识,例:ETH |
contract_address | String | 否 | 收款币种合约地址 |
同步收款记录
获取钱包下所有子钱包收款记录,最多返回100条
HTTP请求
GET /api/mpc/billing/sync_deposit_list
请求参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
max_id | String | 是 | 转账记录起始id,例:100 |
响应结果示例
[
{
"symbol":"ETH",
"amount":"1",
"address_to":"0x33648fACAD6CECA85cf717841Ddd87c40B12438F",
"memo": "123321",
"created_at":1672107533000,
"txid":"0xfd0b04024bd1d849ba69e301733194154cb42a05c1dd32065367d8c6336af711",
"confirmations":20,
"contract_address":"",
"sub_wallet_id":"123",
"address_from":"0xc70d1eebb7c687ec8d56bead73f104d41e6e0bda",
"updated_at":1672323030000,
"base_symbol":"",
"id":43,
"status":2000
}
]
响应参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
id | Integer | 是 | 收款id |
sub_wallet_id | Integer | 是 | 子钱包id |
symbol | String | 是 | 币种唯一标识,例:USDTERC20 |
amount | String | 是 | 收款金额 |
created_at | Long | 是 | 创建时间时间戳 |
updated_at | Long | 是 | 修改时间时间戳 |
address_from | String | 是 | 出币地址 |
address_to | String | 是 | 到账地址 |
memo | String | 否 | 到账地址memo |
txid | String | 是 | 交易hash |
confirmations | Integer | 是 | 区块确认数,例:10 |
status | Integer | 是 | 收款状态: 1000 未确认,1100 已确认(交易区块已确认), 2000 已完成(上账已完成),3000 异常 |
base_symbol | String | 否 | 收款币种主链唯一标识,例:ETH |
contract_address | String | 否 | 收款币种合约地址 |
Web3交易
创建Web3交易
创建一笔Web3交易
HTTP请求
POST /api/mpc/web3/trans/create
请求参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
request_id | String | 是 | 交易唯一标识 |
main_chain_symbol | String | 是 | 主链币币名(唯一标识) |
sub_wallet_id | Integer | 是 | 子钱包ID |
interactive_contract | String | 是 | 交互合约 |
amount | String | 是 | 交易金额,-1:表示无穷大, 该金额表示主链币使用金额, 如金额为1ETH, 传值为:1 |
gas_price | String | 是 | gas 手续费,单位:Gwei |
gas_limit | String | 是 | gas limit 手续费 |
input_data | String | 是 | 合约交易的方法参数组成的16进制数据 |
trans_type | Integer | 是 | 0:授权交易,1:其他交易。为0时,amount设置金额无效 |
dapp_name | String | 否 | dapp名称 |
dapp_url | String | 否 | dapp 访问url |
dapp_img | String | 否 | dapp 图片 |
响应结果示例
{
"trans_id": 198012
}
响应参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
trans_id | Integer | 是 | Web3交易ID |
Web3交易加速
转账签名完成后,由于手续费不足而长时间未上链的时候,可以重新指定更高额的手续费加速上链
HTTP请求
POST /api/mpc/web3/pending
请求参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
trans_id | Integer | 是 | Web3交易ID |
gas_price | String | 是 | gas peice, 单位:Gwei |
gas_limit | String | 是 | gas limit |
响应参数数据结构
无
获取web3交易记录
获取钱包下所有子钱包Web3交易记录,最多返回100条
HTTP请求
GET /api/mpc/web3/trans_list
请求参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
ids | String | 是 | 多request_id 的字符串,英文逗号分割 |
响应结果示例
[
{
"id":435,
"request_id":"0000000003",
"sub_wallet_id":1000895,
"txid":"0xbc87e486d28df91fe715436415bab38cc1cf5e4b23fbb8497ff688b823c08ba7",
"symbol":"",
"main_chain_symbol":"HECO",
"amount":"0",
"fee_symbol":"HECO",
"fee":"0.00018",
"real_fee":"0.000107277",
"created_at":1684220373000,
"updated_at":1684222558000,
"address_from":"0xd5c2d98BF2d205039F62ee40c9A7ab1B36125d6d",
"address_to":"",
"confirmations":4,
"input_data":"0xca718c65",
"interactive_contract":"0xe012F3957226894B1a2a44b3ef5070417a069dC2",
"status":2400,
"trans_source":2
}
]
响应参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
id | Integer | 是 | Web3交易ID |
request_id | String | 是 | 交易唯一标识 |
sub_wallet_id | Integer | 是 | 子钱包ID |
txid | String | 否 | 交易hash |
symbol | String | 否 | 交易币种 |
main_chain_symbol | String | 是 | 主链币币名(唯一标识),例:ETH |
amount | String | 是 | 交易金额。-1表示无穷大 |
fee_symbol | String | 是 | 手续费币种,例:ETH |
fee | String | 是 | 手续费 |
real_fee | String | 是 | 真实消耗的手续费 |
created_at | String | 是 | 创建时间时间戳 |
updated_at | String | 是 | 修改时间时间戳 |
address_from | String | 是 | 交易from地址 |
address_to | String | 是 | 交易to地址 |
interactive_contract | String | 是 | 交互合约 |
confirmations | Integer | 是 | 确认数 |
input_data | String | 是 | 合约交易的方法参数组成的16进制数据 |
status | Integer | 是 | 交易状态: 1100 待签名,1200 支付中,2000 支付完成,2100 审批拒绝,2200 拒绝,2300 交易丢弃,2400 支付失败 |
trans_source | Integer | 是 | 交易类型: 1.app, 2.open-api |
同步web3交易记录
获取钱包下所有子钱包Web3交易记录,最多返回100条
HTTP请求
GET /api/mpc/web3/sync_trans_list
请求参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
max_id | String | 是 | Web3交易记录起始id |
响应结果示例
[
{
"id":435,
"request_id":"0000000003",
"sub_wallet_id":1000895,
"txid":"0xbc87e486d28df91fe715436415bab38cc1cf5e4b23fbb8497ff688b823c08ba7",
"symbol":"",
"main_chain_symbol":"HECO",
"amount":"0",
"fee_symbol":"HECO",
"fee":"0.00018",
"real_fee":"0.000107277",
"created_at":1684220373000,
"updated_at":1684222558000,
"address_from":"0xd5c2d98BF2d205039F62ee40c9A7ab1B36125d6d",
"address_to":"",
"input_data":"0xca718c65",
"interactive_contract":"0xe012F3957226894B1a2a44b3ef5070417a069dC2",
"confirmations":4,
"status":2400,
"trans_source":2
}
]
响应参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
id | Integer | 是 | Web3交易ID |
request_id | String | 是 | 交易唯一标识 |
sub_wallet_id | Integer | 是 | 子钱包ID |
txid | String | 否 | 交易hash |
symbol | String | 否 | 交易币种 |
main_chain_symbol | String | 是 | 主链币币名(唯一标识),例:ETH |
amount | String | 是 | 交易金额。-1表示无穷大 |
fee_symbol | String | 是 | 手续费币种,例:ETH |
fee | String | 是 | 手续费 |
real_fee | String | 是 | 真实消耗的手续费 |
created_at | String | 是 | 创建时间时间戳 |
updated_at | String | 是 | 修改时间时间戳 |
address_from | String | 是 | 交易from地址 |
address_to | String | 是 | 交易to地址 |
interactive_contract | String | 是 | 交互合约 |
confirmations | Integer | 是 | 确认数 |
input_data | String | 是 | 合约交易的方法参数组成的16进制数据 |
status | Integer | 是 | 交易状态: 1100 待签名,1200 支付中,2000 支付完成,2100 审批拒绝,2200 拒绝,2300 交易丢弃,2400 支付失败 |
trans_source | Integer | 是 | 交易类型: 1.app, 2.open-api |
NFT
获取NFT信息
获取NFT图片,名称等数据
HTTP请求
POST /api/nft/info
请求参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
base_symbol | String | 是 | 主链币 |
contract_address | String | 是 | NFT合约地址 |
token_id | String | 是 | NFT token id |
响应结果示例
{
"base_symbol": "bsc",
"contract_address": "0xC2A19349D5f451071C3085B90f531D19F190FF21",
"token_id": "75000000000000000281",
"nft_name": "#75000000000000000281",
"image": "https://ipfs.io/ipfs/QmXCaMVmRWviaFtRpEH7dJXrJav8dsJdGcsj7M8NpgAgPW",
"image_type": ".svg",
"is_video": false,
}
响应参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
base_symbol | String | 是 | 主链币 |
contract_address | String | 是 | NFT合约地址 |
token_id | String | 是 | NFT token id |
nft_name | String | 是 | NFT 名称, 不存在时, 使用 "# + tokenId", 如: #1000001 |
image | String | 是 | nft图片或视频url, 或图片base64 |
image_type | String | 是 | nft图片或视频类型, 如:".png", ".mp4" |
is_video | bool | 是 | 是否是视频, true: image是视屏, 反之不是视频 |
交易通知
统一说明
POST /用户回调通知地址
交易通知请求接口示例
app_id=2128eb8de9e932a4376909f3d69424cc&data=SWYYr-LBVAmaS0eq8n-CUT_nHkM3OBxyWOsImMTe41UaqAoYI2ZghmaphXHov-7hsRsVmOhyPqC-JFuRGvonJKFd2Jirxv6Vn_8V40r_MMYTkhqcviQbZWYW5xX8Ai8CIpqas9fIWVDIYA_NKBl0UCJpwGxscxLNpjq5Z8-BTyIYDsVBquM9zEQGBCfcA7szD9n2fN_loSkoexlwqV8wg9HIZO5yQ6utZ_Kt0lNDQQb8zn8BwfAvsEsbJlOINUAqhxh1vV_AJ4bXn2uYx8TaYcBht-n_ZcBdxIDt975dbOFUiH-oCzIuDi1oLDtb4EylfCvhU5E4ozel_lQ-6cyIG0Dqiiyx0RFFOCJzPSXIoV031pvoa8pTCpkWklh8mRw1rylBgeZtqSxpnJO2_u2RIlXq6Hs8Yly9CmhIXaSrUgPir0h6xVxlf4VC6PFVCkiiTlp0kZ_H_UbKm0nUis3v3U2sflWJ2C449waSrikhuxVrFAQ6PQmrFVCAE6MYXNrFXJQuam2HAIQNSGbFQjspw8b_bXyfyZMGZ3K2oBC4I_v3eETTdPe0pfSNJb-5g37K0tOAr_UFbWK8pkC8yl56fSjn8tcR3yCRWwoi8jxTcUBiswTtvXZtzgG4dyzkaHXjsZjSGiywXSqP76VZWlyOmAx6IDSViLcPLPISdU3ruCI
交易通知请求参数统一格式
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
app_id | String | 必须 | 商户唯一标识 |
data | String | 必须 | 加密之后的字符串,具体加密信息见各接口 请求参数数据结构 |
交易通知响应参数统一格式
返回字符串:SUCCESS
表示成功,FAILURE
表示失败 (注意此处返回参数无需进行加密)
转账通知
请求参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
charset | String | 是 | 编码格式,无特殊情况,传参数utf-8 |
side | String | 是 | 通知类型, 收款通知:deposit , 转账通知: withdraw ,Web3交易通知:web3-trans |
notify_time | String | 是 | 通知时间,例:2022-11-02 11:04:05 |
id | String | 是 | 转账id |
request_id | String | 是 | 转账唯一标识 |
sub_wallet_id | String | 是 | 子钱包id |
symbol | String | 是 | 币种唯一标识,转账时使用,例:USDTERC20 |
amount | String | 是 | 转账金额 |
fee_symbol | String | 是 | 手续费币种,例:ETH |
fee | String | 是 | 手续费,例:0.00123 |
real_fee | String | 是 | 真实消耗的手续费,例:0.00111 |
created_at | String | 是 | 创建时间时间,如:2006-01-02 15:04:05 |
updated_at | String | 是 | 修改时间时间,如:2006-01-02 15:04:05 |
address_from | String | 是 | 出币地址 |
address_to | String | 是 | 到账地址 |
memo | String | 否 | 到账地址memo |
txid | String | 是 | 交易hash |
confirmations | String | 是 | 区块确认数,例:10 |
status | String | 是 | 转账状态: 1000 未审批, 1100 审批通过, 待签名,1200 支付中,2000 支付完成,2100 审批拒绝,2200 拒绝,2300 交易丢弃,2400 支付失败 |
withdraw_source | String | 是 | 转账类型: 1 app, 2 openapi |
base_symbol | String | 否 | 转账币种主链唯一标识,例:ETH |
contract_address | String | 否 | 转账币种合约地址 |
收款通知
请求参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
charset | String | 是 | 编码格式,无特殊情况,传参数utf-8 |
side | String | 是 | 通知类型, 收款通知:deposit , 转账通知: withdraw ,Web3交易通知:web3-trans |
notify_time | String | 是 | 通知时间,例:2022-11-02 11:04:05 |
id | String | 是 | 收款id |
sub_wallet_id | String | 是 | 子钱包id |
symbol | String | 是 | 币种唯一标识,例:USDTERC20 |
amount | String | 是 | 收款金额 |
created_at | String | 是 | 创建时间时间,如:2006-01-02 15:04:05 |
updated_at | String | 是 | 修改时间时间,如:2006-01-02 15:04:05 |
address_from | String | 是 | 出币地址 |
address_to | String | 是 | 到账地址 |
memo | String | 否 | 到账地址memo |
txid | String | 是 | 交易hash |
confirmations | String | 是 | 区块确认数,例:10 |
status | String | 是 | 收款状态: 1000 未确认,1100 已确认(交易区块已确认), 2000 已完成(上账已完成),3000 异常 |
base_symbol | String | 否 | 收款币种主链唯一标识,例:ETH |
contract_address | String | 否 | 收款币种合约地址 |
Web3交易通知
请求参数数据结构
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
charset | String | 是 | 编码格式,无特殊情况,传参数utf-8 |
side | String | 是 | 通知类型, 收款通知:deposit , 转账通知: withdraw ,Web3交易通知:web3-trans |
notify_time | String | 是 | 通知时间,例:2022-11-02 11:04:05 |
id | String | 是 | 收款id |
request_id | String | 是 | 转账唯一标识 |
sub_wallet_id | String | 是 | 子钱包id |
main_chain_symbol | String | 是 | 主链币币名(唯一标识),例:ETH |
symbol | String | 否 | 币种唯一标识,例:USDTERC20 |
amount | String | 是 | 交易金额 |
created_at | String | 是 | 创建时间时间,如:2006-01-02 15:04:05 |
updated_at | String | 是 | 修改时间时间,如:2006-01-02 15:04:05 |
address_from | String | 是 | 出币地址 |
address_to | String | 是 | 到账地址 |
txid | String | 是 | 交易hash |
confirmations | String | 是 | 区块确认数,例:10 |
status | String | 是 | 转账状态: 1000 未审批, 1100 审批通过, 待签名,1200 支付中,2000 支付完成,2100 审批拒绝,2200 拒绝,2300 交易丢弃,2400 支付失败 |
interactive_contract | String | 是 | 交互合约 |
fee_symbol | String | 是 | 手续费币种,例:ETH |
fee | String | 是 | 手续费 |
real_fee | String | 是 | 真实消耗的手续费 |
input_data | String | 是 | 合约交易的方法参数组成的16进制数据 |
trans_type | String | 是 | 交易类型, 0:授权交易,1:转账交易 |
dapp_img | String | 是 | dapp 图片 |
dapp_name | String | 是 | dapp名称 |
dapp_url | String | 是 | dapp 访问url |
Co-Signer
概述
Co-Signer可以帮助您快速对接API,需要您单独部署在服务器上。Co-Signer需要绑定您钱包的分片私钥,用于创建地址和交易签名。
Co-Signer在交易签名前会回调您的业务系统,得到授权通过后才能发起签名,否则无法进行交易。
对接流程
Co-Signer主要实现了两个功能:创建地址和自动签名,具体流程如下图:
创建地址流程:
自动签名流程:
Co-Signer回调
为了保证交易的安全,您需要在Co-Signer中配置一个业务系统的回调地址,在交易签名之前授权。
授权交易数据采用明文传输,您需要在应用服务中保证业务系统和Co-Signer之间的通信安全。
提现回调
HTTP请求
POST /{url}
Content-Type application/json;charset=UTF-8
回调参数示例
POST /callback/example
{
"type":"sign_start",
"withdraw_id":321456,
"request_id":"c70d1eebb7c687ec8d56bead73f104",
"pending_round":false,
"from":"0xc70d1eebb7c687ec8d56bead73f104d41e6e0bda",
"to":"0x5EDc9177997Bf6B4db559A5C184051858B3B3704",
"memo": "123321",
"amount":167230.4978,
"symbol":"BTC"
}
回调参数格式:
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
type | String | 是 | 回调类型,sign_start 签名开始,sign_success 签名成功 |
withdraw_id | Integer | 是 | 交易ID |
request_id | String | 是 | 发起交易唯一标识 |
pending_round | Boolean | 是 | 加速状态,true是,false否(普通交易) |
from | String | 是 | 交易出币地址 |
to | String | 是 | 交易到账地址 |
memo | String | 否 | 交易到账memo |
amount | Decimal | 是 | 交易金额 |
symbol | String | 是 | 交易币种唯一标识 |
txid | String | 否 | 交易hash,签名成功返回txid |
回调响应参数统一格式
返回字符串:SUCCES
表示成功,FAILURE
表示失败
Web3交易回调
HTTP请求
POST /{url}
Content-Type application/json;charset=UTF-8
回调参数示例
POST /callback/example
{
"type":"sign_start",
"trans_id":432,
"request_id":"0000000003",
"pending_round":false,
"from":"0xc70d1eebb7c687ec8d56bead73f104d41e6e0bda",
"to":"0x5EDc9177997Bf6B4db559A5C184051858B3B3704",
"amount":0,
"main_chain_symbol":"HECO",
"input_data":"0xca718c65",
"interactive_contract":"0xe012F3957226894B1a2a44b3ef5070417a069dC2",
"txid":"",
}
回调参数格式:
Param | 类型 | 是否必须 | 说明 |
---|---|---|---|
type | String | 是 | 回调类型,sign_start 签名开始,sign_success 签名成功 |
trans_id | Integer | 是 | 交易ID |
request_id | String | 是 | 发起交易唯一标识 |
pending_round | Boolean | 是 | 加速状态,true是,false否(普通交易) |
from | String | 是 | 交易from地址 |
to | String | 是 | 交易to地址 |
amount | Decimal | 是 | 交易金额。-1表示无穷大 |
main_chain_symbol | String | 是 | 主链币币名(唯一标识),例:ETH |
input_data | String | 是 | 交易币种唯一标识 |
interactive_contract | String | 是 | 交互合约 |
txid | String | 否 | 交易hash,签名成功返回txid |
回调响应参数统一格式
返回字符串:SUCCES
表示成功,FAILURE
表示失败
错误码
接口错误码表 - 表格
code | msg |
---|---|
0 | 成功 |
100001 | 系统错误 |
100004 | 请求参数不合法 |
100005 | 签名校验失败 |
100007 | 非法IP |
100011 | 余额不足 |
100015 | 商户ID无效 |
100016 | 商户信息过期 |
110055 | 转账地址错误 |
110088 | 请勿重复提交请求 |
110160 | 注册失败 |
110161 | 超过转账最大支持精度 |
110227 | 币种已暂停转账 |
120202 | 币种不支持 |
120204 | 构建交易失败 |
200004 | 暂无权限进行此操作 |
200005 | 钱包不存在 |
200008 | 超出子钱包可创建最大数量 |
200007 | 正在创建子钱包,请耐心等待 |
200011 | 币种地址已存在 |
200013 | 节点配置错误,请联系客服 |
200015 | 签名失败 |
200025 | 正在处理,请耐心等待 |
200040 | 钱包已到期 |
200066 | 子钱包展示最多可操作1000条 |
200067 | 名称超过限制长度 |
210003 | 订单不存在 |
3040006 | 不能给自己转账 |
200071 | 该主链不支持加速 |
200072 | 子钱包类型不支持该类型交易 |
200073 | 多签地址不存在,请检查输入是否正确 |
200074 | 该地址并不是您参与的多签钱包,请检查后再次操作 |
200075 | 预估手续费失败 |
200076 | 暂不支持该交易 |