介绍
欢迎来到 Safeheron 开发者文档页面!Safeheron 提供了丰富的 API ,可以让您完全通过 API 来管理您的团队,自动化您的交易流程。除此之外还提供了 Webhook 消息推送功能,使您能够接收到团队下发生的事件通知。
您可以通过 Safeheron 提供的 API :
- 发起交易,并收到关于交易的实时状态变更通知
- 通过 Safeheron 的 API Co-Signer 设置交易自动签名
- 管理您的钱包账户
- 检查区块链钱包地址是否正确
- ......
所有交易都将反映在 Safeheron 的控制台、交易历史、Webhook 中。
接入指南
概述
请使用具有 API 管理权限的用户账户登录 Safeheron 控制台,在 管理 -> API
标签页进行 Webhook 配置与 API 账户创建,API 账户创建成功后,可以使用 API Key 来访问 Safeheron API 。
API 鉴权
Safeheron 所有的 API 接口在请求时,采用了对称密钥加密和非对称公钥加密的混合加密方案,并且使用非对称私钥对请求参数进行签名。对称加密算法采用 AES-256 算法,非对称加密和签名算法采用 RSA-4096 算法,具体流程如下:
- 将业务请求参数序列化为 JSON 字符串,随机生成 32 字节 AES Key 和 16 字节初始化向量 IV
- 使用 AES Key 和 IV 对该 JSON 字符串进行加密(算法:AES/GCM/NoPadding),加密结果 base64 编码后作为请求参数中的
bizContent
字段 - 使用 Safeheron 平台的 API RSA 公钥对该 AES Key + IV 48 个字节加密(算法:RSA/ECB/OAEPWithSHA-256AndMGF1Padding),加密结果 base64 编码后作为请求参数中的
key
字段 - 对所有请求参数(不包含 rsaType 和 aesType)按照字典 key 升序排序序列化为字符串,即序列化为
apiKey=...&bizContent=...&key=...×tamp=...
格式 - 使用您的 API RSA 私钥对请求序列化字符串进行签名(算法:SHA256WithRSA),签名结果 base64 编码后作为请求参数中的
sig
字段
Safeheron 会使用同样的流程对接口响应业务参数进行加密和签名,您可以使用以下流程进行解密和验签:
- 对响应数据(不包含 rsaType 和 aesType)按照字典 key 升序排序序列化为字符串,即序列化为
bizContent=...&code=...&key=...&message=...×tamp=...
格式 - 使用 Safeheron API RSA 公钥,响应序列化字符串和响应中
sig
字段进行验签(算法:SHA256WithRSA),如果验签通过,进行响应数据解密 - 使用您的 API RSA 私钥解密(算法:RSA/ECB/OAEPWithSHA-256AndMGF1Padding)响应数据中
key
字段,获取随机 AES Key + IV - 使用该 AES Key 和 IV 解密(算法:AES/GCM/NoPadding)响应数据中
bizContent
字段,获取响应业务数据明文
您可以使用 OpenSSL 生成 RSA 私钥(api_private.pem
为您的 API RSA 私钥 ):
openssl genpkey -out api_private.pem -algorithm RSA -pkeyopt rsa_keygen_bits:4096
使用 OpenSSL 生成 RSA 私钥对应的公钥(api_public.pem 为您的 API RSA 公钥):
openssl rsa -in api_private.pem -out api_public.pem -pubout
注意:
- 您只需要在 Safeheron 控制台中设置您的 API RSA 公钥,请妥善保管您的 API RSA 私钥,避免泄漏带来安全隐患
IP 白名单
在调用 Safeheron API 时,只允许从您设置的 IP 白名单地址发起请求,您需要在创建 API Key 时设置调用发起的 IP 地址。
请求示例
请求 base URL
https://api.safeheron.vip
加密前请求参数
加密前业务请求参数示例
{
"apiKey": "341916e58af445f8aadeb95170218e37",
"timestamp": "1623038312088",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"page": 1,
"pageSize": 1
}
}
具体格式请参考每个接口请求业务参数格式定义,示例参考右侧。
加密后请求参数
加密后的请求参数示例
{
"apiKey": "341916e58af445f8aadeb95170218e37",
"timestamp": "1628652100447",
"bizContent": "qjFMZXs2n+CxnrNGoaZmGrKQzPosy6QbWEumCMkGOEw=",
"key": "gYZvuXdJADuaLYMU3z8q5vOtld62PSaPxrrhhr4UGwWbZm7Pw3/VImzHrd3oNy1XT8R55V7pbpQOBVdbmTev/rESnuaXlGofkB04JWAaRCIPytEKMHUNXZXEU9GLVppYst7bgiekMDIDScS4AkD75eDG8zru5Gr+gTxU4AYyHSzB0deQnxmNRemwZn+jaNgNs7WeBcuQWR1Cq2+1At8FlAqF5XzEaeQ3x1Q0N3iaLzSiXHQRYqP1Q6V6/aiIXchin/X9bBRYL618utjm4k0qoXU8Rw2JeEKzn7m2ShyyQQ31zX/rQ1xf0ar5PDtJPU/qYp9Kr4oVtcN6yHdG802nLqpGYlHlMvxy9vpnGFXb9oxh4xYnp0qRUfKLyJIylc3qhq6spHyWnuC5XV1S4lH+rIPNF1icV08ex7pjps2jvTICBzIIPExBamh1n00RcxZbkGqxYfRZ7SLTUCH06EaV5lP8yXNe3fNWjHk4mppaVDj0QFagqTzBM9AwMfHs1dOeDmcwkTacKQsvNRu3l5uZFQYkaUeVB9m3AhKw3lyl2oJIfJgYeBLJEHMGFVZXP92z8+J5KrZEVfkL8F80XkB3sXRP0BiIv/9Mm4VrjopYoDWyXttCysY0lJ9XImRyE7GkSy2sjmW0BCsrECoVHWh73s9o7Kw0uIegFaitch24GsM=",
"sig": "ZPQcL1aIxMrA6HTq7RWWS8FZS08zSOkS69WohcBw1bDr4Qv2Wkrp2t+PNHMh3TmDUnOmUOiv7mBs/sOw08rhgPHqAU/qtvc1lzJFFOnPp5MBmDgffD1auwm7icGzm3myhEz3hKePxyRgZWB1DpPmMYaRuWt1RYcVmcqRa/Bfd0jR37a35neuOSlaip4jsQE1pHQzQ6itdQhBtZZABl1Plz5u8OaMIDTVj63485zi/n6iuuav+GL+JX2JL6pnWz3CT/9DNqa/McyYbxGswGMBAPgHCptseELVmOQ3ZKNHgMu6EtXEKLzmLeZ5REwnw2MTvpzuy5B1zIuxiafuAhh6Tg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING"
}
公共参数描述
参数名 | 类型 | 描述 |
---|---|---|
apiKey | string | 平台分配唯一 API Key 标识 |
timestamp | string | 请求时间戳,UNIX 毫秒格式字符串 |
key | string | 使用 Safeheron API RSA 公钥对随机 AES Key 加密后的数据 |
sig | string | 使用您的 API RSA 私钥对请求参数签名得到的签名数据 |
bizContent | object | 业务请求参数 AES 加密后数据 |
rsaType | string | RSA 加密类型 |
aesType | string | AES 加密类型 |
响应示例
响应加密数据示例
响应加密数据示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1628652101098",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "gYZvuXdJADuaLYMU3z8q5vOtld62PSaPxrrhhr4UGwWbZm7Pw3/VImzHrd3oNy1XT8R55V7pbpQOBVdbmTev/rESnuaXlGofkB04JWAaRCIPytEKMHUNXZXEU9GLVppYst7bgiekMDIDScS4AkD75eDG8zru5Gr+gTxU4AYyHSzB0deQnxmNRemwZn+jaNgNs7WeBcuQWR1Cq2+1At8FlAqF5XzEaeQ3x1Q0N3iaLzSiXHQRYqP1Q6V6/aiIXchin/X9bBRYL618utjm4k0qoXU8Rw2JeEKzn7m2ShyyQQ31zX/rQ1xf0ar5PDtJPU/qYp9Kr4oVtcN6yHdG802nLqpGYlHlMvxy9vpnGFXb9oxh4xYnp0qRUfKLyJIylc3qhq6spHyWnuC5XV1S4lH+rIPNF1icV08ex7pjps2jvTICBzIIPExBamh1n00RcxZbkGqxYfRZ7SLTUCH06EaV5lP8yXNe3fNWjHk4mppaVDj0QFagqTzBM9AwMfHs1dOeDmcwkTacKQsvNRu3l5uZFQYkaUeVB9m3AhKw3lyl2oJIfJgYeBLJEHMGFVZXP92z8+J5KrZEVfkL8F80XkB3sXRP0BiIv/9Mm4VrjopYoDWyXttCysY0lJ9XImRyE7GkSy2sjmW0BCsrECoVHWh73s9o7Kw0uIegFaitch24GsM=",
"bizContent": "fVwpf1ektFjHOAGK5D1Da+uza9AMknD8kmidt4aHL82JrsmxUpBMGq/bC2wX52sIRYgMJ5O/8fQhtvTXqWEmHVLxismG5ffYkkYVYRTAuV2sUMlU7nhmC6nDZzds+SOs81brzoS6INlHMp9pI59y9+FBYty8NR5a57UBo3XIsll1fWCHwt9T3OBoWpWmGFENpNGPPSADt/mDzXQRmDgL5KVGNOu8LkAVZmJCjunmX+41RCuhwdUQSWciv578ZI90cI9rRI5RxcxkVyI5XWZsEhCMoASvOQ3PJ0AkB64UigP+Jjj7oD9BnX+xO+9Tw1kGwdkVikG1aWnAd3/XrdeaRL9ZA/0HYZCHZ2VupoQ7GuEYDQ30iWklI4v6Uoofg+hGY872GVmsyTZNe9GMSYV4go69nd8cDiA39mGTSDZWvQ9VYvpeZiuzZpdS/O2UNv82qfujn0OmKup4RscQ5baXVSOgeS8UQVRmo4d7KWdxi2S5WvriM/MKemKM4myoMVi1jN8k2Bd8S/u5yX16d9KLZM8EBhTLxuo3/lMZn505SFqt9RnvF1qCRVDaDboq6r8V91ZOpciDmJyWrYGKleleBBObFRZ+Ro1UoY3IUiwfr98oTXVgDYE3YtcZjkPBi7IXcZIBz8m/of97aBitUn//og==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING"
}
请参考右侧。
响应参数描述
响应参数 | 类型 | 描述 |
---|---|---|
code | int | 响应结果码 |
message | string | 响应结果描述 |
timestamp | string | 响应时间戳,UNIX 毫秒格式字符串 |
sig | string | 使用 Safeheron API RSA 私钥对响应参数签名得到的签名数据 |
key | string | 使用您的 API RSA 公钥对随机 AES Key 加密后的数据 |
bizContent | object | 业务响应参数 AES 加密后数据 |
rsaType | string | RSA 加密类型 |
aesType | string | AES 加密类型 |
响应加密数据解密后示例
[
{
"addressBookKey": "8be8c8de4bf749b3b08137ccxefa0b16",
"addressBookName": "name",
"whiteLists": [
{
"whiteListKey": "fdac862c74734d4fa81d62884f2ce4x0",
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"coinFullName": "Ethereum(Sepolia)",
"symbol": "ETH",
"address": "0xCa104eA8CB4722e33a3E68eD4D12x3569594FBC5",
"urlAddress": "https://sepolia.etherscan.io/address/0xCa104eA8CB4722e33a3E68eD4D12d3569594xBC5",
"amount": 0,
"usdAmount": 0,
"whiteListStatus": "VERIFY_PASS",
"passNum": 1,
"signNum": 1,
"refuseUserName": ""
}
]
}
]
bizContent 解密后示例
具体格式请参考每个接口响应数据格式定义
API 列表
钱包账户
钱包账户相关接口,可以创建自己的钱包,进行钱包相关的操作。
获取钱包账户列表
根据不同条件组合,筛选团队下钱包账户列表。
HTTP 请求地址
POST /v1/account/list
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"customerRefId": "customerRefIdExample",
"namePrefix": "namePrefixExample",
"nameSuffix": "nameSuffixExample",
"pageSize": 10,
"pageNumber": 1,
"hiddenOnUI": true,
"archived": false
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
pageNumber | int32 | 否 | 分页页码,从 1 开始,默认为 1 |
pageSize | int32 | 否 | 每页显示条数,默认为 10 ,最大 100 |
hiddenOnUI | boolean | 否 | 根据 hiddenOnUI 设置筛选钱包账户 缺省:查询所有钱包账户 true:查询 hiddenOnUI 设置为 true 的钱包账户 false:查询 hiddenOnUI 设置为 false 的钱包账户 |
archived | boolean | 否 | 根据 archived 设置筛选钱包: 缺省:查询所有钱包 true:查询在 Web 控制台中已经归档的钱包 false:查询未在 Web 控制台归档的钱包 archived 说明:可以在 Web 控制台将钱包设置为归档,归档的钱包将不在 App 与 Web 控制台的钱包列表中展示,您可以在 Web 控制台【已归档的钱包】中查看归档的钱包。 |
customerRefId | string | 否 | 商户业务唯一 ID 标识,最长 100 |
namePrefix | string | 否 | 筛选钱包账户名称前缀匹配的结果 |
nameSuffix | string | 否 | 筛选钱包账户名称后缀匹配的结果 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"pageNumber": 1,
"pageSize": 10,
"totalElements": 100,
"content": [
{
"accountKey": "accountfd9a0bc50c5f4a53b920c7c0ca85e0b7",
"customerRefId": "customerRefIdExample",
"accountName": "default",
"accountIndex": 0,
"accountType": "VAULT_ACCOUNT",
"accountTag": "NONE",
"hiddenOnUI": false,
"archived": false,
"usdBalance": "0",
"pubKeys": [
{
"signAlg": "secp256k1",
"pubKey": "03ba5cfed3f88a811f0208570c64d1627af2e8f3363f65aad22be7490469dadd2a"
},
{
"signAlg": "ed25519",
"pubKey": "07df2ddef5d7c624d5452e10aaeb823cbf3e3d8b3d32e04af14cba374ac82d27"
}
]
}
]
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
pageNumber | int32 | 分页页码 |
pageSize | int32 | 分页每页条数 |
totalElements | int64 | 总记录数 |
content | array | 每页数据列表 |
└─accountKey | string | 账户 Key ,账户唯一标识 |
└─customerRefId | string | 商户业务唯一 ID 标识 |
└─accountName | string | 账户名称 |
└─accountIndex | int32 | 账户索引 |
└─accountType | string | 账户类型 |
└─accountTag | string | 账户标签 |
└─hiddenOnUI | boolean | 钱包在 App 及 Web 控制台中是否隐藏 true: 隐藏 false: 展示 |
└─archived | boolean | 钱包在 Web 控制台中是否设置为归档 true: 已归档 false: 未归档 |
└─usdBalance | string | 账户余额,查询时 USD 汇率换算余额 |
└─pubKeys | array | 账户公钥信息 |
└─signAlg | string | 签名算法 |
└─pubKey | string | 账户压缩公钥 |
获取单个钱包账户
根据 accountKey 查询团队下单个钱包账户。
HTTP 请求地址
POST /v1/account/one
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"accountKey": "accountfd9a0bc50c5f4a53b920c7c0ca85e0b7",
"customerRefId": "customerRefIdExample"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
accountKey | string | 否 | 账户 Key |
customerRefId | string | 否 | 商户业务唯一 ID 标识,最长 100 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"accountKey": "accountfd9a0bc50c5f4a53b920c7c0ca85e0b7",
"customerRefId": "customerRefIdExample",
"accountName": "default",
"accountIndex": 0,
"accountType": "VAULT_ACCOUNT",
"accountTag": "NONE",
"hiddenOnUI": false,
"archived": false,
"usdBalance": "0",
"pubKeys": [
{
"signAlg": "secp256k1",
"pubKey": "03ba5cfed3f88a811f0208570c64d1627af2e8f3363f65aad22be7490469dadd2a"
},
{
"signAlg": "ed25519",
"pubKey": "07df2ddef5d7c624d5452e10aaeb823cbf3e3d8b3d32e04af14cba374ac82d27"
}
]
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
accountKey | string | 账户 Key ,账户唯一标识 |
customerRefId | string | 商户业务唯一 ID 标识 |
accountName | string | 账户名称 |
accountIndex | int32 | 账户索引 |
accountType | string | 账户类型 |
accountTag | string | 账户标签 |
hiddenOnUI | boolean | 钱包在 App 及 Web 控制台中是否隐藏 true: 隐藏 false: 展示 |
archived | boolean | 钱包在 Web 控制台中是否设置为归档 true: 已归档 false: 未归档 |
usdBalance | string | 账户余额,查询时 USD 汇率换算余额 |
pubKeys | array | 账户公钥信息 |
└─signAlg | string | 签名算法 |
└─pubKey | string | 账户压缩公钥 |
创建钱包账户
创建一个新的钱包账户,支持同时向该钱包账户中添加多个币种。
HTTP 请求地址
POST /v1/account/create
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"customerRefId": "customerRefIdExample",
"accountName": "accountNameExample",
"hiddenOnUI": true,
"accountTag": "NONE",
"coinKeyList": ["ETH(SEPOLIA)_ETHEREUM_SEPOLIA"]
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
customerRefId | string | 否 | 商户业务唯一 ID 标识,最长 100 customerRefId 唯一代表商户的一个钱包,在 customerRefId 值重复的情况下(比如:请求超时或其他错误情况下再次提交),接口返回数据始终保持一致 |
accountName | string | 否 | 账户名称,最长 50 |
hiddenOnUI | boolean | 否 | 是否在 App 及 Web 控制台隐藏 false:展示,false 为缺省值 true:隐藏,隐藏的钱包仅可通过 API 接口进行管理和使用,如查询、修改、发起交易时把钱包作为源地址或者目标地址等。 |
accountTag | string | 否 | 账户标签 |
coinKeyList | array | 否 | 币种 Key 列表 ,最大 20 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"accountKey": "account4b8d2c00520646c8862b68420aa1bc55",
"pubKeys": [
{
"signAlg": "secp256k1",
"pubKey": "03ba5cfed3f88a811f0208570c64d1627af2e8f3363f65aad22be7490469dadd2a"
},
{
"signAlg": "ed25519",
"pubKey": "07df2ddef5d7c624d5452e10aaeb823cbf3e3d8b3d32e04af14cba374ac82d27"
}
],
"coinAddressList": [
{
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"addressGroupKey": "addressffb9910f1f324f06a45ef055748fdf43",
"addressGroupName": "addressGroupNameExample",
"addressList": [
{
"address": "0x8c26DCdcED3627547b5662C7cc63472b44ed0c83",
"addressType": "DEFAULT",
"derivePath": "m/44/666/0/0/0"
}
]
}
]
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
accountKey | string | 钱包账户 Key |
pubKeys | array | 账户公钥信息 |
└─signAlg | string | 签名算法 |
└─pubKey | string | 账户压缩公钥 |
coinAddressList | array | 币种地址列表 |
└─coinKey | string | 币种 Key |
└─addressGroupKey | string | 地址组唯一标识 |
└─addressGroupName | string | 地址组名称 |
└─addressList | array | 地址列表 |
└─address | string | 币种收款地址 |
└─addressType | string | 地址类型 |
└─derivePath | string | 钱包地址 BIP44 派生路径 |
批量创建钱包账户 V1
根据指定数量创建一批钱包账户,批量创建的钱包账户,Safeheron App 默认不展示,推荐使用 V2 版本接口。
HTTP 请求地址
POST /v1/account/batch/create
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"accountName": "accountNameExample",
"count": 10,
"accountTag": "NONE",
"hiddenOnUI": true
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
accountName | string | 否 | 钱包账户名称前缀,最长 50 |
hiddenOnUI | boolean | 否 | 是否在 App 及 Web 控制台隐藏 false:展示,false true:隐藏,true 为缺省值,隐藏的钱包仅可通过 API 接口进行管理和使用,如查询、修改、发起交易时把钱包作为源地址或者目标地址等。 |
count | int32 | 是 | 创建数量,大于 0,最大 100 |
accountTag | string | 否 | 账户标签 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"accountKeyList": [
"account4b8d2c00520646c8862b68420aa1bc55"
]
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
accountKeyList | array | 钱包账户 Key |
批量创建钱包账户 V2
根据指定数量创建一批钱包账户,批量创建的钱包账户,Safeheron App 默认不展示。
HTTP 请求地址
POST /v2/account/batch/create
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"accountName": "accountNameExample",
"count": 10,
"accountTag": "NONE",
"hiddenOnUI": true
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
accountName | string | 否 | 钱包账户名称前缀,最长 50 |
hiddenOnUI | boolean | 否 | 是否在 App 及 Web 控制台隐藏 false:展示,false true:隐藏,true 为缺省值,隐藏的钱包仅可通过 API 接口进行管理和使用,如查询、修改、发起交易时把钱包作为源地址或者目标地址等。 |
count | int32 | 是 | 创建数量,大于 0,最大 100 |
accountTag | string | 否 | 账户标签 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": [
{
"accountKey": "account4b8d2c00520646c8862b68420aa1bc55",
"pubKeys": [
{
"signAlg": "secp256k1",
"pubKey": "03ba5cfed3f88a811f0208570c64d1627af2e8f3363f65aad22be7490469dadd2a"
},
{
"signAlg": "ed25519",
"pubKey": "07df2ddef5d7c624d5452e10aaeb823cbf3e3d8b3d32e04af14cba374ac82d27"
}
]
}
]
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
accountKey | string | 钱包账户 Key |
pubKeys | array | 账户公钥信息 |
└─signAlg | string | 签名算法 |
└─pubKey | string | 账户压缩公钥 |
修改钱包账户 App 展示状态
修改钱包账户在 Safeheron App 的展示状态。
HTTP 请求地址
POST /v1/account/update/show/state
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"accountKey": "account08a2369f59214b1e9099dc6346f694ca",
"hiddenOnUI": true
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
accountKey | string | 是 | 钱包账户 Key |
hiddenOnUI | boolean | 是 | 是否在 App 及 Web 控制台隐藏 false:展示 true:隐藏,隐藏的钱包仅可通过 API 接口进行管理和使用,如查询、修改、发起交易时把作为钱包源地址或者目标地址等。 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"result": true
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
result | boolean | 执行结果 true:执行成功 false:执行失败 |
批量标记钱包账户
批量修改钱包账户的标签。
注:仅支持标记 API 创建的钱包,且已被用作归集的钱包,无法修改标记。
HTTP 请求地址
POST /v1/account/batch/update/tag
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"accountKeyList": ["account08a2369f59214b1e9099dc6346f694ca"],
"accountTag": "DEPOSIT"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
accountKeyList | array | 是 | 钱包账户 Key |
accountTag | string | 是 | 账户标签 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"result": true
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
result | boolean | 执行结果 true:执行成功 false:执行失败 |
单个钱包账户添加币种 V1
向钱包账户中添加一个币种,生成该币种的地址信息,如果币种在账户已存在,则直接返回该币种的地址信息。
在一个钱包账户下,UTXO类型币种可以添加多个地址组,其他币种一般只会存在一个地址组,可以根据 币种列表 接口币种信息中的 isMultipleAddress 属性值确定是否支持添加多个地址组。
HTTP 请求地址
POST /v1/account/coin/create
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"accountKey": "account08a2369f59214b1e9099dc6346f694ca"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
coinKey | string | 是 | 币种 Key |
accountKey | string | 是 | 账户 Key |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": [
{
"address": "0x1ec4fb20d8955d9d6a4ae45f01af04e170c0c022",
"addressType": "DEFAULT",
"derivePath": "m/44/666/0/0/0"
}
]
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
address | string | 币种收款地址 |
addressType | string | 地址类型 |
derivePath | string | 钱包地址 BIP44 派生路径 |
单个钱包账户添加币种 V2
向钱包账户中添加多个币种,生成币种的地址信息,如果币种在账户已存在,则直接返回币种的地址信息。
HTTP 请求地址
POST /v2/account/coin/create
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"coinKeyList": ["ETH(SEPOLIA)_ETHEREUM_SEPOLIA"],
"accountKey": "account08a2369f59214b1e9099dc6346f694ca"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
coinKeyList | array | 是 | 币种 Key 列表 ,最大 20 |
accountKey | string | 是 | 账户 Key |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"accountKey": "account08a2369f59214b1e9099dc6346f694ca",
"coinAddressList": [{
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"addressGroupKey": "addressffb9910f1f324f06a45ef055748fdf43",
"addressGroupName": "addressGroupNameExample",
"addressList":[
{
"address": "0x1ec4fb20d8955d9d6a4ae45f01af04e170c0c022",
"addressType": "DEFAULT",
"derivePath": "m/44/666/0/0/0"
}
]
}
]
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
accountKey | string | 账户 Key |
coinAddressList | array | 币种地址列表 |
└─coinKey | string | 币种 Key |
└─addressGroupKey | string | 地址组唯一标识 |
└─addressGroupName | string | 地址组名称 |
└─addressList | array | 地址列表 |
└─address | string | 币种收款地址 |
└─addressType | string | 地址类型 |
└─derivePath | string | 钱包地址 BIP44 派生路径 |
批量钱包账户下添加币种
向指定的多个钱包账户中添加指定的币种,生成该币种的地址信息,如果币种在账户已存在,则直接返回该币种的地址信息。
HTTP 请求地址
POST /v1/account/batch/coin/create
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"accountKeyList": [
"accountdc0ec5415e924983b25dc4c7befdf163",
"accounte49ede0c6c2b45d5bc31bcf6cad3a423",
"account763de64717524b73b524cf19cb47f9b7"
],
"addressGroupName": "addressGroupNameExample"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
coinKey | string | 是 | 币种 Key |
accountKeyList | array | 是 | 账户 Key ,最大 100 |
addressGroupName | string | 否 | 地址组名称,最长 30 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": [
{
"addressList": [
{
"address": "0x1ec4fb20d8955d9d6a4ae45f01af04e170c0c022",
"addressType": "DEFAULT",
"derivePath": "m/44/666/0/0/0"
}
],
"accountKey": "accountfd9a0bc50c5f4a53b920c7c0ca85e0b7",
"addressGroupKey": "addressffb9910f1f324f06a45ef055748fdf43",
"addressGroupName": "addressGroupNameExample"
}
]
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
addressList | array | 地址列表 |
└─address | string | 币种收款地址 |
└─addressType | string | 地址类型 |
└─derivePath | string | 钱包地址 BIP44 派生路径 |
accountKey | string | 账户 Key |
addressGroupKey | string | 地址组唯一标识 |
addressGroupName | string | 地址组名称 |
获取钱包账户下币种列表
查询一个钱包账户下的所有币种列表。
HTTP 请求地址
POST /v1/account/coin/list
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"accountKey": "account08a2369f59214b1e9099dc6346f694ca"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
accountKey | string | 是 | 账户 Key |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": [
{
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"coinFullName": "Ethereum(Sepolia)",
"coinName": "ETH(Sepolia)",
"coinDecimal": 18,
"txRefUrl": "https://sepolia.etherscan.io/tx/{txHash}",
"addressRefUrl": "https://sepolia.etherscan.io/address/{address}",
"logoUrl": "https://resource.safeheron.vip/resource/img/logo/1626851355990.png",
"symbol": "ETH",
"isMultipleAddress": "NO",
"feeCoinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"feeUnit": "Gwei",
"feeDecimal": 9,
"showCoinDecimal": 8,
"balance": "0",
"usdBalance": "0",
"addressList": [
{
"address": "0x1ec4fb20d8955d9d6a4ae45f01af04e170c0c022",
"addressType": "DEFAULT",
"derivePath": "m/44/666/0/0/0",
"addressBalance": "0"
}
]
}
]
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
coinKey | string | 币种 Key |
coinFullName | string | 币种全称 |
coinName | string | 币种简称 |
coinDecimal | int32 | 币种精度 |
txRefUrl | string | 引用浏览器交易 |
addressRefUrl | string | 引用浏览器地址 |
logoUrl | string | 币种 LOGO 地址 |
symbol | string | 币种单位名称 |
isMultipleAddress | string | 是否能创建多个地址组 YES:是 NO:否 |
feeCoinKey | string | 转账所消耗的手续费币种 Key ,例如 ERC20 币种转账,所消耗的手续费币种是 ETH |
feeUnit | string | 手续费单位名 ( Gwei,satoshis ) |
feeDecimal | int32 | Safeheron 控制台手续费精度 |
showCoinDecimal | int32 | Safeheron 控制台币种显示精度 |
balance | string | 账户余额 |
usdBalance | string | 账户余额,查询时 USD 汇率换算余额 |
addressList | array | 币种地址列表 |
└─address | string | 币种收款地址 |
└─addressType | string | 地址类型 |
└─derivePath | string | 钱包地址 BIP44 派生路径 |
└─addressBalance | string | 币种地址余额 |
钱包账户币种地址组列表
查询钱包账户下某个币种的所有地址组列表。
HTTP 请求地址
POST /v1/account/coin/address/list
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"pageNumber": 1,
"pageSize": 10,
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"accountKey": "account08a2369f59214b1e9099dc6346f694ca",
"customerRefId": "customerRefIdExample"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
pageNumber | int32 | 否 | 分页页码,从 1 开始,默认为 1 |
pageSize | int32 | 否 | 每页显示条数,默认为 10 ,最大 100 |
coinKey | string | 是 | 币种 Key |
accountKey | string | 是 | 账户 Key |
customerRefId | string | 否 | 添加地址组时使用的商户业务唯一 ID 标识,最长 100 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"pageNumber": 1,
"pageSize": 10,
"totalElements": 100,
"content": [
{
"addressGroupKey": "addressffb9910f1f324f06a45ef055748fdf43",
"customerRefId": "customerRefIdExample",
"addressGroupName": "AddressName",
"addressList": [
{
"address": "0x1ec4fb20d8955d9d6a4ae45f01af04e170c0c022",
"addressType": "DEFAULT",
"derivePath": "m/44/666/0/0/0",
"addressBalance": "0"
}
]
}
]
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
pageNumber | int32 | 分页页码 |
pageSize | int32 | 分页每页条数 |
totalElements | int64 | 总记录数 |
content | array | 每页数据列表 |
└─addressGroupKey | string | 地址组 Key |
└─customerRefId | string | 添加地址组时使用的商户业务唯一 ID 标识 |
└─addressGroupName | string | 地址组名称 |
└─addressList | array | 地址列表 |
└─address | string | 币种收款地址 |
└─addressType | string | 地址类型 |
└─derivePath | string | 钱包地址 BIP44 派生路径 |
└─addressBalance | string | 币种地址余额 |
查询地址余额信息
根据币种地址查询地址余额信息。
HTTP 请求地址
POST /v1/account/coin/address/info
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"address": "0xFA8667a8135B889E853D87eD6d6350d35ecaeEF7"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
coinKey | string | 是 | 币种 Key |
address | string | 是 | 币种收款地址 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"address": "0x1ec4fb20d8955d9d6a4ae45f01af04e170c0c022",
"addressType": "DEFAULT",
"derivePath": "m/44/666/0/0/0",
"addressBalance": "0",
"accountKey": "accountfd9a0bc50c5f4a53b920c7c0ca85e0b7"
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
address | string | 币种收款地址 |
addressType | string | 地址类型 |
derivePath | string | 钱包地址 BIP44 派生路径 |
addressBalance | string | 币种地址余额 |
accountKey | string | 账户 Key |
修改钱包账户币种地址组名称
修改钱包账户下某个币种的地址组名称。
HTTP 请求地址
POST /v1/account/coin/address/name
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"addressGroupKey": "addressGroupKeyExample",
"addressGroupName": "addressGroupNameExample"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
addressGroupKey | string | 是 | 地址组 Key |
addressGroupName | string | 是 | 地址组名称,最长 30 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"result": true
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
result | boolean | 执行结果 true:执行成功 false:执行失败 |
UTXO 类型币种添加地址组 V1
为钱包账户下 UTXO 类型币种添加一个新的地址组。如果钱包下尚未添加此币种,将自动添加。
HTTP 请求地址
POST /v1/account/coin/address/create
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"coinKey": "BTC_TESTNET",
"accountKey": "accountfd9a0bc50c5f4a53b920c7c0ca85e0b7",
"addressGroupName": "addressGroupNameExample",
"customerRefId": "customerRefIdExample"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
coinKey | string | 是 | 币种 Key(仅支持 UTXO 类型币种) |
accountKey | string | 是 | 账户 Key |
addressGroupName | string | 是 | 地址组名称,最长 30 |
customerRefId | string | 否 | 商户业务唯一 ID 标识,最长 100 customerRefId 唯一代表商户的一个地址组,在 customerRefId 值重复的情况下(比如:请求超时或其他错误情况下再次提交),接口返回数据始终保持一致 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": [
{
"address": "mpfZasvHLqfUE1YjZC2vmbPijPxZ2AgqZm",
"addressType": "P2PKH",
"derivePath": "m/44/666/0/0/10"
},
{
"address": "tb1qv3v7k8wau5r0egycz0fu9p4zdmdchtn69jpvm7",
"addressType": "P2WPKH",
"derivePath": "m/44/666/0/0/10"
}
]
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
address | string | 币种收款地址 |
addressType | string | 地址类型 |
derivePath | string | 钱包地址 BIP44 派生路径 |
UTXO 类型币种添加地址组 V2
为钱包账户下 UTXO 类型币种添加一个新的地址组。如果钱包下尚未添加此币种,将自动添加。
HTTP 请求地址
POST /v2/account/coin/address/create
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"coinKey": "BTC_TESTNET",
"accountKey": "accountfd9a0bc50c5f4a53b920c7c0ca85e0b7",
"addressGroupName": "addressGroupNameExample",
"customerRefId": "customerRefIdExample"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
coinKey | string | 是 | 币种 Key(仅支持 UTXO 类型币种) |
accountKey | string | 是 | 账户 Key |
addressGroupName | string | 是 | 地址组名称,最长 30 |
customerRefId | string | 否 | 商户业务唯一 ID 标识,最长 100 customerRefId 唯一代表商户的一个地址组,在 customerRefId 值重复的情况下(比如:请求超时或其他错误情况下再次提交),接口返回数据始终保持一致 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"addressGroupKey": "addressffb9910f1f324f06a45ef055748fdf43",
"addressGroupName": "addressGroupNameExample",
"addressList":[
{
"address": "mpfZasvHLqfUE1YjZC2vmbPijPxZ2AgqZm",
"addressType": "P2PKH",
"derivePath": "m/44/666/0/0/10"
},
{
"address": "tb1qv3v7k8wau5r0egycz0fu9p4zdmdchtn69jpvm7",
"addressType": "P2WPKH",
"derivePath": "m/44/666/0/0/10"
}
]
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
addressGroupKey | string | 地址组唯一标识 |
addressGroupName | string | 地址组名称 |
addressList | array | 地址列表 |
└─address | string | 币种收款地址 |
└─addressType | string | 地址类型 |
└─derivePath | string | 钱包地址 BIP44 派生路径 |
UTXO 类型币种批量添加地址组
对于钱包账户下 UTXO 类型的币种,可以通过指定钱包账户和地址组数量,为该账户批量添加多个地址组,返回添加的地址组信息,如果该 UTXO 类型的币种在账户下不存在,则会先添加该币种,然后再添加对应数量的地址组。
HTTP 请求地址
POST /v1/account/coin/utxo/batch/create
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"accountKey": "accountfd9a0bc50c5f4a53b920c7c0ca85e0b7",
"count": 10,
"addressGroupName": "addressGroupNameExample"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
coinKey | string | 是 | 币种 Key(仅支持 UTXO 类型币种) |
accountKey | string | 是 | 账户 Key |
count | int32 | 是 | 数量,最大 100 |
addressGroupName | string | 否 | 地址组前缀名称,最长 30 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": [
{
"addressList": [
{
"address": "mpfZasvHLqfUE1YjZC2vmbPijPxZ2AgqZm",
"addressType": "P2PKH",
"derivePath": "m/44/666/0/0/10"
},
{
"address": "tb1qv3v7k8wau5r0egycz0fu9p4zdmdchtn69jpvm7",
"addressType": "P2WPKH",
"derivePath": "m/44/666/0/0/10"
}
],
"accountKey": "accountfd9a0bc50c5f4a53b920c7c0ca85e0b7",
"addressGroupKey": "addressffb9910f1f324f06a45ef055748fdf43",
"addressGroupName": "addressGroupNameExample"
}
]
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
addressList | array | 地址列表 |
└─address | string | 币种收款地址 |
└─addressType | string | 地址类型 |
└─derivePath | string | 钱包地址 BIP44 派生路径 |
accountKey | string | 账户 Key |
addressGroupKey | string | 地址组唯一标识 |
addressGroupName | string | 地址组名称 |
白名单
白名单是团队预先批准/许可的收款地址,在创建交易时,可以选择转账给白名单,点此查看白名单介绍。
创建白名单
新增一个白名单地址,新增的白名单地址需要在 Safeheron 手机 App 中审批完成后方可生效,关于审批说明如下:
- 管理员审批:如果未设置自定义白名单审批流,根据团队决策模式,由团队管理员审批通过后生效。
- 自定义白名单审批流:如果设置了白名单审批流,根据审批流程,审批通过后生效。
HTTP 请求地址
POST /v1/whitelist/create
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"whitelistName": "whitelistNameExample",
"chainType": "EVM",
"address": "0xFA8667a8135B889E853D87eD6d6350d35ecaeEF7",
"hiddenOnUI":false,
"memo": "memoExample"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
whitelistName | string | 是 | 白名单唯一名称,30个字符以内 |
chainType | string | 是 | 白名单地址所属的公链类型,支持: |
address | string | 是 | 公链地址,地址格式需要满足公链类型要求 |
memo | string | 否 | 与公链相关的地址 memo,也可称为 Comment 或 tag,最长 20 个字符。仅当 chainType 为以下公链类型时,memo 参数有效: |
hiddenOnUI | boolean | 否 | 是否在 App 及 Web 控制台隐藏 false:展示,false 为缺省值 true:隐藏,隐藏的白名单仅可通过 API 接口进行管理和使用,如查询、修改、发起交易时把白名单作为目标地址等。 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"whitelistKey": "whitelistKeyExample"
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
whitelistKey | string | 白名单唯一标识 |
根据交易创建白名单
在交易满足以下条件时,可使用此接口将交易的目标地址添加为白名单:
- 交易为资产钱包的转账交易,不支持 Web3 钱包签名交易与 MPC Sign 交易。
- 交易为已完成状态,即 COMPLETED。
- 交易目标地址为一次性地址。
HTTP 请求地址
POST /v1/whitelist/createFromTransaction
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"whitelistName": "whitelistNameExample",
"txKey": "tx46461daa9b7a4612abce99e7ce598844",
"destinationAddress": "0xFA8667a8135B889E853D87eD6d6350d35ecaeEF7",
"memo": "memoExample",
"hiddenOnUI":false
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
whitelistName | string | 是 | 白名单唯一名称,30个字符以内 |
txKey | string | 是 | 交易 Key |
destinationAddress | string | 是 | 交易记录中的目标地址,大小写敏感 |
memo | string | 否 | 交易目标地址 memo,也可称为 Comment 或 tag,最长 20 个字符。当原交易属于以下网络且发起交易时设置了目标地址 memo ,则必须传入与交易记录中一致的 memo |
hiddenOnUI | boolean | 否 | 是否在 App 及 Web 控制台隐藏 false:展示,false 为缺省值 true:隐藏,隐藏的白名单仅可通过 API 接口进行管理和使用,如查询、修改、发起交易时把白名单作为目标地址等。 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"whitelistKey": "whitelistKeyExample"
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
whitelistKey | string | 白名单唯一标识 |
修改白名单
根据白名单唯一标识修改白名单。白名单仅支持修改名称及公链地址;处于审批中状态的白名单不支持修改。白名单修改后,需要在 Safeheron 手机 App 中审核完成后方可生效,关于审批说明如下:
- 管理员审批:如果未设置自定义白名单审批流,根据团队决策模式,由团队管理员审批通过后生效。
- 自定义白名单审批流:如果设置了白名单审批流,根据审批流程,审批通过后生效。
HTTP 请求地址
POST /v1/whitelist/edit
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"whitelistKey": "whitelistKeyExample",
"whitelistName": "whitelistNameExample",
"address": "0xFA8667a8135B889E853D87eD6d6350d35ecaeEF7",
"memo": "memoExample",
"force": false
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
whitelistKey | string | 是 | 白名单唯一标识 |
whitelistName | string | 是 | 白名单唯一名称,30个字符以内 |
address | string | 是 | 公链地址,地址格式需要满足公链类型要求 |
memo | string | 否 | 与公链相关的地址 memo,也可称为 Comment 或 tag,最长 20 个字符。仅当 chainType 为以下公链类型时,memo 参数有效: |
force | bool | 否 | 当白名单被交易审批策略中引用时,修改后,新的白名单将直接在审批策略中生效。默认 false,即在被交易审批策略引用时,不修改。 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"result": true
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
result | boolean | 执行结果 true:执行成功 false:执行失败 |
查询单个白名单
查询一个白名单的数据
HTTP 请求地址
POST /v1/whitelist/one
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"whitelistKey": "whitelistKeyExample",
"address": "0xFA8667a8135B889E853D87eD6d6350d35ecaeEF7"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
whitelistKey | string | 否 | 白名单唯一标识,不能与 address 同时为空,同时提供以 whitelistKey 为准 |
address | string | 否 | 白名单地址,精确匹配,不能与 whitelistKey 同时为空 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"whitelistKey": "whitelistKeyExample",
"chainType": "EVM",
"whitelistName": "whitelistNameExample",
"address": "0xFA8667a8135B889E853D87eD6d6350d35ecaeEF7",
"memo": "memoExample",
"whitelistStatus": "AUDIT",
"hiddenOnUI":false,
"createTime": 1635170400000,
"lastUpdateTime": 1635199200000
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
whitelistKey | string | 白名单唯一标识 |
chainType | string | 白名单地址所属的公链类型,支持: |
whitelistName | string | 白名单名称 |
address | string | 白名单地址 |
memo | string | 创建白名单时,设置的地址 memo |
whitelistStatus | string | 白名单状态 |
hiddenOnUI | boolean | 白名单在 App 及 Web 控制台中是否隐藏 true: 隐藏 false: 展示 |
createTime | int64 | 白名单的创建时间,UNIX 毫秒时间戳 |
lastUpdateTime | int64 | 白名单最后更新时间,UNIX 毫秒时间戳 |
白名单列表
根据查询条件,分页查询白名单数据
HTTP 请求地址
POST /v1/whitelist/list
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"direct": "NEXT",
"limit": 100,
"fromId": "xxxxx",
"chainType": "EVM",
"whitelistStatus": "AUDIT",
"hiddenOnUI":false,
"createTimeMin": 1635170400000,
"createTimeMax": 1635199200000
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
direct | string | 否 | 分页查询方向,默认 NEXT |
limit | int32 | 否 | 一次查询多少条,默认最大值 500 |
fromId | string | 否 | 起始记录 whitelistKey,传入上一次结果的最后一条记录的 whitelistKey ,如果第一页不传 |
chainType | string | 是 | 白名单地址所属的公链类型,支持: |
whitelistStatus | string | 否 | 白名单状态 |
hiddenOnUI | boolean | 否 | 根据 hiddenOnUI 设置筛选白名单: 缺省:查询所有白名单 true:查询 hiddenOnUI 设置为 true 的白名单 false:查询 hiddenOnUI 设置为 false 的白名单 |
createTimeMin | int64 | 否 | 创建时间开始时间,UNIX 毫秒时间戳(不传,默认为 createTimeMax 减去 24 小时) |
createTimeMax | int64 | 否 | 创建时间结束时间,UNIX 毫秒时间戳(不传,默认为当前 UTC 时间) |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": [
{
"whitelistKey": "whitelistKeyExample",
"chainType": "EVM",
"whitelistName": "whitelistNameExample",
"address": "0xFA8667a8135B889E853D87eD6d6350d35ecaeEF7",
"memo": "memoExample",
"whitelistStatus": "AUDIT",
"hiddenOnUI":false,
"createTime": 1635170400000,
"lastUpdateTime": 1635199200000
}
]
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
whitelistKey | string | 白名单唯一标识 |
chainType | string | 白名单地址所属的公链类型,支持: |
whitelistName | string | 白名单名称 |
address | string | 白名单地址 |
memo | string | 创建白名单时,设置的地址 memo |
whitelistStatus | string | 白名单状态 |
hiddenOnUI | boolean | 白名单在 App 及 Web 控制台中是否隐藏 true: 隐藏 false: 展示 |
createTime | int64 | 白名单的创建时间,UNIX 毫秒时间戳 |
lastUpdateTime | int64 | 白名单最后更新时间,UNIX 毫秒时间戳 |
删除白名单
删除指定的白名单地址,需要注意的是,删除无需审批;如果删除一个审批中的白名单,审批任务也会自动取消
HTTP 请求地址
POST /v1/whitelist/delete
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"whitelistKey": "whitelistKeyExample"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
whitelistKey | string | 是 | 白名单唯一标识 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"result": true
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
result | boolean | 执行结果 true:执行成功 false:执行失败 |
币种
币种相关接口,可以查看平台支持的币种、币种维护信息、币种地址校验等。
币种列表
获取 Safeheron 平台支持的币种列表。
HTTP 请求地址
POST /v1/coin/list
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw="
}
请求参数
无
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": [
{
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"coinFullName": "Ethereum(Sepolia)",
"coinName": "ETH(Sepolia)",
"coinDecimal": 18,
"txRefUrl": "https://sepolia.etherscan.io/tx/{txHash}",
"addressRefUrl": "https://sepolia.etherscan.io/address/{address}",
"logoUrl": "https://resource.safeheron.vip/resource/img/logo/1626851355990.png",
"symbol": "ETH",
"isMultipleAddress": "NO",
"feeCoinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"feeUnit": "Gwei",
"feeDecimal": 9,
"showCoinDecimal": 8,
"coinType": "NATIVE",
"tokenIdentifier": "NATIVE",
"minTransferAmount": "1",
"blockChain": "ethereum",
"network": "sepolia",
"gasLimit": 21000,
"isMemo": "NO",
"isUtxo": "NO",
"blockchainType": "EVM"
}
]
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
coinKey | string | 币种 Key |
coinFullName | string | 币种全称 |
coinName | string | 币种简称 |
coinDecimal | int32 | 币种精度 |
txRefUrl | string | 引用浏览器交易 |
addressRefUrl | string | 引用浏览器地址 |
logoUrl | string | 币种 LOGO 地址 |
symbol | string | 币种单位名称 |
isMultipleAddress | string | 是否能创建多个地址组 YES:是 NO:否 |
feeCoinKey | string | 转账所消耗的手续费币种 Key ,例如 ERC20 币种转账,所消耗的手续费币种是 ETH |
feeUnit | string | 手续费单位名 ( Gwei,satoshis ) |
feeDecimal | int32 | Safeheron 控制台手续费精度 |
showCoinDecimal | int32 | Safeheron 控制台币种显示精度 |
coinType | string | 币种类型 |
tokenIdentifier | string | 合约地址,NATIVE 表示原生资产,非 NATIVE 表示合约地址 |
minTransferAmount | string | 最小转账数量,转账单位为 symbol |
blockChain | string | 区块链 |
network | string | 区块链网络 |
gasLimit | int32 | Safeheron 设定的 gasLimit |
isMemo | string | 是否支付 MEMO 类型 YES:是 NO:否 |
isUtxo | string | 是否是 UTXO 类型 YES:是 NO:否 |
blockchainType | string | 区块链类型 |
币种维护列表
获取 Safeheron 平台处于维护中的币种信息。
HTTP 请求地址
POST /v1/coin/maintain/list
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw="
}
请求参数
无
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": [
{
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"maintain": true,
"title": "ETH Maintenance",
"content": "We will maintain ETH tokens during xxx-xxx",
"startTime": 1635170400000,
"endTime": 1635199200000
}
]
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
coinKey | string | 币种 Key |
maintain | boolean | 是否处于维护中 |
title | string | 维护标题 |
content | string | 内容 |
startTime | int64 | 币种维护开始时间,时间 UNIX 毫秒数 |
endTime | int64 | 币种维护结束时间,时间 UNIX 毫秒数 |
币种地址检查
根据传入的校验属性检查币种地址是否正确。
HTTP 请求地址
POST /v1/coin/address/check
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"address": "0x1ec4fb20d8955d9d6a4ae45f01af04e170c0c022",
"checkContract": false,
"checkAml": false,
"checkAddressValid": true,
"checkSolanaOwnerAddress": true
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
coinKey | string | 是 | 币种 Key |
address | string | 是 | 币种收款地址 |
checkContract | boolean | 否 | 检查是否是合约地址(如果不传该参数,则默认不检查) true:检查 false:不检查 |
checkAml | boolean | 否 | 检查aml合法性(如果为不检查或不传该参数,则默认为 aml 合法地址) true:检查 false:不检查 |
checkAddressValid | boolean | 否 | 检查地址格式有效性(如果不传该参数,则默认不检查) true:检查 false:不检查 |
checkSolanaOwnerAddress | boolean | 否 | 检查 Solana 地址是否是 Owner 地址(如果不传该参数,则默认不检查) true:检查 false:不检查 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"addressValid": true
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
addressValid | boolean | 地址格式是否合法 true:地址合法 false:地址不合法 |
contract | boolean | 是否是合约地址 true:是合约地址 false:非合约地址 |
amlValid | boolean | 是否风控限制 true:AML 合法地址 false:AML 黑名单地址 |
solanaOwnerAddress | boolean | 是否是 Solana Owner 地址 true:是 Solana Owner 地址 false:非 Solana Owner 地址 |
币种余额快照
Safeheron 会根据交易区块创建的 GMT+8 时间对币种余额进行快照并按天存储,币种余额快照只保存最近 30 天的数据。
HTTP 请求地址
POST /v1/coin/balance/snapshot
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"gmt8Date": "2023-01-01"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
gmt8Date | string | 是 | 仅支持查询最近 30 天内的数据,参数值为 GMT+8 时间 yyyy-MM-dd 格式字符串 注意:如果传入的值为当前日期(即非历史日期),返回截止到当前时间的余额数据 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": [
{
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"coinBalance": "0"
}
]
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
coinKey | string | 币种 Key |
coinBalance | string | 币种余额,单位为币种列表返回的 symbol |
获取币种当前扫块高度
根据传入的币种Key,查询当前币种对应的扫块高度。
HTTP 请求地址
POST /v1/coin/block/height
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
coinKey | string | 是 | 币种 Key,多个币种 Key 时以英文逗号分割 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": [
{
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"localBlockHeight": 0
}
]
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
coinKey | string | 币种 Key |
localBlockHeight | int64 | 币种当前扫块高度 |
交易
交易相关接口,可以查询交易信息、发起交易、加速交易、取消交易等操作。
交易列表 V1
根据不同的条件组合,筛选团队下的交易记录,推荐使用 V2 版本接口。
HTTP 请求地址
POST /v1/transactions/list
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"pageNumber": 1,
"pageSize": 100,
"sourceAccountKey": "account27ddec416e2342918e4381d4727c2905",
"sourceAccountType": "VAULT_ACCOUNT",
"transactionStatus": "COMPLETED",
"transactionSubStatus": "CONFIRMED",
"destinationAccountType": "ONE_TIME_ADDRESS",
"realDestinationAccountType": "ONE_TIME_ADDRESS",
"destinationAccountKey": "",
"destinationAddress": "0x57b2aCEf9f40aaBCC20D3aac4A37eAF2371a788E",
"hideSmallAmountUsd": "0.01",
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"feeCoinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"transactionDirection": "INTERNAL_TRANSFER"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
pageNumber | int32 | 否 | 分页页码,从 1 开始,默认为 1 |
pageSize | int32 | 否 | 每页显示条数,默认为 10 ,最大 100 |
sourceAccountKey | string | 否 | 交易源账户 Key |
sourceAccountType | string | 否 | 交易源账户类型 |
destinationAccountKey | string | 否 | 交易目标账户 Key |
destinationAccountType | string | 否 | 交易目标账户类型 |
createTimeMin | int64 | 否 | 创建时间开始时间,UNIX 时间戳毫秒数 |
createTimeMax | int64 | 否 | 创建时间结束时间,UNIX 时间戳毫秒数 |
txAmountMin | string | 否 | 交易最小金额 |
txAmountMax | string | 否 | 交易最大金额 |
coinKey | string | 否 | 币种 Key,多个币种 Key 时以英文逗号分割 |
feeCoinKey | string | 否 | 手续费币种 Key,多个币种 Key 时以英文逗号分割 |
transactionStatus | string | 否 | 交易状态 |
transactionSubStatus | string | 否 | 交易子状态 |
completedTimeMin | int64 | 否 | 交易完成最小时间,UNIX 时间戳毫秒数 |
completedTimeMax | int64 | 否 | 交易完成最大时间,UNIX 时间戳毫秒数 |
customerRefId | string | 否 | 商户业务唯一 ID 标识 |
realDestinationAccountType | string | 否 | 实际交易目标账户类型 |
hideSmallAmountUsd | string | 否 | 自定义过滤金额,即查询结果不返回低于此金额的交易记录,单位USD |
transactionDirection | string | 否 | 根据交易方向筛选交易记录: 缺省:查询所有类型的记录 INFLOW:流入 OUTFLOW:流出 INTERNAL_TRANSFER:内部转账 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"pageNumber": 1,
"pageSize": 10,
"totalElements": 100,
"content": [
{
"txKey": "tx46461daa9b7a4612abce99e7ce598844",
"txHash": "0xf7292ea446b573bab7311921e2489fb29d26ec393f2d6c8e280a7157f635234",
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"txAmount": "0.001",
"sourceAccountKey": "account4b8d2c00520646c8862b68420aa1234234",
"sourceAccountType": "VAULT_ACCOUNT",
"sourceAddress": "0xCa104eA8CB4722e33a3E68eD4D12d3569594FBC5",
"isSourcePhishing": false,
"sourceAddressList": [
{
"address": "tb1q4heth3mzkhz7v6zsz9l9t7aqcmgly96l3hep7d",
"isSourcePhishing": false,
"addressGroupKey": "addressffb9910f1f324f06a45ef055748fdf43"
}
],
"destinationAccountKey": "6553009588f443b1970a5962590a2158",
"destinationAccountType": "WHITELISTING_ACCOUNT",
"destinationAddress": "0xCa104eA8CB4722e33a3E68eD4D12d3569594F234234",
"isDestinationPhishing": false,
"memo": "memoExample",
"destinationAddressList": [
{
"address": "tb1q4heth3mzkhz7v6zsz9l9t7aqcmgly96l3hep7d",
"isDestinationPhishing": false,
"memo": "memoExample",
"addressGroupKey": "addressffb9910f1f324f06a45ef055748fdf43",
"amount": "0.0001"
},
{
"address": "tb1qrjrg92y7x0zc4h6e4xxg66r36jl22x84w3s3a0",
"isDestinationPhishing": false,
"memo": "memoExample",
"addressGroupKey": "addressffb9910f1f324f06a45ef055748fdf43",
"amount": "0.0001"
}
],
"transactionType": "NORMAL",
"transactionStatus": "COMPLETED",
"transactionSubStatus": "CONFIRMED",
"createTime": 1626075236000,
"note": "Initiate transaction",
"auditUserKey": "a1ef6672-c231-43cc-b174-ff30d392e723",
"createdByUserKey": "a1ef6672-c231-43cc-b174-ff30d392e723",
"txFee": "0.000106841386050000",
"feeCoinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"replaceTxHash": "0x628626531285bb90d4130d3beb3c355d2a7fe0bdfa1fa05e3431f15340aafeb6",
"customerRefId": "a1ef6672-c231-43cc-b174-ff30d392e723",
"customerExt1": "1",
"customerExt2": "2",
"amlLock": "NO",
"blockHeight": 10000000,
"completedTime": 1626075236000,
"realDestinationAccountType": "VAULT_ACCOUNT",
"transactionSubStatusDesc": "Confirmed",
"txAmountToUsd": "19.9813552",
"sourceAccountName": "wallet1",
"sourceAccountTypeName": "vault",
"destinationAccountName": "API transaction group",
"destinationAccountTypeName": "Whitelisted address",
"auditUserName": "test",
"createdByUserName": "test",
"transactionDirection": "INTERNAL_TRANSFER"
}
]
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
pageNumber | int32 | 分页页码 |
pageSize | int32 | 分页每页条数 |
totalElements | int64 | 总记录数 |
content | array | 每页数据列表 |
└─txKey | string | 交易 Key |
└─txHash | string | 交易 Hash |
└─coinKey | string | 币种 Key |
└─txAmount | string | 交易金额,单位为币种列表返回的 symbol |
└─sourceAccountKey | string | 交易源账户 Key |
└─sourceAccountType | string | 交易源账户类型 |
└─sourceAddress | string | 交易源地址(如果交易币种为 UTXO 类型请使用 sourceAddressList 字段) |
└─isSourcePhishing | bool | 交易源地址有疑似钓鱼地址的风险,仅 EVM 类公链和 TRON 公链且方向为流入的交易有效 |
└─sourceAddressList | array | 交易源地址列表 |
└─address | string | 交易源地址 |
└─isSourcePhishing | bool | 交易源地址有疑似钓鱼地址的风险,仅 EVM 类公链和 TRON 公链且方向为流入的交易有效 |
└─addressGroupKey | string | 交易源地址所属地址组,仅当交易源账户类型为 VAULT_ACCOUNT 时,此字段有值 |
└─destinationAccountKey | string | 交易目标账户 Key |
└─destinationAccountType | string | 交易目标账户类型 |
└─destinationAddress | string | 交易目标地址(如果交易币种为 UTXO 类型请使用 destinationAddressList 字段) |
└─isDestinationPhishing | bool | 交易目标地址有疑似钓鱼地址的风险,仅 EVM 类公链和 TRON 公链且方向为流出的交易有效 |
└─memo | string | 创建交易时,设置的目标地址 memo |
└─destinationAddressList | array | 交易目标地址列表 |
└─address | string | 交易目标地址 |
└─isDestinationPhishing | bool | 交易目标地址有疑似钓鱼地址的风险,仅 EVM 类公链和 TRON 公链且方向为流出的交易有效 |
└─memo | string | 创建交易时,设置的目标地址 memo |
└─addressGroupKey | string | 交易目标地址所属地址组,仅当交易目标账户类型为 VAULT_ACCOUNT 时,此字段有值 |
└─amount | string | 交易金额 |
└─transactionType | string | 交易子类型 |
└─transactionStatus | string | 交易状态 |
└─transactionSubStatus | string | 交易子状态 |
└─createTime | int64 | 交易创建时间,UNIX 时间戳毫秒数 |
└─note | string | 创建交易时,设置的平台交易备注 |
└─auditUserKey | string | 最后审核人 Key |
└─createdByUserKey | string | 创建人 Key |
└─txFee | string | 交易手续费 |
└─feeCoinKey | string | 转账所消耗的手续费币种 Key ,例如 ERC20 币种转账,所消耗的手续费币种是 ETH |
└─replaceTxHash | string | 引用的交易 Hash,只有加速的交易存在该值 |
└─customerRefId | string | 商户业务唯一 ID 标识 |
└─customerExt1 | string | 商户扩展字段 |
└─customerExt2 | string | 商户扩展字段 |
└─amlLock | string | 交易源地址是否包含 AML 地址 YES:包含 NO:不包含 |
└─blockHeight | int64 | 交易块高度,交易状态为确认中和交易成功时有值 |
└─completedTime | int64 | 交易完成时间 |
└─realDestinationAccountType | string | 实际交易目标账户类型 |
└─transactionSubStatusDesc | string | 交易子状态描述 |
└─txAmountToUsd | string | 交易时 USD 汇率换算金额 |
└─sourceAccountName | string | 交易源账户名称 |
└─sourceAccountTypeName | string | 交易源账户类型名称 |
└─destinationAccountName | string | 交易目标账户名称 |
└─destinationAccountTypeName | string | 交易目标账户类型名称 |
└─auditUserName | string | 最后审核人名称 |
└─createdByUserName | string | 创建人名称 |
└─transactionDirection | string | 交易方向 |
交易列表 V2
根据不同的条件组合,筛选团队下的交易记录。
HTTP 请求地址
POST /v2/transactions/list
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"direct": "NEXT",
"limit": 100,
"fromId": "tx46461daa9b7a4612abce99e7ce598844",
"sourceAccountKey": "account27ddec416e2342918e4381d4727c2905",
"sourceAccountType": "VAULT_ACCOUNT",
"transactionStatus": "COMPLETED",
"transactionSubStatus": "CONFIRMED",
"destinationAccountType": "ONE_TIME_ADDRESS",
"realDestinationAccountType": "ONE_TIME_ADDRESS",
"destinationAccountKey": "",
"destinationAddress": "0x57b2aCEf9f40aaBCC20D3aac4A37eAF2371a788E",
"hideSmallAmountUsd": "0.01",
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"feeCoinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"transactionDirection": "INTERNAL_TRANSFER"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
direct | string | 否 | 分页查询方向,默认 NEXT |
limit | int32 | 否 | 一次查询多少条,默认最大值 500 |
fromId | string | 否 | 起始交易记录 txKey,传入上一次结果的最后一条交易记录的 txKey ,如果第一页不传 |
sourceAccountKey | string | 否 | 交易源账户 Key |
sourceAccountType | string | 否 | 交易源账户类型 |
destinationAccountKey | string | 否 | 交易目标账户 Key |
destinationAccountType | string | 否 | 交易目标账户类型 |
createTimeMin | int64 | 否 | 创建时间开始时间,UNIX 时间戳毫秒数(不传,默认为 createTimeMax 减去 24 小时) |
createTimeMax | int64 | 否 | 创建时间结束时间,UNIX 时间戳毫秒数(不传,默认为当前 UTC 时间) |
txAmountMin | string | 否 | 交易最小金额 |
txAmountMax | string | 否 | 交易最大金额 |
coinKey | string | 否 | 币种 Key,多个币种 Key 时以英文逗号分割 |
feeCoinKey | string | 否 | 手续费币种 Key,多个币种 Key 时以英文逗号分割 |
transactionStatus | string | 否 | 交易状态 |
transactionSubStatus | string | 否 | 交易子状态 |
completedTimeMin | int64 | 否 | 交易完成最小时间,UNIX 时间戳毫秒数 |
completedTimeMax | int64 | 否 | 交易完成最大时间,UNIX 时间戳毫秒数 |
customerRefId | string | 否 | 商户业务唯一 ID 标识 |
realDestinationAccountType | string | 否 | 实际交易目标账户类型 |
hideSmallAmountUsd | string | 否 | 自定义过滤金额,即查询结果不返回低于此金额的交易记录,单位USD |
transactionDirection | string | 否 | 根据交易方向筛选交易记录: 缺省:查询所有类型的记录 INFLOW:流入 OUTFLOW:流出 INTERNAL_TRANSFER:内部转账 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": [
{
"txKey": "tx46461daa9b7a4612abce99e7ce598844",
"txHash": "0xf7292ea446b573bab7311921e2489fb29d26ec393f2d6c8e280a7157f635234",
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"txAmount": "0.001",
"sourceAccountKey": "account4b8d2c00520646c8862b68420aa1234234",
"sourceAccountType": "VAULT_ACCOUNT",
"sourceAddress": "0xCa104eA8CB4722e33a3E68eD4D12d3569594FBC5",
"isSourcePhishing": false,
"sourceAddressList": [
{
"address": "tb1q4heth3mzkhz7v6zsz9l9t7aqcmgly96l3hep7d",
"isSourcePhishing": false,
"addressGroupKey": "addressffb9910f1f324f06a45ef055748fdf43"
}
],
"destinationAccountKey": "6553009588f443b1970a5962590a2158",
"destinationAccountType": "WHITELISTING_ACCOUNT",
"destinationAddress": "0xCa104eA8CB4722e33a3E68eD4D12d3569594F234234",
"isDestinationPhishing": false,
"memo": "memoExample",
"destinationAddressList": [
{
"address": "tb1q4heth3mzkhz7v6zsz9l9t7aqcmgly96l3hep7d",
"isDestinationPhishing": false,
"memo": "memoExample",
"addressGroupKey": "addressffb9910f1f324f06a45ef055748fdf43",
"amount": "0.0001"
},
{
"address": "tb1qrjrg92y7x0zc4h6e4xxg66r36jl22x84w3s3a0",
"isDestinationPhishing": false,
"memo": "memoExample",
"addressGroupKey": "addressffb9910f1f324f06a45ef055748fdf43",
"amount": "0.0001"
}
],
"transactionType": "NORMAL",
"transactionStatus": "COMPLETED",
"transactionSubStatus": "CONFIRMED",
"createTime": 1626075236000,
"note": "Initiate transaction",
"auditUserKey": "a1ef6672-c231-43cc-b174-ff30d392e723",
"createdByUserKey": "a1ef6672-c231-43cc-b174-ff30d392e723",
"txFee": "0.000106841386050000",
"feeCoinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"replaceTxHash": "0x628626531285bb90d4130d3beb3c355d2a7fe0bdfa1fa05e3431f15340aafeb6",
"customerRefId": "a1ef6672-c231-43cc-b174-ff30d392e723",
"customerExt1": "1",
"customerExt2": "2",
"amlLock": "NO",
"blockHeight": 10000000,
"completedTime": 1626075236000,
"realDestinationAccountType": "VAULT_ACCOUNT",
"transactionSubStatusDesc": "Confirmed",
"txAmountToUsd": "19.9813552",
"sourceAccountName": "wallet1",
"sourceAccountTypeName": "vault",
"destinationAccountName": "API transaction group",
"destinationAccountTypeName": "Whitelisted address",
"auditUserName": "test",
"createdByUserName": "test",
"transactionDirection": "INTERNAL_TRANSFER"
}
]
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
txKey | string | 交易 Key |
txHash | string | 交易 Hash |
coinKey | string | 币种 Key |
txAmount | string | 交易金额,单位为币种列表返回的 symbol |
sourceAccountKey | string | 交易源账户 Key |
sourceAccountType | string | 交易源账户类型 |
sourceAddress | string | 交易源地址(如果交易币种为 UTXO 类型请使用 sourceAddressList 字段) |
isSourcePhishing | bool | 交易源地址有疑似钓鱼地址的风险,仅 EVM 类公链和 TRON 公链且方向为流入的交易有效 |
sourceAddressList | array | 交易源地址列表 |
└─address | string | 交易源地址 |
└─isSourcePhishing | bool | 交易源地址有疑似钓鱼地址的风险,仅 EVM 类公链和 TRON 公链且方向为流入的交易有效 |
└─addressGroupKey | string | 交易源地址所属地址组,仅当交易源账户类型为 VAULT_ACCOUNT 时,此字段有值 |
destinationAccountKey | string | 交易目标账户 Key |
destinationAccountType | string | 交易目标账户类型 |
destinationAddress | string | 交易目标地址(如果交易币种为 UTXO 类型请使用 destinationAddressList 字段) |
isDestinationPhishing | bool | 交易目标地址有疑似钓鱼地址的风险,仅 EVM 类公链和 TRON 公链且方向为流出的交易有效 |
memo | string | 创建交易时,设置的目标地址 memo |
destinationAddressList | array | 交易目标地址列表 |
└─address | string | 交易目标地址 |
└─isDestinationPhishing | bool | 交易目标地址有疑似钓鱼地址的风险,仅 EVM 类公链和 TRON 公链且方向为流出的交易有效 |
└─memo | string | 创建交易时,设置的目标地址 memo |
└─addressGroupKey | string | 交易目标地址所属地址组,仅当交易目标账户类型为 VAULT_ACCOUNT 时,此字段有值 |
└─amount | string | 交易金额 |
transactionType | string | 交易子类型 |
transactionStatus | string | 交易状态 |
transactionSubStatus | string | 交易子状态 |
createTime | int64 | 交易创建时间,UNIX 时间戳毫秒数 |
note | string | 创建交易时,设置的平台交易备注 |
auditUserKey | string | 最后审核人 Key |
createdByUserKey | string | 创建人 Key |
txFee | string | 交易手续费 |
feeCoinKey | string | 转账所消耗的手续费币种 Key ,例如 ERC20 币种转账,所消耗的手续费币种是 ETH |
replaceTxHash | string | 引用的交易 Hash,只有加速的交易存在该值 |
customerRefId | string | 商户业务唯一 ID 标识 |
customerExt1 | string | 商户扩展字段 |
customerExt2 | string | 商户扩展字段 |
amlLock | string | 交易源地址是否包含 AML 地址 YES:包含 NO:不包含 |
blockHeight | int64 | 交易块高度,交易状态为确认中和交易成功时有值 |
completedTime | int64 | 交易完成时间 |
realDestinationAccountType | string | 实际交易目标账户类型 |
transactionSubStatusDesc | string | 交易子状态描述 |
txAmountToUsd | string | 交易时 USD 汇率换算金额 |
sourceAccountName | string | 交易源账户名称 |
sourceAccountTypeName | string | 交易源账户类型名称 |
destinationAccountName | string | 交易目标账户名称 |
destinationAccountTypeName | string | 交易目标账户类型名称 |
auditUserName | string | 最后审核人名称 |
createdByUserName | string | 创建人名称 |
transactionDirection | string | 交易方向 |
创建交易 - Deprecated
发起一个新的交易。请使用创建交易 V3接口
HTTP 请求地址
POST /v2/transactions/create
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"customerRefId": "customerRefIdExample",
"customerExt1": "customerExt1Example",
"customerExt2": "customerExt2Example",
"note": "noteExample",
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"txAmount": "0.00002",
"txFeeLevel": "HIGH",
"sourceAccountKey": "accounta247ca82828a4f93948282106135d109",
"sourceAccountType": "VAULT_ACCOUNT",
"destinationAccountKey": "5d1fd5c848fb441da8d2ec4f013acac5",
"destinationAccountType": "WHITELISTING_ACCOUNT",
"destinationAddress": "0xFA8667a8135B889E853D87eD6d6350d35ecaeEF7",
"memo": "memoExampl",
"treatAsGrossAmount": false
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
customerRefId | string | 是 | 商户业务唯一 ID 标识,最长 100 customerRefId 唯一代表商户的一笔交易,当商户对同一笔交易多次提交,即在 customerRefId 值重复的情况下(比如:请求超时或其他错误情况下再次提交),接口返回 9001 错误码和与之前一致的 txKey,你可以使用查询单笔交易接口查询确认交易详情 |
customerExt1 | string | 否 | 商户扩展字段,商户自定义,该字段会透传给商户,最长 255 |
customerExt2 | string | 否 | 商户扩展字段,商户自定义,该字段会透传给商户,最长 255 |
note | string | 否 | 平台交易备注,最长 180 个字符,与公链无关 |
coinKey | string | 是 | 币种 Key |
txFeeLevel | string | 否 | 交易手续费费率等级 与交易手续费费率二选一,如果设置了交易手续费费率,优先使用设置的费率 |
feeRateDto | object | 否 | 交易手续费费率,txFeeLevel 和 feeRateDto 二选一 |
└─feeRate | string | 否 | 费率:UTXO 的 feePerByte; EVM 类的 gasPrice; TRON 的 feeLimit (对于 TRON 也可以不传); 以及 SUI 的 gasPrice注:对于支持 EIP1559 费率模型的币种将忽略 feeRate 参数,请使用 maxPriorityFee 和 maxFee 参数 |
└─gasLimit | string | 否 | EVM 类的 gasLimit |
└─maxPriorityFee | string | 否 | EIP-1559 的 maxPriorityFee |
└─maxFee | string | 否 | EIP-1559 的 maxFee |
└─gasPremium | string | 否 | FileCoin 的矿工小费费率,类似于 EIP-1559 的 maxPriorityFee |
└─gasFeeCap | string | 否 | FileCoin 的最高手续费费率,类似于 EIP-1559 的 maxFee |
└─gasBudget | string | 否 | SUI 的最高手续费费率,类似于 EIP-1559 的 maxFee |
└─gasUnitPrice | string | 否 | Aptos 的交易发送方愿意支付的 gas 价格,类似于 EVM 的 gasPrice |
└─maxGasAmount | string | 否 | Aptos 的交易发送方愿意为执行交易而花费的最大 gas 单位数,类似于 EVM 的 gasLimit |
maxTxFeeRate | string | 否 | 设置交易手续费费率等级估算允许的最大手续费费率 |
txAmount | string | 是 | 交易金额 |
treatAsGrossAmount | boolean | 否 | (暂时只支持 account 模型账户)手续费是否从转账金额中扣除 默认 false, 当设置为 true 时,手续费将根据 txFeeLevel 或 feeRateDto 参数自动计算并从转账金额中扣除 注:仅当交易的币种是基础资产时(如 ETH 或 MATIC)此参数有效。如果交易的币种不能用于支付交易费用(如 USDC),设置此参数无效 |
sourceAccountKey | string | 是 | 交易源账户 Key |
sourceAccountType | string | 是 | 账户类型 |
destinationAccountKey | string | 否 | 交易目标账户 Key 目标类型为钱包账户时,为钱包账户 Key 目标类型为白名单账户时,为白名单唯一标识 目标类型为陌生地址时,该参数不传 |
destinationAccountType | string | 是 | 交易目标账户类型 |
destinationAddress | string | 否 | 当 destinationAccountType 为 ONE_TIME_ADDRESS 时,必须传入 |
memo | string | 否 | 交易目标地址 memo,也可称为 Comment 或 tag,最长 100 个字符。仅当交易属于以下网络时,memo 参数有效: |
isRbf | boolean | 否 | btc 是否开启 rbf(全称 Replace-by-fee,是比特币内存池中的一种协议,允许使用其他交易将未确认交易进行替换的方式) |
failOnContract | boolean | 否 | 默认【true】,该参数决定了在目标地址为合约地址时是否可以成功发起交易。 若选择了【false】,则目标地址为合约时可以成功发起交易, 若选择了【true】,则目标地址为合约时,交易将会发送失败 |
nonce | int64 | 否 | 自定义 nonce (在区块链技术中, nonce 是交易计数器,用于避免区块链网络中的双花和重放攻击) |
sequenceNumber | int64 | 否 | Aptos 自定义 sequenceNumber,类似于 EVM 的 nonce |
balanceVerifyType | string | 否 | 余额检查类型,默认 BALANCE_CHECK |
utxoSelectionType | string | 否 | 选择 UTXO 类型,默认 DEFAULT |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"txKey": "tx46461daa9b7a4612abce99e7ce598844"
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
txKey | string | 交易 Key |
创建交易 V3
发起一个新的交易。
HTTP 请求地址
POST /v3/transactions/create
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"customerRefId": "customerRefIdExample",
"customerExt1": "customerExt1Example",
"customerExt2": "customerExt2Example",
"note": "noteExample",
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"txAmount": "0.00002",
"txFeeLevel": "HIGH",
"sourceAccountKey": "accounta247ca82828a4f93948282106135d109",
"sourceAccountType": "VAULT_ACCOUNT",
"destinationAccountKey": "5d1fd5c848fb441da8d2ec4f013acac5",
"destinationAccountType": "WHITELISTING_ACCOUNT",
"destinationAddress": "0xFA8667a8135B889E853D87eD6d6350d35ecaeEF7",
"memo": "memoExampl",
"treatAsGrossAmount": false
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
customerRefId | string | 是 | 商户业务唯一 ID 标识,最长 100 customerRefId 唯一代表商户的一笔交易,当商户对同一笔交易多次提交,即在 customerRefId 值重复的情况下(比如:请求超时或其他错误情况下再次提交),接口将返回与之前一致的 txKey,您可以使用查询单笔交易接口查询确认交易详情 |
customerExt1 | string | 否 | 商户扩展字段,商户自定义,该字段会透传给商户,最长 255 |
customerExt2 | string | 否 | 商户扩展字段,商户自定义,该字段会透传给商户,最长 255 |
note | string | 否 | 平台交易备注,最长 180 个字符,与公链无关 |
coinKey | string | 是 | 币种 Key |
txFeeLevel | string | 否 | 交易手续费费率等级 与交易手续费费率二选一,如果设置了交易手续费费率,优先使用设置的费率 |
feeRateDto | object | 否 | 交易手续费费率,txFeeLevel 和 feeRateDto 二选一 |
└─feeRate | string | 否 | 费率:UTXO 的 feePerByte; EVM 类的 gasPrice; TRON 的 feeLimit (对于 TRON 也可以不传); 以及 SUI 的 gasPrice注:对于支持 EIP1559 费率模型的币种将忽略 feeRate 参数,请使用 maxPriorityFee 和 maxFee 参数 |
└─gasLimit | string | 否 | EVM 类的 gasLimit |
└─maxPriorityFee | string | 否 | EIP-1559 的 maxPriorityFee |
└─maxFee | string | 否 | EIP-1559 的 maxFee |
└─gasPremium | string | 否 | FileCoin 的矿工小费费率,类似于 EIP-1559 的 maxPriorityFee |
└─gasFeeCap | string | 否 | FileCoin 的最高手续费费率,类似于 EIP-1559 的 maxFee |
└─gasBudget | string | 否 | SUI 的最高手续费费率,类似于 EIP-1559 的 maxFee |
└─gasUnitPrice | string | 否 | Aptos 的交易发送方愿意支付的 gas 价格,类似于 EVM 的 gasPrice |
└─maxGasAmount | string | 否 | Aptos 的交易发送方愿意为执行交易而花费的最大 gas 单位数,类似于 EVM 的 gasLimit |
maxTxFeeRate | string | 否 | 设置交易手续费费率等级估算允许的最大手续费费率 |
txAmount | string | 是 | 交易金额 |
treatAsGrossAmount | boolean | 否 | (暂时只支持 account 模型账户)手续费是否从转账金额中扣除 默认 false, 当设置为 true 时,手续费将根据 txFeeLevel 或 feeRateDto 参数自动计算并从转账金额中扣除 注:仅当交易的币种是基础资产时(如 ETH 或 MATIC)此参数有效。如果交易的币种不能用于支付交易费用(如 USDC),设置此参数无效 |
sourceAccountKey | string | 是 | 交易源账户 Key |
sourceAccountType | string | 是 | 账户类型 |
destinationAccountKey | string | 否 | 交易目标账户 Key 目标类型为钱包账户时,为钱包账户 Key 目标类型为白名单账户时,为白名单唯一标识 目标类型为陌生地址时,该参数不传 |
destinationAccountType | string | 是 | 交易目标账户类型 |
destinationAddress | string | 否 | 当 destinationAccountType 为 ONE_TIME_ADDRESS 时,必须传入 |
memo | string | 否 | 交易目标地址 memo,也可称为 Comment 或 tag,最长 100 个字符。仅当交易属于以下网络时,memo 参数有效: |
isRbf | boolean | 否 | btc 是否开启 rbf(全称 Replace-by-fee,是比特币内存池中的一种协议,允许使用其他交易将未确认交易进行替换的方式) |
failOnContract | boolean | 否 | 默认【true】,该参数决定了在目标地址为合约地址时是否可以成功发起交易。 若选择了【false】,则目标地址为合约时可以成功发起交易, 若选择了【true】,则目标地址为合约时,交易将会发送失败 |
nonce | int64 | 否 | 自定义 nonce (在区块链技术中, nonce 是交易计数器,用于避免区块链网络中的双花和重放攻击) |
sequenceNumber | int64 | 否 | Aptos 自定义 sequenceNumber,类似于 EVM 的 nonce |
balanceVerifyType | string | 否 | 余额检查类型,默认 BALANCE_CHECK |
utxoSelectionType | string | 否 | 选择 UTXO 类型,默认 DEFAULT |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"txKey": "tx46461daa9b7a4612abce99e7ce598844",
"customerRefId": "customerRefIdExample",
"idempotentRequest": false
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
txKey | string | 交易 Key |
customerRefId | string | 创建交易时,传入的商户业务唯一 ID 标识 |
idempotentRequest | bool | 当 idempotentRequest 为 true 时,表示由于使用重复的 customerRefId,系统未创建新交易,并返回此前相同的 txKey,以避免重复创建 |
创建 UTXO 批量交易
对于原生支持多个 OUTPUT 的 UTXO 币种,此接口支持一笔交易同时向多个目标地址转账。(如需使用 Co-Signer 请使用 1.5.9 及以上版本)
HTTP 请求地址
POST /v1/transactions/utxo/multidest/create
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"customerRefId": "customerRefIdExample",
"customerExt1": "customerExt1Example",
"customerExt2": "customerExt2Example",
"note": "noteExample",
"coinKey": "BTC_TESTNET",
"txFeeLevel": "HIGH",
"sourceAccountKey": "accounta247ca82828a4f93948282106135d109",
"sourceAccountType": "VAULT_ACCOUNT",
"destinationAddressList": [
{
"address": "tb1q4heth3mzkhz7v6zsz9l9t7aqcmgly96l3hep7d",
"amount": "0.0001"
},
{
"address": "tb1qrjrg92y7x0zc4h6e4xxg66r36jl22x84w3s3a0",
"amount": "0.0001"
}
]
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
customerRefId | string | 是 | 商户业务唯一 ID 标识,最长 100 |
customerExt1 | string | 否 | 商户扩展字段,商户自定义,该字段会透传给商户,最长 255 |
customerExt2 | string | 否 | 商户扩展字段,商户自定义,该字段会透传给商户,最长 255 |
note | string | 否 | 交易备注,最长 180 |
coinKey | string | 是 | 币种 Key(仅支持 UTXO 类型币种,如:Bitcoin,Bitcoin cash,Dash) |
txFeeLevel | string | 否 | 交易手续费费率等级 与交易手续费费率二选一,如果设置了交易手续费费率,优先使用设置的费率 |
feeRateDto | object | 否 | 交易手续费费率,txFeeLevel 和 feeRateDto 二选一 |
└─feeRate | string | 否 | 费率:UTXO 的 feePerByte |
maxTxFeeRate | string | 否 | 设置交易手续费费率等级估算允许的最大手续费费率 |
sourceAccountKey | string | 是 | 交易源账户 Key |
sourceAccountType | string | 是 | 账户类型 |
destinationAddressList | array | 是 | 交易目标地址列表 |
└─address | string | 是 | 交易目标地址 |
└─amount | string | 是 | 交易金额 |
destinationTag | string | 否 | 交易目标 Tag |
isRbf | boolean | 否 | btc 是否开启 rbf(全称 Replace-by-fee,是比特币内存池中的一种协议,允许使用其他交易将未确认交易进行替换的方式) |
utxoSelectionType | string | 否 | 选择 UTXO 类型,默认 DEFAULT |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"txKey": "tx46461daa9b7a4612abce99e7ce598844"
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
txKey | string | 交易 Key |
交易加速
对因手续费偏低造成广播后长时间不上链的交易进行加速,支持加速的链如下:
- EVM 类:如 ETH, ETC, BSC, MATIC, ......
- UTXO 类:Bitcoin 支持 RBF 及 CPFP 加速,其它 UTXO 类型链支持 CPFP 加速。
- FileCoin
- Aptos
HTTP 请求地址
POST /v2/transactions/recreate
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"txKey": "tx46461daa9b7a4612abce99e7ce598844",
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"txHash": "0x7c45560e4aed51cbb45e477214c106203df3210e50740d2dad94ea7da41af803",
"txFeeLevel": "HIGH"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
txKey | string | 是 | 交易 Key |
txHash | string | 是 | 交易 Hash |
coinKey | string | 是 | 币种 Key |
txFeeLevel | string | 否 | 交易手续费费率等级 与交易手续费费率二选一,如果设置了交易手续费费率,优先使用设置的费率 |
feeRateDto | object | 否 | 交易手续费费率,txFeeLevel 和 feeRateDto 二选一 |
└─feeRate | string | 否 | 费率:UTXO 的 feePerByte; EVM 类的 gasPrice |
└─gasLimit | string | 否 | EVM 类的 gasLimit |
└─maxPriorityFee | string | 否 | EIP-1559 的 maxPriorityFee |
└─maxFee | string | 否 | EIP-1559 的 maxFee |
└─gasPremium | string | 否 | FileCoin 的矿工小费费率,类似于 EIP-1559 的 maxPriorityFee |
└─gasFeeCap | string | 否 | FileCoin 的最高手续费费率,类似于 EIP-1559 的 maxFee |
└─gasUnitPrice | string | 否 | Aptos 的交易发送方愿意支付的 gas 价格,类似于 EVM 的 gasPrice |
└─maxGasAmount | string | 否 | Aptos 的交易发送方愿意为执行交易而花费的最大 gas 单位数,类似于 EVM 的 gasLimit |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"txKey": "tx46461daa9b7a4612abce99e7ce598844"
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
txKey | string | 交易 Key |
查询单笔交易
查询单笔交易,customerRefId与 txKey 参数二选一必填,如果两个都有值,将按照 txKey 查询。
HTTP 请求地址
POST /v1/transactions/one
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"txKey": "tx46461daa9b7a4612abce99e7ce598844",
"customerRefId": "customerRefIdExample"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
txKey | string | 否 | 交易 Key |
customerRefId | string | 否 | 商户业务唯一 ID 标识,最长 100 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"txKey": "tx46461daa9b7a4612abce99e7ce598844",
"txHash": "0xf7292ea446b573bab7311921e2489fb29d26ec393f2d6c8e280a7157f635234",
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"txAmount": "0.001",
"sourceAccountKey": "account4b8d2c00520646c8862b68420aa1234234",
"sourceAccountType": "VAULT_ACCOUNT",
"sourceAddress": "0xCa104eA8CB4722e33a3E68eD4D12d3569594FBC5",
"isSourcePhishing": false,
"sourceAddressList": [
{
"address": "tb1q4heth3mzkhz7v6zsz9l9t7aqcmgly96l3hep7d",
"isSourcePhishing": false,
"addressGroupKey": "addressffb9910f1f324f06a45ef055748fdf43"
}
],
"destinationAccountKey": "6553009588f443b1970a5962590a2158",
"destinationAccountType": "WHITELISTING_ACCOUNT",
"destinationAddress": "0xCa104eA8CB4722e33a3E68eD4D12d3569594F234234",
"isDestinationPhishing": false,
"memo": "memoExample",
"destinationAddressList": [
{
"address": "tb1q4heth3mzkhz7v6zsz9l9t7aqcmgly96l3hep7d",
"isDestinationPhishing": false,
"memo": "memoExample",
"addressGroupKey": "addressffb9910f1f324f06a45ef055748fdf43",
"amount": "0.0001"
},
{
"address": "tb1qrjrg92y7x0zc4h6e4xxg66r36jl22x84w3s3a0",
"isDestinationPhishing": false,
"memo": "memoExample",
"amount": "0.0001"
}
],
"transactionStatus": "COMPLETED",
"transactionSubStatus": "CONFIRMED",
"createTime": 1626075236000,
"note": "Initiate transaction",
"auditUserKey": "a1ef6672-c231-43cc-b174-ff30d392e723",
"createdByUserKey": "a1ef6672-c231-43cc-b174-ff30d392e723",
"txFee": "0.000106841386050000",
"feeCoinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"replaceTxHash": "",
"customerRefId": "a1ef6672-c231-43cc-b174-ff30d392e723",
"customerExt1": "1",
"customerExt2": "2",
"blockHeight": 10000000,
"completedTime": 1626075236000,
"realDestinationAccountType": "VAULT_ACCOUNT",
"transactionSubStatusDesc": "Confirmed",
"txAmountToUsd": "19.9813552",
"sourceAccountName": "wallet1",
"sourceAccountTypeName": "vault",
"destinationAccountName": "API transaction group",
"destinationAccountTypeName": "Whitelisted address",
"auditUserName": "test",
"createdByUserName": "test",
"speedUpHistory": [{
"txKey": "tx0c7f8ab51dfa4fe4a20a29689ba43cd0",
"txHash": "",
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"txAmount": "0.001",
"sourceAccountKey": "account4b8d2c00520646c8862b68420aa1234234",
"sourceAccountType": "VAULT_ACCOUNT",
"sourceAddress": "0xCa104eA8CB4722e33a3E68eD4D12d3569594FBC5",
"isSourcePhishing": false,
"sourceAddressList": [
{
"address": "tb1q4heth3mzkhz7v6zsz9l9t7aqcmgly96l3hep7d",
"isSourcePhishing": false,
"addressGroupKey": "addressffb9910f1f324f06a45ef055748fdf43"
}
],
"destinationAccountKey": "6553009588f443b1970a5962590a2158",
"destinationAccountType": "WHITELISTING_ACCOUNT",
"destinationAddress": "0xCa104eA8CB4722e33a3E68eD4D12d3569594F234234",
"isDestinationPhishing": false,
"memo": "memoExample",
"destinationAddressList": [
{
"address": "tb1q4heth3mzkhz7v6zsz9l9t7aqcmgly96l3hep7d",
"isDestinationPhishing": false,
"memo": "memoExample",
"addressGroupKey": "addressffb9910f1f324f06a45ef055748fdf43",
"amount": "0.0001"
},
{
"address": "tb1qrjrg92y7x0zc4h6e4xxg66r36jl22x84w3s3a0",
"isDestinationPhishing": false,
"memo": "memoExample",
"amount": "0.0001"
}
],
"transactionType": "NORMAL",
"transactionStatus": "FAILED",
"transactionSubStatus": "THE_DEAL_WAS_ABANDONED",
"createTime": 1626075236000,
"note": "Initiate transaction",
"auditUserKey": "a1ef6672-c231-43cc-b174-ff30d392e723",
"createdByUserKey": "a1ef6672-c231-43cc-b174-ff30d392e723",
"txFee": "0.000106841386050000",
"feeCoinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"replaceTxHash": "0xf7292ea446b573bab7311921e2489fb29d26ec393f2d6c8e280a7157f635234",
"customerRefId": "a1ef6672-c231-43cc-b174-ff30d392e722",
"customerExt1": "1",
"customerExt2": "2",
"amlLock": "NO",
"blockHeight": 10000000,
"completedTime": 1626075236000,
"realDestinationAccountType": "VAULT_ACCOUNT",
"transactionSubStatusDesc": "Confirmed",
"txAmountToUsd": "19.9813552",
"sourceAccountName": "wallet1",
"sourceAccountTypeName": "vault",
"destinationAccountName": "API transaction group",
"destinationAccountTypeName": "Whitelisted address",
"auditUserName": "test",
"createdByUserName": "test",
"transactionDirection": "INTERNAL_TRANSFER"
}]
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
txKey | string | 交易 Key |
txHash | string | 交易 Hash |
coinKey | string | 币种 Key |
txAmount | string | 交易金额,单位为币种列表返回的 symbol |
sourceAccountKey | string | 交易源账户 Key |
sourceAccountType | string | 交易源账户类型 |
sourceAddress | string | 交易源地址(如果交易币种为 UTXO 类型请使用 sourceAddressList 字段) |
isSourcePhishing | bool | 交易源地址有疑似钓鱼地址的风险,仅 EVM 类公链和 TRON 公链且方向为流入的交易有效 |
sourceAddressList | array | 交易源地址列表 |
└─address | string | 交易源地址 |
└─isSourcePhishing | bool | 交易源地址有疑似钓鱼地址的风险,仅 EVM 类公链和 TRON 公链且方向为流入的交易有效 |
└─addressGroupKey | string | 交易源地址所属地址组,仅当交易源账户类型为 VAULT_ACCOUNT 时,此字段有值 |
destinationAccountKey | string | 交易目标账户 Key |
destinationAccountType | string | 交易目标账户类型 |
destinationAddress | string | 交易目标地址(如果交易币种为 UTXO 类型请使用 destinationAddressList 字段) |
isDestinationPhishing | bool | 交易目标地址有疑似钓鱼地址的风险,仅 EVM 类公链和 TRON 公链且方向为流出的交易有效 |
memo | string | 创建交易时,设置的目标地址 memo |
destinationAddressList | array | 交易目标地址列表 |
└─address | string | 交易目标地址 |
└─isDestinationPhishing | bool | 交易目标地址有疑似钓鱼地址的风险,仅 EVM 类公链和 TRON 公链且方向为流出的交易有效 |
└─memo | string | 创建交易时,设置的目标地址 memo |
└─addressGroupKey | string | 交易目标地址所属地址组,仅当交易目标账户类型为 VAULT_ACCOUNT 时,此字段有值 |
└─amount | string | 交易金额 |
transactionType | string | 交易子类型 |
transactionStatus | string | 交易状态 |
transactionSubStatus | string | 交易子状态 |
createTime | int64 | 交易创建时间,UNIX 时间戳毫秒数 |
note | string | 创建交易时,设置的平台交易备注 |
auditUserKey | string | 最后审核人 Key |
createdByUserKey | string | 创建人 Key |
txFee | string | 交易手续费 |
feeCoinKey | string | 转账所消耗的手续费币种 Key ,例如 ERC20 币种转账,所消耗的手续费币种是 ETH |
replaceTxHash | string | 引用的交易 Hash,只有加速的交易存在该值 |
customerRefId | string | 商户业务唯一 ID 标识 |
customerExt1 | string | 商户扩展字段 |
customerExt2 | string | 商户扩展字段 |
amlLock | string | 交易源地址是否包含 AML 地址 YES:包含 NO:不包含 |
blockHeight | int64 | 交易块高度,交易状态为确认中和交易成功时有值 |
completedTime | int64 | 交易完成时间 |
realDestinationAccountType | string | 实际交易目标账户类型 |
transactionSubStatusDesc | string | 交易子状态描述 |
txAmountToUsd | string | 交易时 USD 汇率换算金额 |
sourceAccountName | string | 交易源账户名称 |
sourceAccountTypeName | string | 交易源账户类型名称 |
destinationAccountName | string | 交易目标账户名称 |
destinationAccountTypeName | string | 交易目标账户类型名称 |
auditUserName | string | 最后审核人名称 |
createdByUserName | string | 创建人名称 |
speedUpHistory | array | 因交易加速产生的交易记录,仅在当前交易被加速后有值 |
transactionDirection | string | 交易方向 |
查询交易审批详情
查询交易的审批进度详情,仅支持查询采用新版高级策略审批的交易审批进度。 了解新版高级策略
HTTP 请求地址
POST /v1/transactions/approvalDetail
请求示例
{
"apiKey":"94d96119****************6eb2056a",
"timestamp":1690361332392,
"key":"OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig":"aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"txKeyList": ["tx46461daa9b7a4612abce99e7ce598844"]
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
txKeyList | array | 是 | 交易 Key 列表,最多 20 个 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"approvalDetailList": [
{
"txKey": "tx2f1783b39f3542f2a48d6fe44a84a8fe",
"approvalStatus": "APPROVED",
"policyName": "policyName",
"approvalProgress": {
"recipientApproval": {
"connectId": "m28tivhl9srx",
"name": "connectName",
"approvalStatus": "APPROVED"
},
"teamApproval": [
{
"type": "SINGLE",
"limitBy": "AMOUNT",
"range": [
0,
-1
],
"timePeriod": null,
"approvalNodes": [
{
"threshold": 1,
"name": "adminName",
"approvalStatus": "APPROVED",
"members": [
{
"auditUserKey": "7eb7b**********443d0",
"auditUserName": "auditUserName",
"isCoSigner": false,
"approvalStatus": "APPROVED"
}
]
}
]
}
]
}
}
]
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
approvalDetailList | array | 交易审批详情列表,不包括以下情况的交易: |
└─txKey | string | 交易 Key |
└─approvalStatus | string | 交易的审批状态: |
└─policyName | string | 交易命中的策略名称 |
└─approvalProgress | object | 审批进度详情 |
└─recipientApproval | object | 收款方审批进度详情,仅当收款地址为 Connect,且对方设置了收款审批时,此字段有值(交易的审批状态为 BLOCKED_BY_POLICY 时除外) |
└─connectId | string | Connect 收款方 Connect ID |
└─name | string | Connect 收款方名片名称 |
└─approvalStatus | string | Connect 收款方审批状态: |
└─teamApproval | array | 团队审批进度。Connect 收款方审批(如有)完成后进入团队审批 |
└─type | string | |
└─limitBy | string | |
└─range | array | limitBy 限制范围,格式为:[min, max],含义为:min <= limitBy < max,max 为 -1 代表无最大值限制 |
└─timePeriod | int64 | limitBy 限额时间周期,单位:小时,仅当 type 为 CUMULATIVE 时,此字段有值 |
└─approvalNodes | array | 审批节点。若交易被策略阻断,即交易的审批状态为 BLOCKED_BY_POLICY,则无审批节点 |
└─threshold | int64 | 节点审批门限 |
└─name | string | 审批节点名称 |
└─approvalStatus | string | 当前审批节点的审批状态: 1. 当前审批节点中有成员审批取消; 2. 审批流中的前置审批节点审批取消或拒绝,导致所有后置审批节点自动变为审批取消; 3. Connect 收款方(如有)审批取消或拒绝,导致所有团队审批节点自动变为审批取消 4. 在审批完成之前,如提前取消交易,则所有审批中的节点将自动变为审批取消 |
└─members | array | 审批成员 |
└─auditUserKey | string | 审批人唯一标识 |
└─auditUserName | string | 审批人名称 |
└─isCoSigner | bool | 审批人是否是 API Co-Signer |
└─approvalStatus | string | 当前审批人的审批状态: |
交易手续费费率估算
发起交易或者加速交易时,可以通过该接口获取对应币种手续费费率估算允许范围,便于选择合适的费率值进行交易。
HTTP 请求地址
POST /v2/transactions/getFeeRate
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"txHash": "0x7c45560e4aed51cbb45e477214c106203df3210e50740d2dad94ea7da41af803",
"sourceAccountKey": "account08a2369f59214b1e9099dc6346f694ca",
"sourceAddress": "0xC3A6b8dd08D3741819fAdBa4c5780b9524f510D5",
"destinationAddress": "0xC3A6b8dd08D3741819fAdBa4c5780b9524f510D4",
"memo": "memoExample",
"destinationAddressList": [
{
"address": "tb1q4heth3mzkhz7v6zsz9l9t7aqcmgly96l3hep7d",
"amount": "0.0001"
},
{
"address": "tb1qrjrg92y7x0zc4h6e4xxg66r36jl22x84w3s3a0",
"amount": "0.0001"
}
],
"value": "10"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
coinKey | string | 是 | 币种 Key |
txHash | string | 否 | 交易 Hash,加速交易估算时传递原交易的 Hash 值 |
sourceAccountKey | string | 否 | 交易源账户 Key,UTXO 币种请提供此参数 |
sourceAddress | string | 否 | 交易源地址,当为 TRON、Solana、TON 预估手续费时,必填;当为 EVM 时动态获取链上 gasLimit 时必填,否则 gasLimit 返回默认固定值;当为 Aptos 时动态获取链上 maxGasAmount 时必填,否则 maxGasAmount 返回默认固定值 |
destinationAddress | string | 否 | 交易目标地址,当为 Solana 或 TON 预估手续费时,必填;当 TRON 或 FIL 预估手续费时,可传(非必传,传了则计算预估手续费会更精确);当为 EVM 时动态获取链上 gasLimit 时必填,否则 gasLimit 返回默认固定值;当为 Aptos 时动态获取链上 maxGasAmount 时必填,否则 maxGasAmount 返回默认固定值 |
memo | string | 否 | 交易目标地址 memo,也可称为 Comment 或 tag,最长 100 个字符。仅当交易属于以下网络时,memo 参数有效: |
destinationAddressList | array | 否 | 交易目标地址列表(仅当交易币种为 UTXO 类型,且一笔交易向多个地址转账时,请使该字段) |
└─address | string | 否 | 交易目标地址 |
└─amount | string | 否 | 交易金额 |
value | string | 否 | 传入转账金额,估算的手续费将更加准确 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"feeUnit": "Gwei",
"minFeeRate": {
"baseFee": "0.000049522",
"fee": "0.000034392259671",
"feeRate": "1.000049522",
"gasLimit": "22000",
"maxFee": "1.000049522",
"bytesSize": "1",
"gasPremium": "1",
"gasFeeCap": "1",
"gasBudget": "1500",
"gasUnitPrice": "1",
"maxGasAmount": "1500"
},
"lowFeeRate": {
"baseFee": "0.000049522",
"fee": "0.000034392259671",
"feeRate": "1.100049522",
"gasLimit": "22000",
"maxFee": "1.100055713",
"maxPriorityFee": "1.1",
"bytesSize": "1",
"gasPremium": "1",
"gasFeeCap": "1",
"gasBudget": "1500",
"gasUnitPrice": "1",
"maxGasAmount": "1500"
},
"middleFeeRate": {
"baseFee": "0.000049522",
"fee": "0.000037180104885",
"feeRate": "1.500049522",
"gasLimit": "22000",
"maxFee": "1.500079325",
"maxPriorityFee": "1.5",
"bytesSize": "1",
"gasPremium": "1",
"gasFeeCap": "1",
"gasBudget": "1500",
"gasUnitPrice": "1",
"maxGasAmount": "1500"
},
"highFeeRate": {
"baseFee": "0.000049522",
"fee": "1.887726651",
"feeRate": "2.000049522",
"gasLimit": "22000",
"maxFee": "2.000112945",
"maxPriorityFee": "2",
"bytesSize": "1",
"gasPremium": "1",
"gasFeeCap": "1",
"gasBudget": "1500",
"gasUnitPrice": "1",
"maxGasAmount": "1500"
}
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
feeUnit | string | 费率单位 |
minFeeRate | object | 最小费率 |
lowFeeRate | object | 普通费率 |
middleFeeRate | object | 快速费率 |
highFeeRate | object | 极速费率 |
└─feeRate | string | 费率,UTXO 的 feePerByte,EVM 类的 gasPrice,TRON 的 feeLimit (费率上限),以及 SUI 的 gasPrice |
└─fee | string | 预估手续费 |
└─gasLimit | string | EVM 类的 gasLimit |
└─baseFee | string | EIP-1559 的 baseFee |
└─maxPriorityFee | string | EIP-1559 的 maxPriorityFee |
└─maxFee | string | EIP-1559 的 maxFee,不同于 API 的 maxTxFeeRate |
└─bytesSize | string | UTXO 字节数,不包含小于 1000 聪的 UTXO |
└─gasPremium | string | FileCoin 的矿工小费费率,类似于 EIP-1559 的 maxPriorityFee |
└─gasFeeCap | string | FileCoin 的最高手续费费率,类似于 EIP-1559 的 maxFee |
└─gasBudget | string | SUI 的 gasBudget |
└─gasUnitPrice | string | Aptos 的交易发送方愿意支付的 gas 价格,类似于 EVM 的 gasPrice |
└─maxGasAmount | string | Aptos 的交易发送方愿意为执行交易而花费的最大 gas 单位数,类似于 EVM 的 gasLimit |
取消交易
待授权和签名中的交易可以发起取消。
HTTP 请求地址
POST /v1/transactions/cancel
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"txKey": "tx46461daa9b7a4612abce99e7ce598844",
"txType": "TRANSACTION"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
txKey | string | 是 | 交易 Key |
txType | string | 否 | 交易类型,默认 TRANSACTION |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"result": true
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
result | boolean | 执行结果 true:执行成功 false:执行失败 |
UTXO 币种归集
对于钱包账户下UTXO 类型多地址币种,可以通过该接口将符合条件的一些地址余额归集到指定的地址中。
HTTP 请求地址
POST /v1/transactions/utxo/collection
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"customerRefId": "customerRefIdExample",
"customerExt1": "customerExt1Example",
"customerExt2": "customerExt2Example",
"note": "noteExample",
"coinKey": "DASH_TESTNET",
"txFeeLevel": "HIGH",
"minCollectionAmount": "0.1",
"sourceAccountType": "VAULT_ACCOUNT",
"sourceAccountKey": "account6e63dacbf80243118e425ce5363b31a3",
"destinationAccountType": "VAULT_ACCOUNT",
"destinationAccountKey": "accountdd4a4bcefaa849fc8b847c8af74baf73"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
customerRefId | string | 是 | 商户业务唯一 ID 标识,最长 100 |
customerExt1 | string | 否 | 商户扩展字段,商户自定义,该字段会透传给商户,最长 255 |
customerExt2 | string | 否 | 商户扩展字段,商户自定义,该字段会透传给商户,最长 255 |
note | string | 否 | 交易备注,最长 180 |
coinKey | string | 是 | 币种 Key |
txFeeRate | string | 否 | 交易手续费费率,单位为币种列表返回的 feeUnit |
txFeeLevel | string | 否 | 交易手续费费率等级 与交易手续费费率二选一,如果设置了交易手续费费率,优先使用设置的费率 |
maxTxFeeRate | string | 否 | 设置交易手续费费率等级估算允许的最大手续费费率 |
minCollectionAmount | string | 否 | 最小归集金额 |
sourceAccountKey | string | 是 | 交易源钱包账户 Key |
sourceAccountType | string | 是 | 账户类型,传值 VAULT_ACCOUNT |
destinationAccountKey | string | 是 | 交易目标钱包账户 Key |
destinationAccountType | string | 是 | 交易目标账户类型,传值 VAULT_ACCOUNT |
destinationAddress | string | 否 | 交易目标地址 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"txKey": "tx46461daa9b7a4612abce99e7ce598844",
"collectionAmount": "1",
"collectionNum": 10
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
txKey | string | 交易 Key |
collectionAmount | string | 归集金额,单位为币种列表返回的 symbol |
collectionNum | int32 | 归集数量 |
Web3 API
Web3 API 介绍
Safeheron 面向机构级客户,为 DeFi、NFT 等 Web3 应用场景,引入了通用多签审批的安全治理。您可以通过 API 发起 Web3 交易,轻松链接任意 DeFi、NFT 等 Web3 应用,自动化您的 Web3 业务。
支持以下的 API:
- eth_sign
- personal_sign
- eth_signTypedData
- eth_signTransaction
创建 Web3 钱包账户
创建一个新的 Web3 钱包账户。
HTTP 请求地址
POST /v1/web3/account/create
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent":{
"customerRefId": "customerRefIdExample",
"accountName": "accountNameExample",
"hiddenOnUI": true
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
customerRefId | string | 否 | 商户业务唯一 ID 标识,最长 100 customerRefId 唯一代表商户的一个钱包,在 customerRefId 值重复的情况下(比如:请求超时或其他错误情况下再次提交),接口返回数据始终保持一致 |
accountName | string | 否 | 账户名称,最长 50 |
hiddenOnUI | boolean | 否 | 是否在 App 及 Web 控制台隐藏 false:展示,false 为缺省值 true:隐藏,隐藏的钱包仅可通过 API 接口进行管理和使用,如查询、发起 Web3 签名时把钱包作为签名源账户。 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"accountName": "wallet 11",
"accountKey": "account2024152bd65d4eaa85a26e57497562c1",
"hiddenOnUI": false,
"pubkeyList": [
{
"signAlg": "secp256k1",
"pubkey": "02c165c9a481f6a12eabe0d417ca6e7d04e762c5786afdf55c8c5716a1214b8cbf" }
],
"addressList": [
{
"blockchainType": "EVM",
"derivePath": "m/44/666/0/0/0",
"address": "0x111111111111111111111111111"
}
]
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
accountKey | string | 账户 Key ,账户唯一标识 |
accountName | string | 账户名称 |
hiddenOnUI | boolean | 钱包在 App 及 Web 控制台中是否隐藏 true: 隐藏 false: 展示 |
pubKeyList | array | 账户公钥信息 |
└─signAlg | string | 签名算法,目前支持 secp256k1 |
└─pubKey | string | 账户压缩公钥 |
addressList | array | 地址列表 |
└─blockchainType | string | 区块链类型 |
└─derivePath | string | 钱包地址 BIP44 派生路径 |
└─address | string | 币种收款地址 |
批量创建 Web3 钱包账户
根据指定数量创建一批钱包账户,批量创建的 Web3 钱包账户,Safeheron App 默认不展示。
HTTP 请求地址
POST /v1/web3/batch/account/create
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent":{
"accountName": "accountNameExample",
"count": 10
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
accountName | string | 否 | 钱包账户名称前缀,最长 50 |
hiddenOnUI | boolean | 否 | 是否在 App 及 Web 控制台隐藏 false:展示,false 为缺省值 true:隐藏,隐藏的钱包仅可通过 API 接口进行管理和使用,如查询、发起 Web3 签名时把钱包作为签名源账户。 |
count | int32 | 是 | 创建数量,大于 0,最大 100 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": [
{
"accountKey": "account2024152bd65d4eaa85a26e57497562c1",
"pubkeyList": [
{
"signAlg": "secp256k1",
"pubkey": "02c165c9a481f6a12eabe0d417ca6e7d04e762c5786afdf55c8c5716a1214b8cbf" }
],
"addressList": [
{
"blockchainType": "EVM",
"derivePath": "m/44/666/0/0/0",
"address": "0x111111111111111111111111111"
}
]
}
]
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
accountKey | string | 账户 Key ,账户唯一标识 |
pubKeyList | array | 账户公钥信息 |
└─signAlg | string | 签名算法,目前支持 secp256k1 |
└─pubKey | string | 账户压缩公钥 |
addressList | array | 地址列表 |
└─blockchainType | string | 区块链类型 |
└─derivePath | string | 钱包地址 BIP44 派生路径 |
└─address | string | 币种收款地址 |
获取 Web3 钱包账户列表
根据不同条件组合,筛选团队下 Web3 钱包账户列表。
HTTP 请求地址
POST /v1/web3/account/list
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent":{
"direct": "NEXT",
"limit": 100,
"fromId": "account2024152bd65d4eaa85a26e57497562c1",
"customerRefId": "customerRefIdExample",
"namePrefix": "namePrefixExample",
"hiddenOnUI": false,
"archived": false
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
direct | string | 否 | 分页查询方向,默认 NEXT |
limit | int32 | 否 | 一次查询多少条,默认最大值 500 |
fromId | string | 否 | 起始钱包的 accountKey |
customerRefId | string | 否 | 商户业务唯一 ID 标识,最长 100 |
namePrefix | string | 否 | 筛选钱包账户名称前缀匹配的结果 |
hiddenOnUI | boolean | 否 | 根据 hiddenOnUI 设置筛选钱包账户 缺省:查询所有钱包账户 true:查询 hiddenOnUI 设置为 true 的钱包账户 false:查询 hiddenOnUI 设置为 false 的钱包账户 |
archived | boolean | 否 | 根据 archived 设置筛选钱包: 缺省:查询所有钱包 true:查询在 Web 控制台中已经归档的钱包 false:查询未在 Web 控制台归档的钱包 archived 说明:可以在 Web 控制台将钱包设置为归档,归档的钱包将不在 App 与 Web 控制台的钱包列表中展示,您可以在 Web 控制台【已归档的钱包】中查看归档的钱包。 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": [
{
"accountName": "wallet 11",
"accountKey": "account2024152bd65d4eaa85a26e57497562c1",
"customerRefId": "customerRefIdExample",
"hiddenOnUI": false,
"archived": false,
"pubkeyList": [
{
"signAlg": "secp256k1",
"pubkey": "02226320f7571a5b1f2d56f3f1d1b6c4efce9a1a882f8f42bfc37bc7d1f3848cc2"
}
],
"addressList": [
{
"blockchainType": "EVM",
"derivePath": "m/44/666/0/0/0",
"address": "0x111111111111111111111111111"
}
]
}
]
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
accountKey | string | 账户 Key ,账户唯一标识 |
customerRefId | string | 商户业务唯一 ID 标识 |
accountName | string | 账户名称 |
hiddenOnUI | boolean | 钱包在 App 及 Web 控制台中是否隐藏 true: 隐藏 false: 展示 |
archived | boolean | 钱包在 Web 控制台中是否设置为归档 true: 已归档 false: 未归档 |
pubKeyList | array | 账户公钥信息 |
└─signAlg | string | 签名算法,目前支持 secp256k1 |
└─pubKey | string | 账户压缩公钥 |
addressList | array | 地址列表 |
└─blockchainType | string | 区块链类型 |
└─derivePath | string | 钱包地址 BIP44 派生路径 |
└─address | string | 币种收款地址 |
创建 ethSign 签名
商户可以通过此接口发起 ethSign 签名。商户侧需要自主完成交易数据的序列化并生成交易数据的 hash (同时支持 0x 和非 0x 开头的数据格式),通过此接口提交 hash 创建签名,签名结果可以通过查询单笔 Web3 签名接口或者 webhook 获取,获取签名后续过程商户根据自身需要自主完成。
HTTP 请求地址
POST /v1/web3/sign/ethSign
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent":{
"accountKey": "account099d3534391040c491a93bfbc9914662",
"customerRefId": "customerRefIdExample",
"note": "noteExample",
"customerExt1": "customerExt1Example",
"customerExt2": "customerExt2Example",
"useCustomNetwork": false,
"messageHash": {
"chainId": 1,
"hash": ["hashString"]
}
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
accountKey | string | 是 | 交易源账户 Key |
customerRefId | string | 是 | 商户业务唯一 ID 标识,最长 100 customerRefId 唯一代表商户的一笔交易,当商户对同一笔交易多次提交,即在 customerRefId 值重复的情况下(比如:请求超时或其他错误情况下再次提交),接口返回 9001 错误码和与之前一致的 txKey,你可以使用查询单笔交易接口查询确认交易详情 |
note | string | 否 | 备注 |
customerExt1 | string | 否 | 商户扩展字段,商户自定义,该字段会透传给商户,最长 255 |
customerExt2 | string | 否 | 商户扩展字段,商户自定义,该字段会透传给商户,最长 255 |
useCustomNetwork | boolean | 否 | 是否使用自定义网络 false:缺省值,默认使用 Safeheron 支持的网络 true:使用自定义网络,可以在 Safeheron Browser Extension 中添加的自定义网络 |
messageHash | object | 是 | messageHash |
└─chainId | int64 | 是 | 链ID (chainId 不参与签名,只有 hash 参与签名) |
└─hash | array | 是 | 待签名 Hash ,16 进制字符串 (暂只支持传入1个) |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent":
{
"txKey": "tx7dacce99c5f249b6bf486214596a5458"
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
txKey | string | 交易 Key |
创建 personalSign 签名
商户可以通过此接口发起任意文本的 personalSign 签名。商户侧只需要准备好待签名数据,通过此接口提交待签名数据创建签名,签名结果可以通过查询单笔 Web3 签名接口或者 webhook 获取,获取签名后续过程商户根据自身需要自主完成。
HTTP 请求地址
POST /v1/web3/sign/personalSign
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent":{
"accountKey": "account099d3534391040c491a93bfbc9914662",
"customerRefId": "customerRefIdExample",
"note": "noteExample",
"customerExt1": "customerExt1Example",
"customerExt2": "customerExt2Example",
"useCustomNetwork": false,
"message": {
"chainId": 1,
"data": "d061e9c5891f579fd548cfd22ff29f5c642714cc7e7a9215f0071ef5a5723f69"
}
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
accountKey | string | 是 | 交易源账户 Key |
customerRefId | string | 是 | 商户业务唯一 ID 标识,最长 100 customerRefId 唯一代表商户的一笔交易,当商户对同一笔交易多次提交,即在 customerRefId 值重复的情况下(比如:请求超时或其他错误情况下再次提交),接口返回 9001 错误码和与之前一致的 txKey,你可以使用查询单笔交易接口查询确认交易详情 |
note | string | 否 | 备注 |
customerExt1 | string | 否 | 商户扩展字段,商户自定义,该字段会透传给商户,最长 255 |
customerExt2 | string | 否 | 商户扩展字段,商户自定义,该字段会透传给商户,最长 255 |
useCustomNetwork | boolean | 否 | 是否使用自定义网络 false:缺省值,默认使用 Safeheron 支持的网络 true:使用自定义网络,可以在 Safeheron Browser Extension 中添加的自定义网络 |
message | object | 是 | message |
└─chainId | int64 | 是 | 链ID (chainId 不参与签名,只有 data 参与签名) |
└─data | string | 是 | 待签名数据 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent":
{
"txKey": "tx7dacce99c5f249b6bf486214596a5458"
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
txKey | string | 交易 Key |
创建 ethSignTypedData 签名
商户可以通过此接口发起特定格式数据 (支持 v1,v3 和 v4 类型的数据格式) 的 ethSignTypedData 签名。商户侧需要自主完成签名数据的格式封装,通过此接口提交特定格式的待签名数据创建签名,签名结果可以通过查询单笔 Web3 签名接口或者 webhook 获取,获取签名后续过程商户根据自身需要自主完成。
HTTP 请求地址
POST /v1/web3/sign/ethSignTypedData
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent":{
"accountKey": "accountee096876e25f440b836bbcd745987eae",
"customerRefId": "customerRefIdExample",
"note": "noteExample",
"customerExt1": "customerExt1Example",
"customerExt2": "customerExt2Example",
"useCustomNetwork": false,
"message": {
"chainId": 1,
"data": "{\"types\":{\"EIP712Domain\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"version\",\"type\":\"string\"},{\"name\":\"chainId\",\"type\":\"uint256\"},{\"name\":\"verifyingContract\",\"type\":\"address\"}],\"Person\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"wallet\",\"type\":\"address\"}],\"Mail\":[{\"name\":\"from\",\"type\":\"Person\"},{\"name\":\"to\",\"type\":\"Person\"},{\"name\":\"contents\",\"type\":\"string\"}]},\"primaryType\":\"Mail\",\"domain\":{\"name\":\"Ether Mail\",\"version\":\"1\",\"chainId\":1,\"verifyingContract\":\"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC\"},\"message\":{\"from\":{\"name\":\"Cow\",\"wallet\":\"0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826\"},\"to\":{\"name\":\"Bob\",\"wallet\":\"0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB\"},\"contents\":\"Hello, Bob!\"}}"
"version": "ETH_SIGNTYPEDDATA_V4"
}
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
accountKey | string | 是 | 交易源账户 Key |
customerRefId | string | 是 | 商户业务唯一 ID 标识,最长 100 customerRefId 唯一代表商户的一笔交易,当商户对同一笔交易多次提交,即在 customerRefId 值重复的情况下(比如:请求超时或其他错误情况下再次提交),接口返回 9001 错误码和与之前一致的 txKey,你可以使用查询单笔交易接口查询确认交易详情 |
note | string | 否 | 备注 |
customerExt1 | string | 否 | 商户扩展字段,商户自定义,该字段会透传给商户,最长 255 |
customerExt2 | string | 否 | 商户扩展字段,商户自定义,该字段会透传给商户,最长 255 |
useCustomNetwork | boolean | 否 | 是否使用自定义网络 false:缺省值,默认使用 Safeheron 支持的网络 true:使用自定义网络,可以在 Safeheron Browser Extension 中添加的自定义网络 |
message | object | 是 | message |
└─chainId | int64 | 是 | 链ID (chainId 不参与签名,只有 data 参与签名) |
└─data | string | 是 | 待签名数据 |
└─version | string | 是 | EthSignTypedData 版本 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent":
{
"txKey": "tx7dacce99c5f249b6bf486214596a5458"
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
txKey | string | 交易 Key |
创建 ethSignTransaction 签名
商户可以通过此接口发起 ethSignTransaction 签名交易。商户侧需要准备好 from, to, nonce, gasLimit, gasPrice, value, data 等交易相关数据,通过此接口提交交易数据创建签名,签名结果可以通过查询单笔 Web3 签名接口或者 webhook 获取,获取签名后续过程商户根据自身需要自主完成。
HTTP 请求地址
POST /v1/web3/sign/ethSignTransaction
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent":{
"accountKey": "accountee096876e25f440b836bbcd745987eae",
"customerRefId": "customerRefIdExample",
"note": "noteExample",
"customerExt1": "customerExt1Example",
"customerExt2": "customerExt2Example",
"useCustomNetwork": false,
"transaction": {
"to": "0xb6f61ee3b221e956611c8f5c24baa379fd506523",
"value": 11111,
"chainId": 3,
"gasPrice": 15000000000,
"gasLimit": 21000,
"maxPriorityFeePerGas": "",
"maxFeePerGas": "",
"nonce": 2
}
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
accountKey | string | 是 | 交易源账户 Key |
customerRefId | string | 是 | 商户业务唯一 ID 标识,最长 100 customerRefId 唯一代表商户的一笔交易,当商户对同一笔交易多次提交,即在 customerRefId 值重复的情况下(比如:请求超时或其他错误情况下再次提交),接口返回 9001 错误码和与之前一致的 txKey,你可以使用查询单笔交易接口查询确认交易详情 |
note | string | 否 | 备注 |
customerExt1 | string | 否 | 商户扩展字段,商户自定义,该字段会透传给商户,最长 255 |
customerExt2 | string | 否 | 商户扩展字段,商户自定义,该字段会透传给商户,最长 255 |
useCustomNetwork | boolean | 否 | 是否使用自定义网络 false:缺省值,默认使用 Safeheron 支持的网络 true:使用自定义网络,可以在 Safeheron Browser Extension 中添加的自定义网络 |
transaction | object | 是 | transaction |
└─to | string | 否 | to |
└─value | string | 是 | value(单位: wei) |
└─chainId | int64 | 是 | 链ID |
└─gasPrice | string | 否 | gasPrice |
└─gasLimit | int32 | 是 | gasLimit |
└─maxPriorityFeePerGas | string | 否 | EIP-1559 的 maxPriorityFeePerGas |
└─maxFeePerGas | string | 否 | EIP-1559 的 maxFeePerGas |
└─nonce | int64 | 是 | nonce |
└─data | string | 否 | data |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent":
{
"txKey": "tx7dacce99c5f249b6bf486214596a5458"
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
txKey | string | 交易 Key |
取消签名
待授权的签名可以发起取消。
HTTP 请求地址
POST /v1/web3/sign/cancel
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent":{
"txKey": "tx86c4715a60cf43a186c4a41412ddd47e"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
txKey | string | 是 | 交易 Key |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"result": true
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
result | boolean | 执行结果 true:执行成功 false:执行失败 |
查询单笔 Web3 签名
查询特定的 Web3 签名,customerRefId 与 txKey 参数二选一必填,如果两个都有值,将按照 txKey 查询。
HTTP 请求地址
POST /v1/web3/sign/one
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent":{
"txKey": "tx2e4a7b9d925447fcaa398c477b2699b2"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
txKey | string | 否 | 交易 Key |
customerRefId | string | 否 | 商户业务唯一 ID 标识,最长 100 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent":
{
"txKey":null,
"accountKey":null,
"sourceAddress":null,
"transactionStatus":null,
"transactionSubStatus":null,
"createdByUserKey":null,
"createdByUserName":null,
"createTime":null,
"auditUserKey":null,
"auditUserName":null,
"customerRefId": "{{customerRefId}}",
"note": "",
"customerExt1":null,
"customerExt2":null,
"balance": "0",
"tokenBalance":null,
"symbol": "ETH",
"subjectType":null,
"tokenSymbol":null,
"transaction":{
"to": "TLFNznovqX6FRjk1bkbX47KUGQX2UAaFnY",
"value": "0",
"chainId":1,
"gasPrice": "0",
"gasLimit":0,
"maxPriorityFeePerGas": "0",
"maxFeePerGas": "0",
"nonce":2,
"data": "hexData",
"txHash":null,
"signedTransaction": "",
"sig": {
"hash": "hashString",
"sig": null
}
},
"message":{
"chainId":1,
"data": "json",
"sig": {
"hash": "hashString",
"sig": null
}
},
"messageHash":{
"chainId":1,
"sigList":[
{
"hash": "hashString",
"sig": null
}
]
}
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
txKey | string | 交易 Key |
accountKey | string | 交易源账户 Key |
sourceAddress | string | 交易源地址 |
transactionStatus | string | 交易状态 |
transactionSubStatus | string | 交易子状态 |
createdByUserKey | string | 创建人 Key |
createdByUserName | string | 创建人名称 |
createTime | int64 | 交易创建时间,UNIX 时间戳毫秒数 |
auditUserKey | string | 最后审核人 Key |
auditUserName | string | 最后审核人名称 |
customerRefId | string | 商户业务唯一 ID 标识 |
note | string | 备注 |
customerExt1 | string | 商户扩展字段 |
customerExt2 | string | 商户扩展字段 |
balance | string | 账户余额 |
tokenBalance | string | token余额 |
symbol | string | 币种单位名称 |
tokenSymbol | string | token币种单位名称 |
subjectType | string | 签名类型 |
transaction | object | 当签名类型为 ETH_SIGNTRANSACTION 时,返回此对象 |
└─to | string | to |
└─value | string | value |
└─chainId | int64 | 链ID |
└─gasPrice | string | gasPrice |
└─gasLimit | int32 | gasLimit |
└─maxPriorityFeePerGas | string | EIP-1559 的 maxPriorityFeePerGas |
└─maxFeePerGas | string | EIP-1559 的 maxFeePerGas |
└─nonce | int64 | nonce |
└─data | string | data |
└─txHash | string | 交易 Hash(签名完成的交易返回此字段) |
└─signedTransaction | string | 16进制数据(签名完成的交易返回此字段) |
└─sig | object | 待签名数据及签名结果 |
└─hash | string | 待签名数据 |
└─sig | string | 签名(签名完成的交易返回此字段;Secp256k1 算法的 sig 值由 32 bytes r + 32 bytes s + 1 byte v组成) |
message | object | 当签名类型为 PERSONAL_SIGN 或 ETH_SIGN_TYPED_DATA 时,返回此对象 |
└─chainId | int64 | 链ID |
└─data | string | data |
└─sig | object | 待签名数据及签名结果 |
└─hash | string | 待签名数据 |
└─sig | string | 签名(签名完成的交易返回此字段;Secp256k1 算法的 sig 值由 32 bytes r + 32 bytes s + 1 byte v组成) |
messageHash | object | 当签名类型为 ETH_SIGN 时,返回此对象 |
└─chainId | int64 | 链ID |
└─sigList | array | sigList |
└─hash | string | 待签名数据 |
└─sig | string | 签名(签名完成的交易返回此字段;Secp256k1 算法的 sig 值由 32 bytes r + 32 bytes s + 1 byte v组成) |
Web3 签名列表
根据不同的条件组合,筛选团队下的 Web3 签名记录。
HTTP 请求地址
POST /v1/web3/sign/list
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent":{
"fromId": "1",
"direct": "NEXT",
"limit": 100,
"subjectType": "ETH_SIGN",
"transactionStatus": ["SIGN_COMPLETED"],
"accountKey": "accountee096876e25f440b836bbcd745987eae",
"createTimeMin": 1656301641000,
"createTimeMax": 1687837641623
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
direct | string | 否 | 分页查询方向,默认 NEXT |
limit | int32 | 否 | 一次查询多少条,默认最大值 500 |
fromId | string | 否 | 起始交易记录 txKey,传入上一次结果的最后一条交易记录的 txKey ,如果第一页不传 |
subjectType | string | 否 | Web3 签名类型 |
transactionStatus | array | 否 | 交易状态 |
accountKey | string | 否 | 交易源账户 Key |
createTimeMin | int64 | 否 | 创建时间开始时间,UNIX 时间戳毫秒数(不传,默认为 createTimeMax 减去 24 小时) |
createTimeMax | int64 | 否 | 创建时间结束时间,UNIX 时间戳毫秒数(不传,默认为当前 UTC 时间) |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent":
[
{
"txKey":null,
"accountKey":null,
"sourceAddress":null,
"transactionStatus":null,
"transactionSubStatus":null,
"createdByUserKey":null,
"createdByUserName":null,
"createTime":null,
"auditUserKey":null,
"auditUserName":null,
"customerRefId": "{{customerRefId}}",
"note": "",
"customerExt1":null,
"customerExt2":null,
"balance": "0",
"tokenBalance":null,
"symbol": "ETH",
"subjectType":null,
"tokenSymbol":null,
"transaction":{
"to": "TLFNznovqX6FRjk1bkbX47KUGQX2UAaFnY",
"value": "0",
"chainId":1,
"gasPrice": "0",
"gasLimit":0,
"maxPriorityFeePerGas": "0",
"maxFeePerGas": "0",
"nonce":2,
"data": "hexData",
"txHash":null,
"signedTransaction": "",
"sig": {
"hash": "hashString",
"sig": null
}
},
"message":{
"chainId":1,
"data": "json",
"sig": {
"hash": "hashString",
"sig": null
}
},
"messageHash":{
"chainId":1,
"sigList":[
{
"hash": "hashString",
"sig": null
}
]
}
}
]
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
txKey | string | 交易 Key |
accountKey | string | 交易源账户 Key |
sourceAddress | string | 交易源地址 |
transactionStatus | string | 交易状态 |
transactionSubStatus | string | 交易子状态 |
createdByUserKey | string | 创建人 Key |
createdByUserName | string | 创建人名称 |
createTime | int64 | 交易创建时间,UNIX 时间戳毫秒数 |
auditUserKey | string | 最后审核人 Key |
auditUserName | string | 最后审核人名称 |
customerRefId | string | 商户业务唯一 ID 标识 |
note | string | 备注 |
customerExt1 | string | 商户扩展字段 |
customerExt2 | string | 商户扩展字段 |
balance | string | 账户余额 |
tokenBalance | string | token余额 |
symbol | string | 币种单位名称 |
tokenSymbol | string | token币种单位名称 |
subjectType | string | 签名类型 |
transaction | object | 当签名类型为 ETH_SIGNTRANSACTION 时,返回此对象 |
└─to | string | to |
└─value | string | value |
└─chainId | int64 | 链ID |
└─gasPrice | string | gasPrice |
└─gasLimit | int32 | gasLimit |
└─maxPriorityFeePerGas | string | EIP-1559 的 maxPriorityFeePerGas |
└─maxFeePerGas | string | EIP-1559 的 maxFeePerGas |
└─nonce | int64 | nonce |
└─data | string | data |
└─txHash | string | 交易 Hash(签名完成的交易返回此字段) |
└─signedTransaction | string | 16进制数据(签名完成的交易返回此字段) |
└─sig | object | 待签名数据及签名结果 |
└─hash | string | 待签名数据 |
└─sig | string | 签名(签名完成的交易返回此字段;Secp256k1 算法的 sig 值由 32 bytes r + 32 bytes s + 1 byte v组成) |
message | object | 当签名类型为 PERSONAL_SIGN 或 ETH_SIGN_TYPED_DATA 时,返回此对象 |
└─chainId | int64 | 链ID |
└─data | string | data |
└─sig | object | 待签名数据及签名结果 |
└─hash | string | 待签名数据 |
└─sig | string | 签名(签名完成的交易返回此字段;Secp256k1 算法的 sig 值由 32 bytes r + 32 bytes s + 1 byte v组成) |
messageHash | object | 当签名类型为 ETH_SIGN 时,返回此对象 |
└─chainId | int64 | 链ID |
└─sigList | array | sigList |
└─hash | string | 待签名数据 |
└─sig | string | 签名(签名完成的交易返回此字段;Secp256k1 算法的 sig 值由 32 bytes r + 32 bytes s + 1 byte v组成) |
MPC Sign
MPC Sign 介绍
Safeheron 开放了基于 MPC 的底层签名能力,让您能够灵活的将 MPC 签名算法“可签但密钥不可见”的特性应用到您的业务场景中,如:
- 构造 Safeheron 暂不支持的区块链转账交易
- 电子签名
- ……
为了说明 MPC Sign 的具体应用,下面以构造并签名一笔 ETH 交易过程为例:
单私钥签名流程如下:
- 准备交易数据:from, to, nonce, gasLimit, gasPrice, value, data
- 序列化:rawTransaction = RLP(from, to, nonce, gasLimit, gasPrice, value, data)
- 计算交易数据 hash: hash = sha3(rawTransaction)
- 对交易数据 hash 使用单私钥进行签名:sig = secp256k1Sign(私钥,hash)
- 组装签名后交易数据:signedRawTransaction = RLP(from, to, nonce, gasLimit, gasPrice, value, data, sig)
- 计算交易 hash: txHash = sha3(signedRawTransaction)
- 广播交易:rpc.submitTransaction(signedRawTransaction)
如果将上述过程自动化完成,单私钥不可避免的要在服务器中使用,从而带来私钥泄露等安全风险。为了解决单私钥的安全问题,您可以采用 Safeheron 提供的 MPC Sign 接口进行分布式签名,Safeheron MPC Sign 签名过程中原始私钥始终不会出现在程序内存中,通过 MPC 技术完成分布式签名,以保护私钥安全。
使用 Safeheron MPC Sign 改造后流程如下:
- [客户]准备交易数据:from, to, nonce, gasLimit, gasPrice, value, data
- [客户]序列化:rawTransaction = RLP(from, to, nonce, gasLimit, gasPrice, value, data)
- [客户]计算交易数据 hash: hash = sha3(rawTransaction)
- [客户 + Safeheron]对交易数据 hash 进行签名:sig = mpcSign(hash)
- [客户]组装签名后交易数据:signedRawTransaction = RLP(from, to, nonce, gasLimit, gasPrice, value, data, sig)
- [客户]计算交易 hash: txHash = sha3(signedRawTransaction)
- [客户]广播:rpc.submitTransaction(signedRawTransaction)
以上两个过程对比可以看出,使用 Safeheron MPC Sign 改造后的流程中,在使用私钥进行签名的过程中使用 Safeheron MPC Sign 对 hash 进行签名,返回签名结果,客户拿到签名结果后应用于自己的业务逻辑。
注:目前 MPC 协议支持 Secp256k1、Ed25519 签名算法,未来会增加对 BLS、Schnorr 等签名算法的支持。
API
创建钱包账户
创建 MPC Sign 交易
商户可以通过此接口发起 MPC Sign 签名交易。商户侧需要自主完成交易数据的序列化并生成交易数据的 hash,通过此接口提交 hash 创建签名交易,签名结果可以通过查询单笔 MPC Sign 交易接口或者 webhook 获取,获取签名后续过程商户根据自身需要自主完成。
HTTP 请求地址
POST /v1/transactions/mpcsign/create
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent":{
"customerRefId": "customerRefIdExample",
"customerExt1": "customerExt1Example",
"customerExt2": "customerExt2Example",
"sourceAccountKey": "accountbb6acc4892264e8c9202b9cd3e3235a3",
"signAlg": "ed25519",
"dataList": [
{
"note": "note",
"data": "d061e9c5891f579fd548cfd22ff29f5c642714cc7e7a9215f0071ef5a5723f69"
},
{
"note": "note",
"data": "d061e9c5891f579fd548cfd22ff29f5c642714cc7e7a9215f0071ef5a5723f69"
}
]
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
customerRefId | string | 是 | 商户业务唯一 ID 标识,最长 100 customerRefId 唯一代表商户的一笔交易,当商户对同一笔交易多次提交,即在 customerRefId 值重复的情况下(比如:请求超时或其他错误情况下再次提交),接口返回 9001 错误码和与之前一致的 txKey,你可以使用查询单笔交易接口查询确认交易详情 |
customerExt1 | string | 否 | 商户扩展字段,商户自定义,该字段会透传给商户,最长 255 |
customerExt2 | string | 否 | 商户扩展字段,商户自定义,该字段会透传给商户,最长 255 |
sourceAccountKey | string | 是 | 交易源账户 Key |
signAlg | string | 是 | 签名算法 |
dataList | array | 是 | 交易待签名数据列表 |
└─note | string | 否 | 交易备注,最长 180 |
└─data | string | 是 | 待签名数据,具体见下方说明 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"txKey": "tx46461daa9b7a4612abce99e7ce598844"
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
txKey | string | 交易 Key |
查询单笔 MPC Sign 交易
查询特定的 MPC Sign 交易,customerRefId 与 txKey 参数二选一必填,如果两个都有值,将按照 txKey 查询。
HTTP 请求地址
POST /v1/transactions/mpcsign/one
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent":{
"txKey": "tx46461daa9b7a4612abce99e7ce598844",
"customerRefId": "customerRefIdExample"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
txKey | string | 否 | 交易 Key |
customerRefId | string | 否 | 商户业务唯一 ID 标识,最长 100 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"txKey": "tx46461daa9b7a4612abce99e7ce598844",
"transactionStatus": "COMPLETED",
"transactionSubStatus": "CONFIRMED",
"createTime": 1626075236000,
"sourceAccountKey": "accountbb6acc4892264e8c9202b9cd3e3235a3",
"auditUserKey": "a1ef6672-c231-43cc-b174-ff30d392e723",
"createdByUserKey": "a1ef6672-c231-43cc-b174-ff30d392e723",
"customerRefId": "a1ef6672-c231-43cc-b174-ff30d392e723",
"customerExt1": "1",
"customerExt2": "2",
"signAlg": "secp256k1",
"auditUserName": "test",
"createdByUserName": "test",
"hashs": [
{
"note": "Initiate transaction",
"hash": "d061e9c5891f579fd548cfd22ff29f5c642714cc7e7a9215f0071ef5a5723f69",
"sig": "b3d5b45dec592d6ca60455f2926e06e5ff1c81cc4115d44d4b4f9953e6260aee55bc80e341977ab77713c80b31d960be01e09bb19014db49484db45859c77fda00"
}
],
"dataList": [
{
"note": "Initiate transaction",
"data": "d061e9c5891f579fd548cfd22ff29f5c642714cc7e7a9215f0071ef5a5723f69",
"sig": "b3d5b45dec592d6ca60455f2926e06e5ff1c81cc4115d44d4b4f9953e6260aee55bc80e341977ab77713c80b31d960be01e09bb19014db49484db45859c77fda00"
}
]
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
txKey | string | 交易 Key |
transactionStatus | string | 交易状态 |
transactionSubStatus | string | 交易子状态 |
createTime | int64 | 交易创建时间,UNIX 时间戳毫秒数 |
sourceAccountKey | string | 交易源账户 Key |
auditUserKey | string | 最后审核人 Key |
createdByUserKey | string | 创建人 Key |
customerRefId | string | 商户业务唯一 ID 标识 |
customerExt1 | string | 商户扩展字段 |
customerExt2 | string | 商户扩展字段 |
signAlg | string | 签名算法 |
auditUserName | string | 最后审核人名称 |
createdByUserName | string | 创建人名称 |
dataList | array | 交易签名数据列表 |
└─note | string | 备注 |
└─data | string | 待签名数据 |
└─sig | string | 交易签名 (secp256k1 算法的 sig 值由 32 bytes r + 32 bytes s + 1 byte v组成 ed25519 算法的 sig 值由 32 bytes r + 32 bytes s 组成) |
MPC Sign 交易列表
根据不同的条件组合,筛选团队下的 MPC Sign 交易记录。
HTTP 请求地址
POST /v1/transactions/mpcsign/list
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent":{
"direct": "NEXT",
"limit": 100,
"fromId": "tx46461daa9b7a4612abce99e7ce598844",
"createTimeMin": 1656301641000,
"createTimeMax": 1687837641623
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
direct | string | 否 | 分页查询方向,默认 NEXT |
limit | int32 | 否 | 一次查询多少条,默认最大值 500 |
fromId | string | 否 | 起始交易记录 txKey,传入上一次结果的最后一条交易记录的 txKey ,如果第一页不传 |
createTimeMin | int64 | 否 | 创建时间开始时间,UNIX 时间戳毫秒数(不传,默认为 createTimeMax 减去 24 小时) |
createTimeMax | int64 | 否 | 创建时间结束时间,UNIX 时间戳毫秒数(不传,默认为当前 UTC 时间) |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": [
{
"txKey": "tx46461daa9b7a4612abce99e7ce598844",
"transactionStatus": "COMPLETED",
"transactionSubStatus": "CONFIRMED",
"createTime": 1626075236000,
"sourceAccountKey": "accountbb6acc4892264e8c9202b9cd3e3235a3",
"auditUserKey": "a1ef6672-c231-43cc-b174-ff30d392e723",
"createdByUserKey": "a1ef6672-c231-43cc-b174-ff30d392e723",
"customerRefId": "a1ef6672-c231-43cc-b174-ff30d392e723",
"customerExt1": "1",
"customerExt2": "2",
"signAlg": "secp256k1",
"auditUserName": "test",
"createdByUserName": "test",
"hashs": [
{
"note": "Initiate transaction",
"hash": "d061e9c5891f579fd548cfd22ff29f5c642714cc7e7a9215f0071ef5a5723f69",
"sig": "b3d5b45dec592d6ca60455f2926e06e5ff1c81cc4115d44d4b4f9953e6260aee55bc80e341977ab77713c80b31d960be01e09bb19014db49484db45859c77fda00"
}
],
"dataList": [
{
"note": "Initiate transaction",
"data": "d061e9c5891f579fd548cfd22ff29f5c642714cc7e7a9215f0071ef5a5723f69",
"sig": "b3d5b45dec592d6ca60455f2926e06e5ff1c81cc4115d44d4b4f9953e6260aee55bc80e341977ab77713c80b31d960be01e09bb19014db49484db45859c77fda00"
}
]
}
]
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
txKey | string | 交易 Key |
transactionStatus | string | 交易状态 |
transactionSubStatus | string | 交易子状态 |
createTime | int64 | 交易创建时间,UNIX 时间戳毫秒数 |
sourceAccountKey | string | 交易源账户 Key |
auditUserKey | string | 最后审核人 Key |
createdByUserKey | string | 创建人 Key |
customerRefId | string | 商户业务唯一 ID 标识 |
customerExt1 | string | 商户扩展字段 |
customerExt2 | string | 商户扩展字段 |
signAlg | string | 签名算法 |
auditUserName | string | 最后审核人名称 |
createdByUserName | string | 创建人名称 |
dataList | array | 交易签名数据列表 |
└─note | string | 备注 |
└─data | string | 待签名数据(注:ed25519算法,此字段不返回) |
└─sig | string | 交易签名 (secp256k1 算法的 sig 值由 32 bytes r + 32 bytes s + 1 byte v组成 ed25519 算法的 sig 值由 32 bytes r + 32 bytes s 组成) |
Webhook
Webhook 概述
声明: Webhook 服务将尽最大努力提供事件通知,但由于网络中断、节点数据延迟、服务器故障或其他不可控因素,无法保证通知的必定送达或及时送达。对于关键场景,建议配合使用 API 查询接口,以确保信息的可靠性和及时性。
Safeheron 可以通过 Webhook 主动通知您团队下发生的一些事件通知。比如:
- 创建交易
- 交易广播上链
- 交易达到确认数
- ......
如果您需要接收事件通知,可以使用具有API管理权限的用户账户登录Safeheron 控制台,在 管理 -> API
界面配置 Webhook 信息。
Webhook 回调时采用与 API 鉴权中相同的数据加密和签名方案,需要您在 Safeheron 控制台配置您的 Webhook RSA 公钥。您可以参考 API 鉴权章节生成 RSA 公私钥对,在 Safeheron 控制台可获取 Safeheron Webhook RSA 公钥,您可以使用该公钥对回调数据进行验签。
回调请求描述
Safeheron 会向您在控制台中设置的 Webhook 回调地址发送一个 POST
请求,HTTP 请求头中 Content-Type
为 application/json;charset=UTF-8
。
回调的请求参数格式如下:
回调请求示例
{
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"eventType": "TRANSACTION_STATUS_CHANGED",
"eventDetail": {
"txKey": "tx46461daa9b7a4612abce99e7ce598844",
"txHash": "0xf7292ea446b573bab7311921e2489fb29d26ec393f2d6c8e280a7157f635234",
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"txAmount": "0.001",
"sourceAccountKey": "account4b8d2c00520646c8862b68420aa1234234",
"sourceAccountType": "VAULT_ACCOUNT",
"sourceAddress": "0xCa104eA8CB4722e33a3E68eD4D12d3569594FBC5",
"destinationAccountKey": "6553009588f443b1970a5962590a2158",
"destinationAccountType": "WHITELISTING_ACCOUNT",
"destinationAddress": "0xCa104eA8CB4722e33a3E68eD4D12d3569594F234234",
"memo": "memoExample",
"transactionType": "NORMAL",
"transactionStatus": "COMPLETED",
"transactionSubStatus": "CONFIRMED",
"createTime": 1626075236000,
"note": "Initiate transaction",
"auditUserKey": "a1ef6672-c231-43cc-b174-ff30d392e723",
"createdByUserKey": "a1ef6672-c231-43cc-b174-ff30d392e723",
"txFee": "0.000106841386050000",
"feeCoinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"replaceTxHash": "0x628626531285bb90d4130d3beb3c355d2a7fe0bdfa1fa05e3431f15340aafeb6",
"customerRefId": "a1ef6672-c231-43cc-b174-ff30d392e723",
"customerExt1": "1",
"customerExt2": "2",
"amlLock": "NO",
"blockHeight": 10000000,
"completedTime": 1626075236000,
"realDestinationAccountType": "VAULT_ACCOUNT"
}
}
}
参数 | 类型 | 描述 |
---|---|---|
timestamp | string | 回调时间戳,UNIX 毫秒格式字符串 |
bizContent | string | 业务请求参数 AES 加密后数据 |
sig | string | 使用 Safeheron Webhook RSA 私钥对请求参数签名得到的签名数据 |
key | string | 使用您的 Webhook RSA 公钥对随机 AES Key 加密后的数据 |
rsaType | string | RSA 加密类型 |
aesType | string | AES 加密类型 |
您可以使用以下流程对回调数据进行解密和验签:
- 对回调数据(不包含 rsaType 和 aesType)按照字典 key 升序排序序列化为字符串,即序列化为
bizContent=...&key=...×tamp=...
格式 - 使用 Safeheron Webhook RSA 公钥,序列化字符串和回调数据中
sig
字段进行验签(算法:SHA256WithRSA),如果验签通过,进行响应数据解密 - 使用您的 Webhook RSA 私钥解密(算法:RSA/ECB/OAEPWithSHA-256AndMGF1Padding)回调数据中
key
字段,获取随机 AES Key + IV - 使用该 AES Key 和 IV 解密(算法:AES/GCM/NoPadding)回调数据中
bizContent
字段,获取回调业务数据明文
您在收到 Webhook 推送通知后,需要返回成功(HTTP状态码 200 )应答,成功响应内容格式固定为为:
Webhook响应示例
{
"code": "200",
"message": "SUCCESS"
}
示例如右侧所示:
参数 | 类型 | 描述 |
---|---|---|
code | string | webhook响应码,成功固定为 200 |
message | string | webhook返回信息,成功固定为 SUCCESS |
Safeheron 在收到非200成功状态码以及响应内容非以上成功格式时,会认为此次推送失败,会再次进行重试推送,再次推送的频率为 30s,1m,5m,1h,12h,24h。
事件格式
bizContent
字段解密后数据格式,如右侧所示:
事件格式示例
{
"eventType": "TRANSACTION_STATUS_CHANGED",
"eventDetail": {
"txKey": "tx46461daa9b7a4612abce99e7ce598844",
"txHash": "0xf7292ea446b573bab7311921e2489fb29d26ec393f2d6c8e280a7157f635234",
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"txAmount": "0.001",
"sourceAccountKey": "account4b8d2c00520646c8862b68420aa1234234",
"sourceAccountType": "VAULT_ACCOUNT",
"sourceAddress": "0xCa104eA8CB4722e33a3E68eD4D12d3569594FBC5",
"destinationAccountKey": "6553009588f443b1970a5962590a2158",
"destinationAccountType": "WHITELISTING_ACCOUNT",
"destinationAddress": "0xCa104eA8CB4722e33a3E68eD4D12d3569594F234234",
"memo": "memoExample",
"transactionType": "NORMAL",
"transactionStatus": "COMPLETED",
"transactionSubStatus": "CONFIRMED",
"createTime": 1626075236000,
"note": "Initiate transaction",
"auditUserKey": "a1ef6672-c231-43cc-b174-ff30d392e723",
"createdByUserKey": "a1ef6672-c231-43cc-b174-ff30d392e723",
"txFee": "0.000106841386050000",
"feeCoinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"replaceTxHash": "0x628626531285bb90d4130d3beb3c355d2a7fe0bdfa1fa05e3431f15340aafeb6",
"customerRefId": "a1ef6672-c231-43cc-b174-ff30d392e723",
"customerExt1": "1",
"customerExt2": "2",
"amlLock": "NO",
"blockHeight": 10000000,
"completedTime": 1626075236000,
"realDestinationAccountType": "VAULT_ACCOUNT"
}
}
参数 | 类型 | 描述 |
---|---|---|
eventType | string | 回调事件类型 |
eventDetail | object | 回调事件详情 |
事件类型
eventType | eventDetail | 描述 |
---|---|---|
TRANSACTION_CREATED | TransactionParam | 创建交易 |
TRANSACTION_STATUS_CHANGED | TransactionParam | 交易状态变更 |
TRANSACTION_CUSTOMIZED_CONFIRMING | TransactionParam | 在 Web Console 中设置自定义确认数通知后,当确认数达到了您自定义的确认数时,Webhook 将推送 TRANSACTION_CUSTOMIZED_CONFIRMING 类型的事件通知。如果未设置自定义确认数,则不会推送该通知。 注意: 由于 Webhook 无法保证通知的必定送达(Wehbook 声明),且当 Webhook 优先发送出交易状态为 COMPLETED 的 TRANSACTION_STATUS_CHANGED 事件时,系统将不再发送 TRANSACTION_CUSTOMIZED_CONFIRMING 事件,因此建议您配合使用 TRANSACTION_STATUS_CHANGED 事件和交易查询接口来保证交易信息的可靠性,避免强依赖 TRANSACTION_CUSTOMIZED_CONFIRMING 事件通知。 |
MPC_SIGN_CREATED | MPCSignParam | 创建 MPC Sign 交易 |
MPC_SIGN_STATUS_CHANGED | MPCSignParam | MPC Sign 交易状态变更 |
WEB3_SIGN_CREATED | Web3SignParam | 创建 web3 签名交易 |
WEB3_SIGN_STATUS_CHANGED | Web3SignParam | Web3 签名状态变更 |
ILLEGAL_IP_REQUEST | IllegalIpRequestParam | 非法 IP 请求 |
NO_MATCHING_TRANSACTION_POLICY | NoMatchingTransactionPolicyParam | 未命中相应的交易策略 |
WHITELIST_ADDED | WhiteListAddedParam | 新添加的白名单审批完成生效时发送此事件 |
WHITELIST_UPDATED | WhiteListUpdatedParam | 更新已生效的白名单,当更新请求审批通过时发送此事件通知 |
WHITELIST_REMOVED | WhiteListRemovedParam | 删除已生效的白名单时发送此事件 |
事件详情
TransactionParam
TransactionParam 示例
{
"txKey": "tx46461daa9b7a4612abce99e7ce598844",
"txHash": "0xf7292ea446b573bab7311921e2489fb29d26ec393f2d6c8e280a7157f635234",
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"txAmount": "0.001",
"sourceAccountKey": "account4b8d2c00520646c8862b68420aa1234234",
"sourceAccountType": "VAULT_ACCOUNT",
"sourceAddress": "0xCa104eA8CB4722e33a3E68eD4D12d3569594FBC5",
"isSourcePhishing": false,
"sourceAddressList": [
{
"address": "tb1q4heth3mzkhz7v6zsz9l9t7aqcmgly96l3hep7d",
"isSourcePhishing": false,
"addressGroupKey": "addressffb9910f1f324f06a45ef055748fdf43"
}
],
"destinationAccountKey": "6553009588f443b1970a5962590a2158",
"destinationAccountType": "WHITELISTING_ACCOUNT",
"destinationAddress": "0xCa104eA8CB4722e33a3E68eD4D12d3569594F234234",
"isDestinationPhishing": false,
"memo": "memoExample",
"destinationAddressList": [
{
"address": "tb1q4heth3mzkhz7v6zsz9l9t7aqcmgly96l3hep7d",
"isDestinationPhishing": false,
"memo": "memoExample",
"addressGroupKey": "addressffb9910f1f324f06a45ef055748fdf43",
"amount": "0.0001"
},
{
"address": "tb1qrjrg92y7x0zc4h6e4xxg66r36jl22x84w3s3a0",
"isDestinationPhishing": false,
"memo": "memoExample",
"addressGroupKey": "addressffb9910f1f324f06a45ef055748fdf43",
"amount": "0.0001"
}
],
"transactionType": "NORMAL",
"transactionStatus": "COMPLETED",
"transactionSubStatus": "CONFIRMED",
"createTime": 1626075236000,
"note": "Initiate transaction",
"auditUserKey": "a1ef6672-c231-43cc-b174-ff30d392e723",
"createdByUserKey": "a1ef6672-c231-43cc-b174-ff30d392e723",
"txFee": "0.000106841386050000",
"feeCoinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"replaceTxHash": "0x628626531285bb90d4130d3beb3c355d2a7fe0bdfa1fa05e3431f15340aafeb6",
"customerRefId": "a1ef6672-c231-43cc-b174-ff30d392e723",
"customerExt1": "1",
"customerExt2": "2",
"amlLock": "NO",
"blockHeight": 10000000,
"completedTime": 1626075236000,
"realDestinationAccountType": "VAULT_ACCOUNT",
"transactionDirection": "INTERNAL_TRANSFER"
}
参数名称 | 数据类型 | 描述 |
---|---|---|
txKey | string | 交易 Key |
txHash | string | 交易 Hash |
coinKey | string | 币种 Key |
txAmount | string | 交易金额,单位为币种列表返回的 symbol |
sourceAccountKey | string | 交易源账户 Key |
sourceAccountType | string | 交易源账户类型 |
sourceAddress | string | 交易源地址(如果交易币种为 UTXO 类型请使用 sourceAddressList 字段) |
isSourcePhishing | bool | 交易源地址有疑似钓鱼地址的风险,仅 EVM 类公链和 TRON 公链且方向为流入的交易有效 |
sourceAddressList | array | 交易源地址列表 |
└─address | string | 交易源地址 |
└─isSourcePhishing | bool | 交易源地址有疑似钓鱼地址的风险,仅 EVM 类公链和 TRON 公链且方向为流入的交易有效 |
└─addressGroupKey | string | 交易源地址所属地址组,仅当交易源账户类型为 VAULT_ACCOUNT 时,此字段有值 |
destinationAccountKey | string | 交易目标账户 Key |
destinationAccountType | string | 交易目标账户类型 |
destinationAddress | string | 交易目标地址(如果交易币种为 UTXO 类型请使用 destinationAddressList 字段) |
isDestinationPhishing | bool | 交易目标地址有疑似钓鱼地址的风险,仅 EVM 类公链和 TRON 公链且方向为流出的交易有效 |
memo | string | 创建交易时,设置的目标地址 memo |
destinationAddressList | array | 交易目标地址列表 |
└─address | string | 交易目标地址 |
└─isDestinationPhishing | bool | 交易目标地址有疑似钓鱼地址的风险,仅 EVM 类公链和 TRON 公链且方向为流出的交易有效 |
└─memo | string | 创建交易时,设置的目标地址 memo |
└─addressGroupKey | string | 交易目标地址所属地址组,仅当交易目标账户类型为 VAULT_ACCOUNT 时,此字段有值 |
└─amount | string | 交易金额 |
transactionType | string | 交易子类型 |
transactionStatus | string | 交易状态 |
transactionSubStatus | string | 交易子状态 |
createTime | int64 | 交易创建时间,UNIX 时间戳毫秒数 |
note | string | 创建交易时,设置的平台交易备注 |
auditUserKey | string | 最后审核人 Key |
createdByUserKey | string | 创建人 Key |
txFee | string | 交易手续费 |
feeCoinKey | string | 转账所消耗的手续费币种 Key ,例如 ERC20 币种转账,所消耗的手续费币种是 ETH |
replaceTxHash | string | 引用的交易 Hash,只有加速的交易存在该值 |
customerRefId | string | 商户业务唯一 ID 标识 |
customerExt1 | string | 商户扩展字段 |
customerExt2 | string | 商户扩展字段 |
amlLock | string | 交易源地址是否包含 AML 地址 YES:包含 NO:不包含 |
blockHeight | int64 | 交易块高度,交易状态为确认中和交易成功时有值 |
completedTime | int64 | 交易完成时间 |
realDestinationAccountType | string | 实际交易目标账户类型 |
transactionDirection | string | 交易方向 |
MPCSignParam
MPCSignParam 示例
{
"txKey": "tx697eebea3a61440a8edf6f0a783d19b2",
"sourceAccountKey": "sourceAccountKey",
"auditUserKey": "a1ef6672-c231-43cc-b174-ff30d392e723",
"createdByUserKey": "a1ef6672-c231-43cc-b174-ff30d392e723",
"createTime": 1626075236000,
"customerRefId": "1639558034534",
"customerExt1": "",
"customerExt2": "",
"signAlg": "secp256k1",
"transactionStatus": "CANCELLED",
"transactionSubStatus": "",
"hashs": [
{
"note": "",
"hash": "d061e9c5891f579fd548cfd22ff29f5c642714cc7e7a9215f0071ef5a5723f69",
"sig": ""
}
],
"dataList": [
{
"note": "",
"data": "d061e9c5891f579fd548cfd22ff29f5c642714cc7e7a9215f0071ef5a5723f69",
"sig": ""
}
]
}
参数 | 类型 | 描述 |
---|---|---|
txKey | string | 交易 Key |
signAlg | string | 签名算法 |
transactionStatus | string | 交易状态 |
transactionSubStatus | string | 交易子状态 |
sourceAccountKey | string | 源账户 Key |
auditUserKey | string | 最后审核人 Key |
createdByUserKey | string | 创建人 Key |
createTime | int64 | 交易创建时间,UNIX 时间戳毫秒数 |
customerRefId | string | 自定义业务唯一标识,在发起交易时,Safeheron 使用此字段判断进行幂等判断 |
customerExt1 | string | 商户扩展字段 |
customerExt2 | string | 商户扩展字段 |
dataList | array | 交易签名数据列表 |
└─note | string | 交易备注 |
└─data | string | 待签名数据 |
└─sig | string | 交易签名 (sig 的值由32 bytes r + 32 bytes s + 1 byte v组成) |
Web3SignParam
Web3SignParam 示例
{
"txKey":null,
"subjectType":null,
"accountKey":null,
"sourceAccountType":null,
"sourceAddress":null,
"transactionStatus":null,
"transactionSubStatus":null,
"createdByUserKey":null,
"createTime":null,
"auditUserKey":null,
"note": "",
"customerExt1":null,
"customerExt2":null,
"transaction":{
"to": "TLFNznovqX6FRjk1bkbX47KUGQX2UAaFnY",
"value": "0",
"chainId":1,
"gasPrice": "0",
"gasLimit":0,
"maxPriorityFeePerGas": "0",
"maxFeePerGas": "0",
"nonce":2,
"data": "hexData",
"txHash":null,
"signedTransaction": "",
"sig": {
"hash": "hashString",
"sig": null
}
},
"message":{
"chainId":1,
"data": "json",
"sig": {
"hash": "hashString",
"sig": null
}
},
"messageHash":{
"chainId":1,
"sigList":[
{
"hash": "hashString",
"sig": null
}
]
}
}
参数 | 类型 | 描述 |
---|---|---|
txKey | string | 交易 Key |
subjectType | string | 签名类型 |
accountKey | string | 交易源账户 Key |
sourceAccountType | string | 交易源账户类型 |
sourceAddress | string | 交易源地址 |
transactionStatus | string | 交易状态 |
transactionSubStatus | string | 交易子状态 |
createdByUserKey | string | 创建人 Key |
createTime | int64 | 交易创建时间,UNIX 时间戳毫秒数 |
auditUserKey | string | 最后审核人 Key |
note | string | 备注 |
customerExt1 | string | 商户扩展字段 |
customerExt2 | string | 商户扩展字段 |
transaction | object | 当签名类型为 ETH_SIGNTRANSACTION 时,返回此字段 |
└─to | string | to |
└─value | string | value |
└─chainId | int64 | 链ID |
└─gasPrice | string | gasPrice |
└─gasLimit | int32 | gasLimit |
└─maxPriorityFeePerGas | string | EIP-1559 的 maxPriorityFeePerGas |
└─maxFeePerGas | string | EIP-1559 的 maxFeePerGas |
└─nonce | int64 | nonce |
└─data | string | data |
└─txHash | string | 交易 Hash(签名完成的交易返回此字段) |
└─signedTransaction | string | 16进制数据(签名完成的交易返回此字段) |
└─sig | object | 签名 |
└─hash | string | hash |
└─sig | string | 签名(签名完成的交易返回此字段) |
message | object | 当签名类型为 PERSONAL_SIGN 或 ETH_SIGN_TYPED_DATA 时,返回此字段 |
└─chainId | int64 | 链ID |
└─data | string | data |
└─sig | object | 签名 |
└─hash | string | hash |
└─sig | string | 签名(签名完成的交易返回此字段) |
messageHash | object | 当签名类型为 ETH_SIGN 时,返回此字段 |
└─chainId | int64 | 链ID |
└─sigList | array | sigList |
└─hash | string | hash |
└─sig | string | 签名(签名完成的交易返回此字段) |
IllegalIpRequestParam
IllegalIpRequestParam 示例
{
"apiKey": "94d96119****************6eb2056a",
"IllegalIP": "192.***.***.1",
"requestURI": "/v1/account/list",
"requestTimestamp": "1626075236000",
"requestData": {
"namePrefix": "namePrefixExample",
"nameSuffix": "nameSuffixExample",
"pageSize": 10,
"pageNumber": 1,
"hiddenOnUI": true
},
"errorMessage": ""
}
参数 | 类型 | 描述 |
---|---|---|
apiKey | string | 平台分配唯一 API Key 标识 |
IllegalIP | string | 非法 IP |
requestURI | string | 请求 URI |
requestTimestamp | string | 请求时间戳,UNIX 毫秒格式字符串 |
requestData | string | 请求参数 |
errorMessage | string | 错误信息 |
NoMatchingTransactionPolicyParam
NoMatchingTransactionPolicyParam 示例
{
"txKey": "tx697eebea3a61440a8edf6f0a783d19b2",
"amount": "0.0001",
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"fromAccountKey": "accounta5867fecbbbc4a4f876532c87477407a",
"fromAddress": "0xCa104eA8CB4722e33a3E68eD4D12d3569594FBC5",
"toType": "VAULT_ACCOUNT",
"toAccountKey": "accounta0259e8c481c345ca922f489961bc331b",
"toAddress": "0xCa104eA8CB4722e33a3E68eD4D12d3569594FBC5"
}
参数 | 类型 | 描述 |
---|---|---|
txKey | string | 交易 Key |
amount | string | 交易金额 |
coinKey | string | 币种 Key |
fromAccountKey | string | 交易源账户 Key |
fromAddress | string | 交易源地址 |
toType | string | 交易目标账户类型 |
toAccountKey | string | 交易目标账户 Key |
toAddress | string | 交易目标地址 |
WhiteListAddedParam
WhiteListAddedParam 示例
{
"whitelistKey": "whitelistKeyExample",
"whitelistName": "whitelistNameExample",
"chainType": "EVM",
"address": "0xFA8667a8135B889E853D87eD6d6350d35ecaeEF7",
"memo": "memoExample",
"approvalTime": 1690361332392
}
参数 | 类型 | 描述 |
---|---|---|
whitelistKey | string | 白名单唯一标识 |
whitelistName | string | 白名单名称 |
chainType | string | 白名单地址所属的公链类型 |
address | string | 白名单地址 |
memo | string | 创建白名单时,设置的地址 memo |
approvalTime | int64 | 白名单审批通过的时间 |
WhiteListUpdatedParam
WhiteListUpdatedParam 示例
{
"whitelistKey": "whitelistKeyExample",
"whitelistName": "whitelistNameExample",
"chainType": "EVM",
"address": "0xFA8667a8135B889E853D87eD6d6350d35ecaeEF7",
"memo": "memoExample",
"previousWhitelistName": "previousWhitelistKeyExample",
"previousAddress": "previousWhitelistNameExample",
"previousMemo": "previousMemoExample",
"approvalTime": 1690361332392
}
参数 | 类型 | 描述 |
---|---|---|
whitelistKey | string | 白名单唯一标识 |
whitelistName | string | 白名单名称 |
chainType | string | 白名单地址所属的公链类型 |
address | string | 白名单地址 |
memo | string | 变更后的地址 memo |
previousWhitelistName | string | 变更前的白名单名称 |
previousAddress | string | 变更前的白名单地址 |
previousMemo | string | 变更前的地址 memo |
approvalTime | int64 | 白名单审批通过的时间 |
WhiteListRemovedParam
WhiteListRemovedParam 示例
{
"whitelistKey": "whitelistKeyExample",
"whitelistName": "whitelistNameExample",
"chainType": "EVM",
"address": "0xFA8667a8135B889E853D87eD6d6350d35ecaeEF7",
"memo": "memoExample"
}
参数 | 类型 | 描述 |
---|---|---|
whitelistKey | string | 白名单唯一标识 |
whitelistName | string | 白名单名称 |
chainType | string | 白名单地址所属的公链类型 |
address | string | 白名单地址 |
memo | string | 白名单地址 memo |
Webhook API
重推交易 Webhook 事件
重新推送最近 1 个月内产生的交易类型 Webhook 事件。在某些情况下,比如:网络抖动、您的接收 Webhook 事件的系统不可用等等,会导致您错过接收 Webhook 事件通知。可使用此接口,通知 Safeheron 对 Webhook 事件重新推送。需要注意的是,对于一笔交易来说,只会将交易的最后一个 Webhook 事件进行推送,例如:在一笔交易的生命周期中,会产生 BROADCASTING、CONFIRMING、COMPLETED 等状态的多个 TRANSACTION_STATUS_CHANGED 类型的 Webhook 事件,重新推送仅推送当前系统记录的最后一个 Webhook 事件。支持重新推送以下类型的 Webhook 事件:
- 与资产交易相关的类型事件,包含 TRANSACTION_CREATED 与 TRANSACTION_STATUS_CHANGED
- 与 MPC SIGN 相关的签名任务事件,包含 MPC_SIGN_CREATED 与 MPC_SIGN_STATUS_CHANGED
- 与 Web3 相关的签名任务事件,包含 WEB3_SIGN_CREATED 与 WEB3_SIGN_STATUS_CHANGED
- 未来会支持更多类型的 Webhook 事件
HTTP 请求地址
POST /v1/webhook/resend
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"category": "TRANSACTION",
"txKey": "tx7dacce99c5f249b6bf486214596a5458"
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
category | string | 是 | 事件类别,支持以下类别: |
txKey | string | 是 | 交易 key |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"result": true
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
result | boolean | 执行结果 true:执行成功 false:执行失败 |
推送所有失败的 Webhook 事件
重新推送最近 7 天任意不超过 1 小时时长内所有推送失败的 Webhook 事件(调用频率限制为 1 次/ 10 分钟)。在某些情况下,比如:网络故障、您的接收 Webhook 事件的系统不可用等等,会导致您错过接收 Webhook 事件通知。当故障恢复后,可使用此接口,通知 Safeheron 重新推送一段时间内所有推送失败的 Webhook 事件。支持重新推送以下类型的 Webhook 事件:
- TRANSACTION_CREATED
- TRANSACTION_STATUS_CHANGED
- MPC_SIGN_CREATED
- MPC_SIGN_STATUS_CHANGED
- WEB3_SIGN_CREATED
- WEB3_SIGN_STATUS_CHANGED
- ILLEGAL_IP_REQUEST
- NO_MATCHING_TRANSACTION_POLICY
- WHITELIST_ADDED
- WHITELIST_UPDATED
- WHITELIST_REMOVED
- 未来会支持更多类型的 Webhook 事件
需要注意的是,重新推送所有失败的 Wehbook 事件,您的系统需要避免状态回退问题,例如:在一笔交易的生命周期中,会产生 BROADCASTING、CONFIRMING、COMPLETED 等状态的多个 TRANSACTION_STATUS_CHANGED 类型的 Webhook 事件,假如因网络等原因导致您的系统未接收到 CONFIRMING 状态的事件,但正常接收到了 COMPLETED 状态的事件,这时如果使用此接口,Safeheron 会向您的系统重新尝试推送 CONFIRMING 状态的事件,您的系统需要避免交易从 COMPLETED 状态错误的回退到 CONFIRMING 状态。
HTTP 请求地址
POST /v1/webhook/resend/failed
请求示例
{
"apiKey": "94d96119****************6eb2056a",
"timestamp":1690361332392,
"key": "OFI5PMknWjLSYUbVzVWOQjhHRihvS9bmeaNsF/d/togGr9exySsZ5StRJc+VLmsMi5vxwrNbw2xI3jb8wNCxFN6SnbkHe7DheGWZN5d1YB3x4JNDBhNZ9CJjSr3Km2GOIO9XJf3AffO03qiAHs7I5QrtCoW9J/IsX7OJKqzqevA7mbuooHrysvIVYCgVwetWS4wRy2T8V7WOUBLi645SLJXedohDRLKoy5brj/7DIRI4zitdqhEvcct0LxJZpcwXtkeDfOZ7he0TbhqTRb9LbpXquJ8ZYzh4uyqh/AkwxcDBKLT2js9NidVkiYvW5+Ly8Cuc6FjyyEDzwJo/QpHrgiXYxXhTo9lodjys3J7DVU2j9T0ToFViFGNTLJJXL/8vJNxjpy/nBa4Xkkb1mTln3oEDuYgCvgGMhkV2Uz7rdMdoACjg1b2hfxoKMwtUz3JatrFzFWv4I62rp/8LT8V5L9WnrBF1kjgaOZ2zgmshgx8Hgz+9vm32EciFaSpN33H2nNemZWkw4ZnRt61m/cq3fWDPfYtIy4EPPOBHRUs8oVjCTVJPaHwjUHexX50cyMPOPyVSszRF4qRPdFqVheyqHSxM0ZCWcden09POVNj2B4Gx5wWKjzIuedAhZ06ROOnuRZLTaR+JrdPR4hXtX+N4fD6gKsYfct5pkIalM7T0dZs=",
"sig": "aiwfvh0kCuon/LLWSjLcakDSeQJcltAGuYUA3V5MpOHjGZ3qLWYRKgXD+p1lHDVPdprsG0hr6JncGiutnTK0QIqTIFT2OW0UshOCW1fk67xQ+O+htvLP/3cWxc60/YoUCPKbql7Lbr8fZAZls5TPG1TEiPCAIotRdeSti0Q+OC4rasI9XShLilxecivZz33p5n7RDdE505rR3QhQ2wCRAwj4+/sVC3ykm4J0vLgQj3xULhrDHQ0XdJuHunh5zLGUFYlPxwdFypTdTs+krjeBILo0bXHCHubEhKMRYX8AbsviEa19BHubrFsz6aVJiNqijSqRXJmG0DxTk0EevKoYUp+dzQRL6qd3KpTROB/8ZsFsz5xqZSOkBSu9y8gz4t5Mzf41i+gZYZGARNfa85hSdPImGfg3035k/7M0nXeaChAvwwOLz4dToP8bPAhT49cR1hxi2SLI/QJt+w7ktvQyptUUzk8cMFFVsykxl4kFTmOB0dAbCYeDg6sweSxNmBhFpIdZQtjAlr6bHdRyP97TY0k4samQuxDinDYyQov55Gb3CxmYra0P4jAhFZvJeTa0+Ufbo1q/7tyP96uAAp/KjwzPt6OD08VD0neSTxO5OyVg5YPafff4aAEIbZx19yVKU1JyT1KUHo6fDQ1fAvpLa8x08l3b3H+JzJbpfckWQgw=",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"startTime": 1635170400000,
"endTime": 1635199200000
}
}
请求参数
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
startTime | int64 | 是 | 起始时间,UNIX 毫秒级时间戳,时间区间 [startTime, endTime] 最大范围 1 小时 |
endTime | int64 | 是 | 结束时间,UNIX 毫秒级时间戳,时间区间 [startTime, endTime] 最大范围 1 小时 |
响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1626336745267",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"messagesCount": 2
}
}
响应数据
参数名称 | 数据类型 | 描述 |
---|---|---|
messagesCount | int64 | 重新推送失败的 Webhook 事件数量 |
API Co-Signer
API Co-Signer 概述
API Co-Signer 用于实现自动化签名流程,需要您私有化部署。API Co-Signer 中包含授权私钥和 MPC 私钥分片,分别用于授权交易和进行 MPC 签名。
API Co-Signer 会将交易审核任务回调您的业务系统,根据您业务系统的响应对交易审核任务进行拒绝或者授权通过。自动化签名流程如下图所示:
Co-Signer 回调
API Co-Signer 会向您配置的回调地址发送一个 POST
请求,HTTP 请求头中 Content-Type
为 application/json;charset=UTF-8
。
API Co-Signer 回调时采用与 API 鉴权中相同的数据加密和签名方案,需要您在 API Co-Signer 配置您的 Callback RSA 公钥。您可以参考 API 鉴权章节生成 RSA 公私钥对。
在配置 API Co-Signer 时需要配置 API RSA 公私钥对与 Safeheron API 网关进行通信,在 API Co-Signer 回调您的业务系统时,复用了 API RSA 公私钥对与您的业务系统进行通信。
回调请求格式
回调的请求参数格式如下:
回调请求示例
{
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"timestamp": "1626336745267",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"type": "TRANSACTION",
"customerContent": {
"auditRecordKey": "57e3a3e0eb3140c3ba538cc094bcb024",
"txKey": "txc0710da7db2b42ff9bf28df8910f8a88",
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"txAmount": "0.012000000000000000",
"sourceAddress": "0xCa104eA8CB4722e33a3E68eD4D12d3569594FBC5",
"sourceAccountKey": "accounta5867fecbbbc4a4f876532c87477407a",
"sourceAccountType": "VAULT_ACCOUNT",
"destinationAccountKey": "0259e8c481c345ca922f489961bc331b",
"destinationAccountType": "INTERNAL_WALLET",
"destinationAddress": "0xCa104eA8CB4722e33a3E68eD4D12d3569594FBC5",
"customerRefId": "123234111112112",
"triggerTime": 1635938498071,
"triggerUserName": "signer",
"txHash": "",
"blockHeight": null,
"feeCoinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"fee": null,
"customerExt1": "",
"customerExt1": ""
}
}
}
参数 | 类型 | 描述 |
---|---|---|
timestamp | string | 回调时间戳 |
bizContent | string | 业务请求参数 AES 加密后数据 |
sig | string | 使用您的 API RSA 私钥对请求参数签名得到的签名数据 |
key | string | 使用您的 Callback RSA 公钥对随机 AES Key 加密后的数据 |
rsaType | string | RSA 加密类型 |
aesType | string | AES 加密类型 |
您可以使用以下流程对回调数据进行解密和验签:
- 对回调数据(不包含 rsaType 和 aesType)按照字典 key 升序排序序列化为字符串,即序列化为
bizContent=...&key=...×tamp=...
格式 - 使用您的 API RSA 公钥,序列化字符串和回调数据中
sig
字段进行验签(算法:SHA256WithRSA),如果验签通过,进行响应数据解密 - 使用您的 Callback RSA 私钥解密(算法:RSA/ECB/OAEPWithSHA-256AndMGF1Padding)回调数据中
key
字段,获取随机 AES Key + IV - 使用该 AES Key 和 IV 解密(算法:AES/GCM/NoPadding)回调数据中
bizContent
字段,获取回调业务数据明文
回调响应格式
回调响应参数格式如下:
回调响应示例
{
"code": 200,
"message": "SUCCESS",
"timestamp": "1628652100447",
"sig": "ZHIHfOoAH9WMCK2yXg8TkLSrotntBuVzMjTPTKrffpTb1rQlffTrlIFloinflgje/2gkZ8Jj9OPkOt/J1QDbyAkuQCbwu3lVOur83NzPsckFETbhmRHEUKmZYbNXm3abheVA7wx06NA1jtDy0NgUxL/f8WOJn0T3pUBdSj9lmKdeXJ8K2v9JS1wPDjnW0WTGlxviOgAy2rxRio7cj6f/GrVokN2I6itNYF82njOV2WI3P2fVOBPwq0SoRcFnHcH9OjxmXjJWqrhd/N5V5KfSHUORarDtDGOXuknplJ9bhUjN30lF6FDzidZVyeptbUeNK0yeWRoUVmnt+MhsjOHnyA==",
"key": "y0WmiDSL23d4H5uYgc+F+yopfapj113jZYNK5nEdf7ebETIjb2IWBjaKEIAnbkxE/TJ0C/Y2EUx7D6j8ojuRcji9jnprSvdiRu9po/t08pZ3X9DEV9D6FJEud5xVCdhFLXWynYtmRpo9bGQB840s7Lykc8zM971wEk8vEhDDQeiD6C/JSDPGo6+TuTyKlOdqe9tO2fIX/4FqaYrAe8mC7yOp7oYJqV7oTi5/b8yNI5pgGXhGUqG1QDeDN218vwFctxbae01N3Q1+WgSHO+YhcBIc0bzo8ppSICUSudbY4E0DTRdF89t3df7iL7dd0zB6QWxNjHCKVeu1kmIW7GqLqg==",
"rsaType": "ECB_OAEP",
"aesType": "GCM_NOPADDING",
"bizContent": {
"approve": true,
"txKey": "txc0710da7db2b42ff9bf28df8910f8a88"
}
}
响应参数 | 类型 | 描述 |
---|---|---|
code | int | 响应结果码,用于日志输出,正常返回请使用 200 |
message | string | 响应结果描述,用于日志输出,正常返回请使用 SUCCESS |
timestamp | string | 响应时间戳 |
sig | string | 使用您的 Callback RSA 私钥对响应参数签名得到的签名数据 |
key | string | 使用您的 API RSA 公钥对随机 AES Key 加密后的数据 |
bizContent | object | 业务响应参数 AES 加密后数据 |
rsaType | string | RSA 加密类型 |
aesType | string | AES 加密类型 |
您可以使用以下流程对响应数据进行加密和签名:
- 将业务响应参数序列化为 JSON 字符串,随机生成 32 字节 AES Key 和 16 字节初始化向量 IV
- 使用 AES Key 和 IV 对该 JSON 字符串进行加密(算法:AES/GCM/NoPadding),加密结果 base64 编码后作为请求参数中的
bizContent
字段 - 使用您的 API RSA 公钥对该 AES Key + IV 48 个字节加密(算法:RSA/ECB/OAEPWithSHA-256AndMGF1Padding),加密结果 base64 编码后作为请求参数中的
key
字段 - 对所有请求参数(不包含 rsaType 和 aesType)按照字典 key 升序排序序列化为字符串,即序列化为
bizContent=...&code=...&key=...&message=...×tamp=...
格式 - 使用您的 Callback RSA 私钥对请求序列化字符串进行签名(算法:SHA256WithRSA),签名结果 base64 编码后作为请求参数中的
sig
字段
Co-Signer 回调业务字典
回调字典
参数名称 | 数据类型 | 描述 |
---|---|---|
type | string | 业务类型 |
customerContent | object | 业务内容 |
回调类型
type | customerContent | 描述 |
---|---|---|
TRANSACTION | 交易审核 | 审核交易 |
MPC_SIGN | MPC Sign 审核 | 签名交易 |
WEB3_SIGN | Web3 Sign 审核 | Web3 签名交易 |
交易审核
示例
{
"auditRecordKey": "57e3a3e0eb3140c3ba538cc094bcb024",
"txKey": "txc0710da7db2b42ff9bf28df8910f8a88",
"coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"txAmount": "0.012000000000000000",
"sourceAddress": "0xCa104eA8CB4722e33a3E68eD4D12d3569594FBC5",
"sourceAddressList": [
{
"address": "tb1q4heth3mzkhz7v6zsz9l9t7aqcmgly96l3hep7d"
}
],
"sourceAccountKey": "accounta5867fecbbbc4a4f876532c87477407a",
"sourceAccountType": "VAULT_ACCOUNT",
"destinationAccountKey": "0259e8c481c345ca922f489961bc331b",
"destinationAccountType": "INTERNAL_WALLET",
"destinationAddress": "0xCa104eA8CB4722e33a3E68eD4D12d3569594FBC5",
"memo": "memoExample",
"destinationAddressList": [
{
"address": "tb1q4heth3mzkhz7v6zsz9l9t7aqcmgly96l3hep7d",
"memo": "memoExample",
"amount": "0.0001"
},
{
"address": "tb1qrjrg92y7x0zc4h6e4xxg66r36jl22x84w3s3a0",
"memo": "memoExample",
"amount": "0.0001"
}
],
"transactionType": "NORMAL",
"customerRefId": "123234111112112",
"triggerTime": 1635938498071,
"triggerUserName": "signer",
"txHash": "",
"blockHeight": null,
"feeCoinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
"fee": null,
"customerExt1": "",
"customerExt1": "",
"transactionDirection": "INTERNAL_TRANSFER"
}
参数名称 | 数据类型 | 描述 |
---|---|---|
txKey | string | 交易 Key |
txHash | string | 交易 Hash |
coinKey | string | 币种 Key |
txAmount | string | 交易金额,单位为币种列表返回的 symbol |
sourceAccountKey | string | 交易源账户 Key |
sourceAccountType | string | 交易源账户类型 |
sourceAddress | string | 交易源地址(如果交易币种为 UTXO 类型请使用 sourceAddressList 字段) |
sourceAddressList | array | 交易源地址列表 |
└─address | string | 交易源地址 |
destinationAccountKey | string | 交易目标账户 Key |
destinationAccountType | string | 交易目标账户类型 |
destinationAddress | string | 交易目标地址(如果交易币种为 UTXO 类型请使用 destinationAddressList 字段) |
memo | string | 创建交易时,设置的目标地址 memo |
destinationAddressList | array | 交易目标地址列表 |
└─address | string | 交易目标地址 |
└─memo | string | 创建交易时,设置的目标地址 memo |
└─amount | string | 交易金额 |
transactionType | string | 交易子类型 |
transactionStatus | string | 交易状态 |
transactionSubStatus | string | 交易子状态 |
createTime | int64 | 交易创建时间,UNIX 时间戳毫秒数 |
note | string | 备注 |
auditUserKey | string | 最后审核人 Key |
createdByUserKey | string | 创建人 Key |
estimateFee | string | 交易预估手续费 |
feeCoinKey | string | 转账所消耗的手续费币种 Key ,例如 ERC20 币种转账,所消耗的手续费币种是 ETH |
replaceTxHash | string | 引用的交易 Hash,只有加速的交易存在该值 |
customerRefId | string | 商户业务唯一 ID 标识 |
customerExt1 | string | 商户扩展字段 |
customerExt2 | string | 商户扩展字段 |
transactionDirection | string | 交易方向 |
MPC SIGN 审核
示例
{
"txKey": "tx46461daa9b7a4612abce99e7ce598844",
"transactionStatus": "SUBMITTED",
"transactionSubStatus": "Pending Approval",
"createTime": 1626075236000,
"sourceAccountKey": "accountbb6acc4892264e8c9202b9cd3e3235a3",
"createdByUserKey": "a1ef6672-c231-43cc-b174-ff30d392e723",
"customerRefId": "a1ef6672-c231-43cc-b174-ff30d392e723",
"customerExt1": "1",
"customerExt2": "2",
"signAlg": "secp256k1",
"dataList": [
{
"data": "d061e9c5891f579fd548cfd22ff29f5c642714cc7e7a9215f0071ef5a5723f69",
"note": "noteExample"
}
]
}
参数名称 | 数据类型 | 描述 |
---|---|---|
txKey | string | 交易 Key |
transactionStatus | string | 交易状态 |
transactionSubStatus | string | 交易子状态 |
createTime | int64 | 交易创建时间,UNIX 时间戳毫秒数 |
sourceAccountKey | string | 交易源账户 Key |
createdByUserKey | string | 创建人 Key |
customerRefId | string | 商户业务唯一 ID 标识 |
customerExt1 | string | 商户扩展字段 |
customerExt2 | string | 商户扩展字段 |
signAlg | string | 签名算法 |
dataList | array | 交易签名数据列表 |
└─data | string | 待签名数据 |
└─note | string | 交易备注 |
Web3 SIGN 审核
示例
{
"txKey":null,
"subjectType":null,
"accountKey":null,
"sourceAddress":null,
"transactionStatus":null,
"transactionSubStatus":null,
"createdByUserKey":null,
"createTime":null,
"auditUserKey":null,
"customerRefId": "",
"transaction":{
"to": "TLFNznovqX6FRjk1bkbX47KUGQX2UAaFnY",
"value": "0",
"chainId":1,
"gasPrice": "0",
"gasLimit":0,
"maxPriorityFeePerGas": "0",
"maxFeePerGas": "0",
"nonce":2,
"data": "hexData",
"txHash":null
},
"message":{
"chainId":1,
"data": "json"
},
"messageHash":{
"chainId":1,
"data":[""]
}
}
参数名称 | 类型 | 描述 |
---|---|---|
txKey | string | 交易 Key |
subjectType | string | 签名类型 |
accountKey | string | 交易源账户 Key |
sourceAddress | string | 交易源地址 |
transactionStatus | string | 交易状态 |
transactionSubStatus | string | 交易子状态 |
createdByUserKey | string | 创建人 Key |
createTime | int64 | 交易创建时间,UNIX 时间戳毫秒数 |
auditUserKey | string | 最后审核人 Key |
customerRefId | string | 商户业务唯一 ID 标识 |
transaction | object | 当签名类型为 ETH_SIGNTRANSACTION 时,返回此字段 |
└─to | string | to |
└─value | string | value |
└─chainId | int64 | 链ID |
└─gasPrice | string | gasPrice |
└─gasLimit | int32 | gasLimit |
└─maxPriorityFeePerGas | string | EIP-1559 的 maxPriorityFeePerGas |
└─maxFeePerGas | string | EIP-1559 的 maxFeePerGas |
└─nonce | int64 | nonce |
└─data | string | data |
└─txHash | string | 交易 Hash |
message | object | 当签名类型为 PERSONAL_SIGN 或 ETH_SIGN_TYPED_DATA 时,返回此字段 |
└─chainId | int64 | 链ID |
└─data | string | data |
messageHash | object | 当签名类型为 ETH_SIGN 时,返回此字段 |
└─chainId | int64 | 链ID |
└─data | array | 待签名 Hash |
响应字典
审核交易任务
响应示例
{
"approve": true,
"txKey": "txc0710da7db2b42ff9bf28df8910f8a88"
}
参数名称 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
approve | boolean | 是 | 审核结果 true: 审核通过 false: 审核拒绝 |
txKey | string | 是 | 交易 Key |
支持的区块链网络
区块链网络 | 交易确认数 | 账户类型 |
---|---|---|
Tron | 38 | ACCOUNT |
Ethereum | 32 | ACCOUNT |
BSC | 15 | ACCOUNT |
Bitcoin | 2 | UTXO |
Aptos | 10 | ACCOUNT |
Arbitrum One | 12 | ACCOUNT |
Avalanche | 120 | ACCOUNT |
Base | 130 | ACCOUNT |
Bitcoin cash | 10 | UTXO |
Bitcoin(Testnet4) | 2 | UTXO |
CFX | 500 | ACCOUNT |
Dash | 25 | UTXO |
EMC | 32 | ACCOUNT |
Ether Classic | 1500 | ACCOUNT |
Ethereum(Sepolia) | 12 | ACCOUNT |
FTM | 30 | ACCOUNT |
FIL | 90 | ACCOUNT |
NEAR | 120 | ACCOUNT |
OP | 200 | ACCOUNT |
POL | 800 | ACCOUNT |
Solana | 200 | ACCOUNT |
SUI | 120 | ACCOUNT |
Tron(Testnet) | 38 | ACCOUNT |
TON | 50 | ACCOUNT |
错误码
错误码 | 描述 |
---|---|
200 | 成功 |
429 | 请求太多 |
500 | 系统错误 |
1001 | 未知异常,请联系 Safeheron 客服 |
1004 | 重复的请求 |
1005 | 用户无权限 |
1008 | 请求非法 |
1009 | API Key 非法 |
1010 | 参数解密失败 |
1011 | IP 非法 |
1012 | 验签失败 |
1013 | 时间戳检查失败 |
1014 | IP 超过频率限制 |
1015 | 非法的用户状态 |
1016 | 非法的 API Key 状态 |
1017 | 参数校验错误 |
1018 | 请求记录不存在 |
1019 | 参数解析异常 |
1020 | 请求参数错误 |
1021 | CoinKey 不存在 |
1022 | RSA 公钥错误 |
1023 | 您无法请求当前接口,请联系客服升级您的版本 |
1024 | WebHook 已过期或不存在 |
3009 | 商户已冻结 |
3010 | 商户已关闭 |
3016 | 请求基础服务失败 |
3017 | 钱包已被禁用 |
3018 | 非法的商户状态 |
3019 | 没有足够的资金来满足提款要求 |
3020 | 非审核状态 |
3021 | 请求交易结果异常 |
3022 | 请求交易失败 |
3023 | 当前钱包不允许该操作 |
3024 | 交易打包数据验证失败 |
3025 | 签名错误 |
3026 | 记录取消 |
3027 | 审核记录已处理 |
3028 | 当前钱包不允许该操作 |
3029 | 输入的 hash 不合法 |
3030 | ChainId 对应的网络不存在 |
3031 | Hash 暂支持传入1个 |
3032 | Data 不能为空 |
3033 | ChainId 不能为空 |
3034 | 数据格式不正确 |
3035 | 数据长度必须介于 0 和 100000 之间 |
3036 | Value 不能为空 |
3037 | Nonce 不能为空 |
3038 | Value 不合法 |
3039 | GasPrice 不合法 |
3040 | GasLimit 过大 |
3041 | MaxPriorityFeePerGas 不合法 |
3042 | MaxFeePerGas 不合法 |
3043 | GasLimit 不能为空 |
3044 | MaxPriorityFeePerGas 小于网络的当前值 |
3045 | MaxFee 太低 |
3046 | GasPrice 和 feePerGas 不能同时为空 |
3047 | 数据长度必须介于 0 和 1000000 之间 |
3048 | Nonce 太小 |
3049 | Nonce 太大 |
3050 | UTXO类型不支持跳过余额检查 |
3051 | 不支持资产 |
3052 | Version 不能为空 |
3053 | Version 错误 |
3054 | 不支持加速币种 |
3055 | 请在创建资产之前备份私钥 |
3056 | FeeRate 必须大于 0 |
3057 | GasLimit 必须大于 0 |
3058 | MaxPriorityFee 必须大于 0 |
3059 | MaxFee 必须大于 0 |
3060 | Hashs 和 dataList 不能同时为空 |
3061 | 不支持此算法 |
3062 | 不支持此应用程序 |
3063 | 签名数据太长 |
3064 | 交易金额不能为 0 |
3065 | 无效的接收地址 |
3066 | GasFeeCap 过低 |
3067 | CoSigner 版本过低 |
3068 | 超过了 UTXO 交易的最大数目,交易失败。请归集后重试 |
3069 | 重复的审批数据 |
3070 | 安全证书已过期 |
3071 | 仅支持标记 API 创建的钱包 |
3072 | 已被用作归集的钱包,无法修改标记 |
3073 | 非 UTXO 类型不允许批量交易 |
3074 | 请求参数不能为空 |
3075 | 不支持 Token 帐户地址,请使用 Owner 地址 |
3076 | 不支持的加速交易 |
3077 | 不支持发起 Connect 交易 |
3078 | 钱包没有 DEPOSIT 标记 |
3079 | 钱包中没有要归集的资产 |
3080 | 没有相应的 Auto Sweep 归集策略 |
3081 | 归集钱包存在黑名单记录 |
3082 | 钱包余额未大于预留 GAS |
3083 | 归集金额不满足 USD 要求 |
3084 | 已经存在正在归集的任务 |
3085 | 账户不支持归集 |
3086 | 该网络不支持归集 |
3087 | 签名数据必须为偶数位 |
3088 | 时间区间不能超过 1 个小时 |
3089 | 仅支持推送 7 天之内失败的事件 |
3090 | 转账金额不能小于 0.01 TON |
9001 | 商户业务唯一 ID 已经存在 |
9002 | 系统维护中,暂停转账 |
9003 | 发送数量的小数精度错误 |
9004 | 费率的小数精度不正确 |
9005 | 隐藏账户不允许修改名称 |
9006 | 隐藏的账户不允许提币 |
9007 | 源账户已冻结 |
9008 | 地址已经存在 |
9009 | 地址格式错误 |
9010 | 存款地址存在安全隐患 |
9011 | 白名单不存在 |
9012 | 地址不存在 |
9013 | 白名单地址状态非法 |
9015 | 目标账户被冻结 |
9016 | 该转账地址存在安全风险,为了您的资产安全,请谨慎操作,如有疑问请联系 Safeheron 支持团队 |
9017 | 手续费不足 |
9018 | 手续费过高 |
9019 | 手续费过低 |
9020 | TRX 币种不支持源地址和目标地址为同一个地址 |
9021 | 要替换的交易不存在 |
9022 | 处于“广播中”的交易才能加速 |
9023 | 不支持加速的币种 |
9024 | 试图由未经授权的用户发起或批准交易 |
9025 | 取款的金额低于规定的最低限额 |
9026 | 没有足够的资金来满足提款要求 |
9027 | 匹配到策略,但审核人不是可以审核的角色 |
9028 | 缺乏相应的交易策略 |
9029 | 目标地址与白名单地址不匹配 |
9030 | 非可以取消的状态 |
9031 | 线上预估手续费大于设置最高手续费限制 |
9032 | 非 UTXO 类型币种 |
9033 | 白名单地址已存在 |
9034 | 地址与 ID 不匹配 |
9035 | 交易记录不存在 |
9036 | 源账户不存在 |
9037 | 账户币种不存在 |
9038 | 暂不支持该币种 |
9039 | 钱包账户数量超过限制 |
9040 | 地址数量超过限制 |
9041 | 钱包名称已存在 |
9042 | 不满足 UTXO 资金归集要求 |
9043 | MPC Sign 当前只支持同一账号 |
9044 | Hash 不合法 |
9045 | 白名单地址已与交易策略关联,请在操作前解除绑定 |
9047 | Gaslimit小于最小值 |
9048 | 风控异常检测 |
9049 | 该转账地址是合约地址存在安全风险 |
9050 | 地址格式错误 |
9051 | 正在广播中请耐心等待 |
9052 | 交易输出已使用,无法加速 |
9053 | 加速交易已上链或nonce已被占用 |
9054 | 白名单地址必须处于已批准状态才能允许转移 |
9055 | UTXO不足 |
9056 | 加速不能重复 |
9057 | RBF加速交易费率高于加速交易费率 |
9058 | GasBudget 太低 |
9059 | GasPrice 太低 |
9060 | SUI 余额不足 |
9061 | 手续费大于归集金额 |
9062 | 白名单地址不存在或已删除 |
9063 | GasUnitPrice 太小 |
9064 | GasUnitPrice 太大 |
9065 | MaxGasAmount 太小 |
9066 | Aptos 替换交易 GasUnitPrice 应大于原始交易 |
9067 | Aptos 替换交易 MaxGasAmount 应等于原始交易 |
9068 | SequenceNumber 太小 |
9069 | SequenceNumber 太大 |
9070 | 加速交易已链接或 SequenceNumber 已被占用 |
9071 | 白名单名称已存在 |
9072 | 不支持的链类型 |
9073 | 白名单数量超出限制 |
9074 | 该白名单有正在审批中的交易,请处理完成后再进行修改 |
9075 | 该白名单修改审批中,禁止再次修改 |
9076 | 系统仅支持将目标地址为一次性地址类型的交易的目标地址添加为白名单 |
9077 | 为了安全,系统仅支持将已完成状态的交易的目标地址添加为白名单 |
9078 | 参数中的地址或 Memo 数据与交易记录不匹配 |
9079 | 不支持此交易类型 |
9080 | 您使用的自定义网络尚未添加,请使用 Safeheron Browser Extension 添加后重试 |
9081 | 仅支持添加 TON Wallet 地址为白名单地址,不支持 Jetton Wallet 地址 |
9082 | 传入的目标地址或 Memo 与白名单不一致 |
数据字典
RSA 加密类型
字典码 | 描述 |
---|---|
ECB_OAEP | RSA/ECB/OAEPWithSHA-256AndMGF1Padding |
AES 加密类型
字典码 | 描述 |
---|---|
GCM_NOPADDING | AES/GCM/NoPadding |
交易状态
字典码 | 描述 |
---|---|
SUBMITTED | 待授权 |
SIGNING | 签名中 |
BROADCASTING | 广播中 |
CONFIRMING | 确认中 |
CANCELLED | 交易取消 |
COMPLETED | 交易成功 |
FAILED | 交易失败 |
REJECTED | 拒绝 |
交易子状态
字典码 | 描述 |
---|---|
CONFIRMED | 确认 |
UN_KNOW_ERROR | 意外错误 |
REVIEW_REJECTED | 审核拒绝 |
TRADING_STRATEGY_BLOCKING | 交易策略阻断 |
MATCHING_RULE_NO_AUDITOR | 匹配到策略,但editor不是可以审核的角色 |
TX_INFO_ERROR | 交易失败 |
NONCE_TOO_LOW | nonce过低 |
INTRINSIC_GAS_TOO_LOW | GasLimit太小,无法完成交易执行 |
INSUFFICIENT_FUNDS | 没有足够的资金来满足提款要求 |
AMOUNT_TOO_SMALL | 取款的金额低于规定的最低限额 |
TRANSACTION_UNDERPRICED | 手续费太小,交易被节点拒绝 |
MISSING_INPUTS | 无效的input |
INVALID_SIGNATURE | 无效的交易签名 |
INTERNAL_ERROR | 处理交易时出现内部错误 |
TIMEOUT | 交易请求已超时 |
PENDING_BLOCKCHAIN_CONFIRMATIONS | 等待区块链确认 |
TAPOS_ERROR | Tapos检查错误 |
NODE_SERVER_BUSY | 节点服务忙 |
DUP_TRANSACTION_ERROR | 交易已上链,再次提交了相同交易 |
TRANSACTION_EXPIRATION_ERROR | 交易过期失效 |
TRANSACTION_EXECUTION_FAILED | 交易上链执行失败 |
BANDWITH_ERROR | 特指Tron交易,账户资源不足,可提高手续费或使用其他帐户将资源委托给该帐户后再发起交易 |
ACCOUNT_DOES_NOT_EXIST | 账户不存在 |
NO_MATCHING_RULE_FOUND | 交易失败,请先配置交易策略 |
WHITELIST_ADDRESS_STATUS_ILLEGAL | 白名单地址状态未审核通过 |
AML_SCREENING_REJECTED | AML检查拒绝 |
CONTRACT_VALIDATE_ERROR | 交易检验错误 |
THE_DEAL_WAS_ABANDONED | 交易被废弃 |
MANUAL_TX_FAIL | 人工处理 |
CANCELLED_BY_USER | 用户取消交易 |
RISK_CHECK_ILLEGAL | 风控检测异常 |
WALLET_NOT_ALLOWED | 该钱包不支持当前操作 |
USER_NO_PERMISSION | 用户无权限 |
EXCHANGE_EMAIL_CONFIRMING | 等待邮件确认 |
EXCHANGE_UN_KNOW_ERROR | 意外错误 |
EXCHANGE_INVALID_INFO | 无效的API密钥,IP或操作权限 |
EXCHANGE_AMOUNT_OVER_LIMIT | 转出金额超过上限 |
EXCHANGE_BALANCE_LACK | 可用余额不足 |
RESET_AUTO_CANCEL | 自动取消 |
REVIEW_OTHERS_REJECTED | 对方审核拒绝 |
TON_BOUNCE_TRANSACTION | 交易被回弹 |
TON_SEQUENCE_INVALID | 无效的 Sequence |
Web3 交易状态
字典码 | 描述 |
---|---|
SUBMITTED | 待授权 |
SIGNING | 签名中 |
CANCELLED | 已取消 |
SIGN_COMPLETED | MPC签名成功 |
FAILED | 失败 |
REJECTED | 已拒绝 |
交易手续费费率等级
字典码 | 描述 |
---|---|
LOW | 低 |
MIDDLE | 中 |
HIGH | 高 |
账户类型
字典码 | 描述 |
---|---|
VAULT_ACCOUNT | 金库账户 |
标签类型
字典码 | 描述 |
---|---|
NONE | 无 |
DEPOSIT | 存款钱包 使用场景:当您需要通过 Safeheron 的 Auto Sweep 应用对钱包资产进行自动化归集时,需要对钱包加此标签 |
交易源账户类型
字典码 | 描述 |
---|---|
VAULT_ACCOUNT | 金库账户 |
PROFILE_ACCOUNT | 名片账户 |
UNKNOWN | 外部账户 |
交易目标账户类型
字典码 | 描述 |
---|---|
VAULT_ACCOUNT | 金库账户 |
PROFILE_ACCOUNT | 名片账户 |
WHITELISTING_ACCOUNT | 白名单账户 |
ONE_TIME_ADDRESS | 陌生地址账户 |
币种白名单状态
字典码 | 描述 |
---|---|
VERIFY_PENDING | 审核中 |
VERIFY_PASS | 审核通过 |
VERIFY_REFUSE | 审核拒绝 |
AML_REFUSE | 风控拒绝 |
币种类型
字典码 | 描述 |
---|---|
NATIVE | 原生资产,比如 ETH、BTC |
ERC20 | ETH 上的代币标准 |
TRC20 | TRON 上的代币标准 |
BEP20 | BSC 上的代币标准 |
TOKEN | 其他代币标准 |
地址类型
字典码 | 描述 |
---|---|
DEFAULT | 普通地址 |
P2PKH | 普通地址 |
P2WPKH | 隔离见证地址 |
P2PKH_CASH | BCH 格式普通地址 |
V4R2 | TON V4R2 钱包地址 |
交易类型
字典码 | 描述 |
---|---|
TRANSACTION | 交易 |
MPC_SIGN | 原始签名 |
交易子类型
字典码 | 描述 |
---|---|
NORMAL | 普通交易 |
UTXO_COLLECTION | UTXO 归集交易 |
ABNORMAL | MPCSign 转出交易或私钥分片合成私钥在外部发起的交易 |
AUTO_SWEEP | 自动归集交易 |
AUTO_FUEL | 自动加油交易 |
UTXO_BATCH_TRANSFER | UTXO 一对多地址转账 |
BOUNCED_TRANSFER | TON 回弹交易 |
ENERGY_RENTAL_TRANSFER | 预付租赁费 |
Web3 签名类型
字典码 | 描述 |
---|---|
ETH_SIGN | ethSign 签名 |
PERSONAL_SIGN | personalSign 签名 |
ETH_SIGN_TYPED_DATA | ethSignTypedData 签名 |
ETH_SIGNTRANSACTION | ethSignTransaction 签名 |
签名算法
字典码 | 描述 |
---|---|
secp256k1 | secp256k1 |
ed25519 | ed25519 |
分页查询方向
字典码 | 描述 |
---|---|
PREV | 向前 |
NEXT | 向后 |
余额检查类型
字典码 | 描述 |
---|---|
BALANCE_CHECK | 余额检查 |
NON_CHECK | 不检查 |
选择 UTXO 类型
字典码 | 描述 |
---|---|
DEFAULT | 从大到小选择 UTXO |
ATTACH_UTXO_FRAGMENTS | 从大到小选择 UTXO 并附加一些 UTXO 碎片 |
EthSignTypedData 版本
字典码 | 描述 |
---|---|
ETH_SIGNTYPEDDATA_V1 | eth_signTypedData_v1 |
ETH_SIGNTYPEDDATA_V3 | eth_signTypedData_v3 |
ETH_SIGNTYPEDDATA_V4 | eth_signTypedData_v4 |
交易方向
字典码 | 描述 |
---|---|
INFLOW | 流入,源地址类型为非 VAULT_ACCOUNT 且目标地址类型为 VAULT_ACCOUNT 的交易视为流入 |
OUTFLOW | 流出,源地址类型为 VAULT_ACCOUNT 且目标地址类型为非 VAULT_ACCOUNT 的交易视为流出 |
INTERNAL_TRANSFER | 内部转账,源地址类型与目标地址类型均为 VAULT_ACCOUNT 的交易视为内部转账 |
API SDK
我们提供 Java/js/golang/python 四种语言的 API SDK:
更新日志
2025-02-27 v2.1.21
- 新增
创建交易 V3
接口
2025-01-13 v2.1.20
- 新增
查询交易审批详情
接口 交易列表 V1
、交易列表 V2
、查询单笔交易
接口返回值添加 isSourcePhishing、isDestinationPhishing 字段- Webhook 交易审核 回调添加 isSourcePhishing、isDestinationPhishing 字段
2025-01-06 v2.1.19
创建白名单
、根据交易创建白名单
、修改白名单
、创建交易
接口添加 memo 字段查询单个白名单
、白名单列表
、查询单笔交易
、交易列表 V1
、交易列表 V2
接口返回值添加 memo 字段
2024-12-10 v2.1.18
- Webhook 回调 新增
TRANSACTION_CUSTOMIZED_CONFIRMING
类型
2024-11-21 v2.1.17
- Webhook 回调 新增
WHITELIST_ADDED
、WHITELIST_UPDATED
、WHITELIST_REMOVED
类型 - Webhook 交易审核 回调添加 transactionDirection 字段
创建 ethSign 签名
、创建 personalSign 签名
、创建 ethSignTypedData 签名
、创建 ethSignTransaction 签名
接口添加 useCustomNetwork 字段交易列表 V1
、交易列表 V2
接口添加 transactionDirection 字段交易列表 V1
、交易列表 V2
、查询单笔交易
接口返回值添加 transactionDirection 字段
2024-10-24 v2.1.16
- 新增
单个钱包账户添加币种 V2
、UTXO 类型币种添加地址组 V2
接口 UTXO 类型币种添加地址组
、钱包账户币种地址组列表
接口添加 customerRefId 字段钱包账户币种地址组列表
接口返回值添加 customerRefId 字段UTXO 类型币种批量添加地址组
接口返回值添加 addressGroupKey、addressGroupName 字段交易列表 V1
、交易列表 V2
、查询单笔交易
接口返回值添加 addressGroupKey 字段
2024-09-13 v2.1.15
- 新增
根据交易创建白名单
接口 获取钱包账户列表
、获取 Web3 钱包账户列表
接口添加 archived 字段创建白名单
、白名单列表
接口添加 hiddenOnUI 字段获取钱包账户列表
、获取单个钱包账户
、获取 Web3 钱包账户列表
接口返回值添加 archived 字段查询单个白名单
、白名单列表
接口返回值添加 hiddenOnUI 字段
2024-08-08 v2.1.14
- 新增
创建白名单
、修改白名单
、查询单个白名单
、白名单列表
、删除白名单
接口 - 新增
重推交易 Webhook 事件
、推送所有失败的 Webhook 事件
接口 创建钱包账户
、创建 Web3 钱包账户
、获取钱包账户列表
、获取单个钱包账户
、获取 Web3 钱包账户列表
接口添加 customerRefId 字段获取钱包账户列表
、获取单个钱包账户
、获取 Web3 钱包账户列表
接口返回值添加 customerRefId 字段创建钱包账户
、单个钱包账户添加币种
、批量钱包账户下添加币种
、获取钱包账户下币种列表
、查询地址余额信息
、钱包账户币种地址组列表
、UTXO 类型币种添加地址组
、UTXO 类型币种批量添加地址组
、创建 Web3 钱包账户
、批量创建 Web3 钱包账户
、获取 Web3 钱包账户列表
接口返回值添加 derivePath 字段
2024-05-16 v2.1.13
- 新增
获取单个钱包账户
接口 - 更新接口请求及响应数据的加密方式,AES 加密方式更新为 GCM,RSA 加密方式更新为 OAEP
2024-04-15 v2.1.12
- API Co-Signer MPC SIGN 审核 sourceAccountKey、note 字段调整
- Webhook 回调 新增
ILLEGAL_IP_REQUEST
、NO_MATCHING_TRANSACTION_POLICY
类型
2024-02-22 v2.1.11
- 新增
UTXO 多地址转账
接口 交易列表 V1
接口返回值添加 sourceAddressList、destinationAddressList 字段交易列表 V2
接口返回值添加 sourceAddressList、destinationAddressList 字段查询单笔交易
接口返回值添加 sourceAddressList、destinationAddressList 字段- Webhook 交易审核 回调添加 sourceAddressList、destinationAddressList 字段
交易手续费费率估算
接口添加 destinationAddressList 字段
2023-11-28 v2.1.10
创建交易
接口添加 gasUnitPrice、maxGasAmount、sequenceNumber 字段交易加速
接口添加 gasUnitPrice、maxGasAmount 字段交易手续费费率估算
接口返回值添加 gasUnitPrice、maxGasAmount 字段
2023-11-09 v2.1.9
创建钱包账户
接口添加 coinKeyList 字段创建钱包账户
接口返回值添加 coinAddressList 字段
2023-10-17 v2.1.8
- 新增
批量标记钱包账户
接口 创建钱包账户
接口添加 accountTag 字段批量创建钱包账户 V1
接口添加 accountTag 字段批量创建钱包账户 V2
接口添加 accountTag 字段获取钱包账户列表
接口返回值添加 accountTag 字段交易列表 V1
接口返回值添加 transactionType 字段交易列表 V2
接口返回值添加 transactionType 字段查询单笔交易
接口返回值添加 transactionType 字段- Webhook 交易审核 回调添加 transactionType 字段
2023-08-17 v2.1.7
创建交易
接口添加 treatAsGrossAmount 字段查询单笔交易
接口返回值添加 speedUpHistory 字段
2023-07-25 v2.1.6
交易手续费费率估算
接口返回值添加 gasBudget 字段
2023-06-29 v2.1.5
- 新增
交易列表 V2
接口 Web3 签名列表
接口添加 createTimeMin、createTimeMax 字段
2023-03-16 v2.1.4
创建交易
接口添加 gasPremium 、gasFeeCap 字段交易手续费费率估算
接口返回值添加 bytesSize、gasPremium、gasFeeCap 字段
2023-02-17 v2.1.3
- 签名算法支持 ed25519
创建 MPC Sign 交易
接口添加 dataList 字段查询单笔 MPC Sign 交易
、MPC Sign 交易列表
接口返回值添加 dataList 字段- Webhook MPCSign 回调添加 dataList 字段
交易手续费费率估算
接口添加 sourceAccountKey 字段
2022-11-24 v2.1.2
交易列表
接口添加hideSmallAmountUsd
查询条件
2022-11-03 v2.1.1
- 新增
批量创建 Web3 钱包账户
接口 币种列表
接口返回值添加 blockchainType 字段- Webhook 回调 新增
WEB3_SIGN_CREATED
、WEB3_SIGN_STATUS_CHANGED
类型 交易手续费费率估算
接口添加 value 字段
2022-09-27 v2.1.0
- 新增
创建 Web3 钱包账户
、获取 Web3 钱包账户列表
接口 - 新增
创建 ethSign 签名
、创建 personalSign 签名
、创建 ethSignTypedData 签名
、创建 ethSignTransaction 签名
、取消签名
接口 - 新增
查询单笔 Web3 签名
、Web3 签名列表
接口 创建交易
接口添加 nonce 、balanceVerifyType 字段
2022-06-30 v2.0.0
- 发布 V2.0.0 版本接口
- 增加文档版本切换功能
- EVM 类币种交易手续费支持 EIP-1559
2022-06-18 v1.0.4
- 增加英文文档
- API 删除
地址簿列表
、创建地址簿
、删除地址簿
、获取单个地址簿白名单列表
、地址薄添加币种白名单
、地址薄删除币种白名单
接口 - Webhook 删除
ACCOUNT_CREATED
、ACCOUNT_COIN_CREATED
、ADDRESS_BOOK_WHITE_LIST_CREATED
、ADDRESS_BOOK_WHITE_LIST_AUDIT_PASSED
、ADDRESS_BOOK_WHITE_LIST_AUDIT_REFUSED
事件类型
2022-01-18 v1.0.3
创建钱包账户
、获取钱包账户列表
接口返回账号压缩公钥信息- 新增
批量创建钱包账户 V2
接口 - 新增
查询地址余额信息
接口 - 新增
创建 MPC Sign 交易
、MPC Sign 交易列表
、查询单笔 MPC Sign 交易
接口 取消交易
接口 添加 txType 字段- API Co-Signer 审核任务新增 MPC_SIGN 类型
- Webhook 回调 新增
MPC_SIGN_CREATED
、MPC_SIGN_STATUS_CHANGED
类型 - 删除
修改钱包账户名称
接口 - 删除
交易列表
接口vaultTxDirection
查询条件 交易列表
接口添加feeCoinKey
查询条件,conKey
查询支持多个币种 Key- 添加
获取币种当前扫块高度
接口
2021-12-03 v1.0.2
- 新增
UTXO 归集交易
接口 - 新增
币种余额快照查询
接口 获取钱包账户列表
接口添加 amlLockUsdBalance 字段创建交易
接口添加 customerExt1 、customerExt2 字段交易列表查询
、单个交易查询
接口返回值添加 customerExt1 、customerExt2、completedTime、amlLock、destinationTag、realDestinationAccountType 字段获取钱包账户下币种列表
接口将原来币种下的 amlLock 字段移动到地址信息中,添加 amlLockBalance 、 amlLockUsdBalance 字段单个钱包账户添加币种
、批量钱包账户下添加币种
、钱包账户币种地址组列表
、UTXO 类型币种添加地址组
、UTXO 类型币种批量添加地址组
接口返回的地址信息中添加 amlLock 字段- API Webhook 交易推送添加 customerExt1 、customerExt2 、amlLock、vaultTxDirection、realDestinationAccountType 字段
- Webhook TransactionParam 中的 status 和 subStatus 修改为 transactionStatus 和 transactionSubStatus
交易列表查询
增加 completedTimeMin、completedTimeMax、 vaultTxDirection、customerRefId、transactionSubStatus、realDestinationAccountType 查询条件
2021-11-17 v1.0.1
- API 版本优化
2021-08-31 v1.0.0
- 创建文档