NAV
Safeheron API Documents
English | 中文

Introduction

Welcome to Safeheron’s Developer Documents.Here, users can explore our range of APIs, designed to provide you with complete control over managing team and streamlining transaction processes. Alongside our powerful APIs, we also offer webhook push notification, enabling users to receive real-time event notifications related to their team.

Through Safeheron's API, you can:

All transactions are recorded in Safeheron's Web Console, history, and webhook.

Getting Started

Overview

To configure webhook and create API accounts, a member with 'Manage API' permission can log into Safeheron Web Console, and navigates to Settings -> API. After creating an API account, users can access the Safeheron API using the corresponding API key.

API Authentication

Safeheron utilizes a secure hybrid encryption approach for its API interfaces, leveraging both symmetric and asymmetric encryption techniques during requests and utilizing asymmetric private keys to sign request parameters. The symmetric encryption algorithm of choice is AES-256, while the asymmetric encryption and signature algorithm is RSA-4096. The exact processes are outlined below:

Safeheron will encrypt and sign the response parameters using the same procedure. You can decrypt the parameters and verify the signature using the following steps:

Generate the RSA private key via OpenSSL (api_private.pem is your API RSA private key):

openssl genpkey -out api_private.pem -algorithm RSA -pkeyopt rsa_keygen_bits:4096

Generate corresponding public key to your RSA private key via OpenSSL (api_public.pem is your API RSA public key):

openssl rsa -in api_private.pem -out api_public.pem -pubout

Note:

IP Whitelisting

When calling the Safeheron API, requests can only be initiated from IP addresses that have been added to your whitelist. You must specify the IP address from which the API Key will be used when creating it.

Example Request

Request Base URL

https://api.safeheron.vip

Request Parameters Before Encryption

Example Request Parameters Before Encryption

{
  "apiKey": "341916e58af445f8aadeb95170218e37",
  "timestamp": "1623038312088",
  "rsaType": "ECB_OAEP",
  "aesType": "GCM_NOPADDING",
  "bizContent": {
    "page": 1,
    "pageSize": 1
  }
}

For a specific format, please refer to request parameter of each interface. Please check the right side for the example.

Request Parameters After Encryption

Example Request Parameters After Encryption

{
  "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"
}

Public Parameters

Parameter Type Description
apiKey string Unique API key identifier assigned by platform
timestamp string Request timestamp, UNIX millisecond-format string
key string Encrypted data of random AES key by Safeheron API RSA public key
sig string Signature data after signing request parameters by your API RSA private key
bizContent object AES-encrypted data of request parameters
rsaType string RSA Algorithm
aesType string AES Algorithm

Example Response

Example Response Encrypted Data

Example Response Encrypted Data

{
  "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"
}

Please refer to the right side.

Response Parameters

Parameter Type Description
code int Response result code
message string Response result description
timestamp string Response timestamp, UNIX millisecond-format string
sig string Signature data after signing response parameters by Safeheron API RSA private key
key string Encrypted data of random AES key by your API RSA public key
bizContent object AES-encrypted data of response parameters
rsaType string RSA Algorithm
aesType string AES Algorithm

Example Decrypted Data of Response Encrypted Data

[
  {
    "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": ""
      }
    ]
  }
]

Example Decrypted bizContent

For a specific format, please refer to response data of each interface.

API List

Wallet Account

Wallet account-related interfaces allows users to create their own wallet and perform wallet-related operations.

List Wallet Accounts

Filter the list of wallet accounts under the team based on various combinations of conditions.

HTTP Request

POST /v1/account/list

Example Request

{
    "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
    }
}

Request Parameters

Parameter Type Required Description
pageNumber int32 No Page number, start from 1 (Default)
pageSize int32 No The number of items per page, the default is 10, max is 100
hiddenOnUI boolean No Filter the wallet accounts based on hiddenOnUI:
Default: Retrieve all wallet accounts
True: Retrieve the wallet accounts with hiddenOnUI set to true
False: Retrieve the wallet accounts with hiddenOnUI set to false
archived boolean No Filter wallets based on archived:
Default: Retrieve all wallets
True: retrieve archived wallets in the Web Console
False: Retrieve unarchived wallets in the Web Console

Archived: Wallets can be set to "archived" in the Web Console. Archived wallets will be invisible in the wallet lists of the App and Web Console. You can view archived wallets in the "Archived Wallets"of the Web Console
customerRefId string No Merchant unique business ID (100 characters max)
namePrefix string No Filter the response based on the prefix of the account name
nameSuffix string No Filter the response based on the suffix of the account name

Example Response

{
  "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"
          }
        ]
      }
    ]
  }
}

Response Data

Parameter Type Description
pageNumber int32 Page number
pageSize int32 The number of bars per page
totalElements int64 Total number of records
content array Data lists per page
└─accountKey string Account Key, the only account identifier
└─customerRefId string Merchant unique business ID
└─accountName string Account name
└─accountIndex int32 Account index
└─accountType string Account type
└─accountTag string Account tag
└─hiddenOnUI boolean Wallet's visibility status in Safeheron App and Web Console
True: Invisible
False: Visible
└─archived boolean Wallet's archive status in Safeheron App and Web Console
True: Archived
False: Unarchived
└─usdBalance string Account balance, in USD when retrieve
└─pubKeys array Account public key information
     └─signAlg string Signature algorithm
     └─pubKey string Account compressed public key

Retrieve a Single Wallet Account

Retrieve a single wallet account in the team by providing accountKey.

HTTP Request

POST /v1/account/one

Example Request

{
    "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"
    }
}

Request Parameters

Parameter Type Required Description
accountKey string No Account key
customerRefId string No Merchant unique business ID (100 characters max)

Example Response

{
  "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"
      }
    ]
  }
}

Response Data

Parameter Type Description
accountKey string Account Key, the only account identifier
customerRefId string Merchant unique business ID
accountName string Account Name
accountIndex int32 Account index
accountType string Account type
accountTag string Account tag
hiddenOnUI boolean Wallet's visibility status in Safeheron App and Web Console
True: Invisible
False: Visible
archived boolean Wallet's archive status in Web Console
True: Archived
False: Unarchived
usdBalance string Account balance, convert it into USD when query
pubKeys array Account public key info
└─signAlg string Signature algorithm
└─pubKey string Account compressed public key

Create a Wallet Account

Create a new wallet account that allows adding multiple cryptocurrencies simultaneously to this wallet account.

HTTP Request

POST /v1/account/create

Example Request

{
    "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"]
    }
}

Request Parameters

Parameter Type Required Description
customerRefId string No Merchant unique business ID (100 characters max)
The customerRefId uniquely represents a wallet. In the case of duplicate customerRefId values (for example, when resubmitting due to request timeouts or other errors), the data returned by the interface will remain consistent
accountName string No Account name, 50 characters max
hiddenOnUI boolean No Visibility status in Safeheron App and Web Console
False: Visible by default
True: Invisible; the invisible whitelist can only be managed and used through the API, such as querying, modifying, and using the whitelist as the source or destination address when initiating transactions
accountTag string No Account tag
coinKeyList array No Coin key list, 20 array elements max

Example Response

{
  "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"
          }
        ]
      }
    ]
  }
}

Response Data

Parameter Type Description
accountKey string Wallet account key
pubKeys array Account public key information
└─signAlg string Signature algorithm
└─pubKey string Account compressed public key
coinAddressList array Coin address list
└─coinKey string Coin key
└─addressGroupKey string The unique identifier of the address group
└─addressGroupName string Address group name
└─addressList array Address list
     └─address string Coin receiving address
     └─addressType string Address type
     └─derivePath string BIP44 derivation path


Batch Create Wallet Accounts V1

Generate a batch of wallet accounts based on a specified quantity. By default, the wallet accounts created in bulk will not be displayed in the Safeheron App. For optimal results, we recommend using the V2 version.

HTTP Request

POST /v1/account/batch/create

Example Request

{
    "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
    }
}

Request Parameters

Parameter Type Required Description
accountName string No The prefix of wallet account name, 50 characters max
hiddenOnUI boolean No Visibility status in Safeheron App and Web Console
False: Visible
True: Invisible by default; the invisible whitelist can only be managed and used through the API, such as querying, modifying, and using the whitelist as the source or destination address when initiating transactions
count int32 Yes Number of wallets to be created, greater than 0, less than 100
accountTag string No Account tag

Example Response

{
  "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"
    ]
  }
}

Response Data

Parameter Type Description
accountKeyList array Wallet account key




Batch Create Wallet Accounts V2

Generate a batch of wallet accounts based on a specified quantity. By default, the wallet accounts created in bulk will not be displayed in the Safeheron App.

HTTP Request

POST /v2/account/batch/create

Example Request

{
    "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
    }
}

Request Parameters

Parameter Type Required Description
accountName string No The prefix of wallet account name, 50 characters max
hiddenOnUI boolean No Visibility status in Safeheron App and Web Console
False: Visible
True: Invisible by default; the invisible whitelist can only be managed and used through the API, such as querying, modifying, and using the whitelist as the source or destination address when initiating transactions
count int32 Yes Number of wallets to be created, greater than 0, less than 100
accountTag string No Account tag

Example Response

{
  "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"
        }
      ]
    }
  ]
}

Response Data

Parameter Type Description
accountKey string Wallet account key
pubKeys array Account public key information
└─signAlg string Signature algorithm
└─pubKey string Account compressed public key






Change Display of Wallet Account in App

Change wallet account status in Safeheron App.

HTTP Request

POST /v1/account/update/show/state

Example Request

{
    "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
    }
}

Request Parameters

Parameter Type Required Description
accountKey string Yes Wallet account key
hiddenOnUI boolean Yes Visibility status in Safeheron App and Web Console
False: Visible by default
True: Invisible; the invisible whitelist can only be managed and used through the API, such as querying, modifying, and using the whitelist as the source or destination address when initiating transactions

Example Response

{
  "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
  }
}

Response Data

Parameter Type Description
result boolean Execution result
True: Success
False: Fail


Batch Label Wallet Accounts

Relabel a batch of wallet accounts.
Please note that it only supports to label wallets which are created by API. And, the wallets have been used to sweep the target account cannot be relabelled.

HTTP Request

POST /v1/account/batch/update/tag

Example Request

{
    "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"
    }
}

Request Parameters

Parameter Type Required Description
accountKeyList array Yes Wallet account key
accountTag string Yes Account tag

Example Response

{
  "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
  }
}

Response Data

Parameter Type Description
result boolean Execution result
True: Success
False: Fail




Add Coins to a Wallet Account V1

Add a new coin to your wallet account, and it will generate address information for the added coin. If the added currency already exists within the account, it will promptly return the existing address information for that coin.
In a wallet account, UTXO-based cryptocurrencies can have multiple address groups, while other types of cryptocurrencies usually have only one. To check whether a particular cryptocurrency supports the addition of multiple address groups, simply check the 'isMultipleAddress' parameter through the Coin List.

HTTP Request

POST /v1/account/coin/create

Example Request

{
    "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"
    }
}

Request Parameters

Parameter Type Required Description
coinKey string Yes Coin key
accountKey string Yes Account key

Example Response

{
  "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"
    }
  ]
}

Response Data

Parameter Type Description
address string Coin receiving address
addressType string Address type
derivePath string BIP44 derivation path








Add Coins to a Wallet Account V2

Add a new coin to your wallet account, and it will generate address information for the added coin. If the added currency already exists within the account, it will promptly return the existing address information for that coin.

HTTP Request

POST /v2/account/coin/create

Example Request

{
    "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"
    }
}

Request Parameters

Parameter Type Required Description
coinKeyList array Yes Coin key list, 20 array elements max
accountKey string Yes Account key

Example Response

{
  "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"
          }
        ]
      }
    ]
  }
}

Response Data

Parameter Type Description
accountKey string Account key
coinAddressList array Coin address list
└─coinKey string Coin key
└─addressGroupKey string The unique identifier of the address group
└─addressGroupName string Address group name
└─addressList array Address list
     └─address string Coin receiving address
     └─addressType string Address type
     └─derivePath string BIP44 derivation path




Batch Add Coins to Wallet Accounts

Bulk addition of a specified coin to designated wallet accounts. And, it generates address information for the coin. If a wallet account already contains the added coin, it will return the address information for that coin.

HTTP Request

POST /v1/account/batch/coin/create

Example Request

{
    "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"
    }
}

Request Parameters

Parameter Type Required Description
coinKey string Yes Coin key
accountKeyList array Yes Account key, max is 100
addressGroupName string No Address group name, 30 characters max

Example Response

{
  "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"
    }
  ]
}

Response Data

Parameter Type Description
addressList array Address list
└─address string Coin receiving address
└─addressType string Address type
└─derivePath string BIP44 derivation path
accountKey string Account key
addressGroupKey string The unique identifier of the address group
addressGroupName string Address group name










List Coins Within a Wallet Account

Retrieve a complete list of all coins associated with a wallet account.

HTTP Request

POST /v1/account/coin/list

Example Request

{
    "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"
    }
}

Request Parameters

Parameter Type Required Description
accountKey string Yes Account key

Example Response

{
  "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"
        }
      ]
    }
  ]
}

Response Data

Parameter Type Description
coinKey string Coin key
coinFullName string Coin full name
coinName string Coin symbol
coinDecimal int32 Coin decimal
txRefUrl string Transaction URL on explorer
addressRefUrl string Block explorer URL
logoUrl string Coin logo URL
symbol string Coin unit
isMultipleAddress string Ability to create multiple address groups
YES: Yes
NO: No
feeCoinKey string Coin key that is used to pay for the transaction fee when conducting a transfer, such as when transferring ERC-20 tokens, transaction fees are paid in ETH
feeUnit string Transaction fee unit name (Gwei, satoshis)
feeDecimal int32 Fee decimal on Safeheron Console
showCoinDecimal int32 Displayed coin decimal on Safeheron Console
balance string Account balance
usdBalance string Account balance, convert it into USD when query
addressList array Coin address list
└─address string Coin receiving address
└─addressType string Address type
└─derivePath string BIP44 derivation path
└─addressBalance string The balance of this coin address

List Coin Address Group of a Wallet Account

Retrieve all address groups for a coin within the wallet account.

HTTP Request

POST /v1/account/coin/address/list

Example Request

{
    "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"
    }
}

Request Parameters

Parameter Type Required Description
pageNumber int32 No Page number, start from 1 (Default)
pageSize int32 No The number of bars per page, the default is 10, max is 100
coinKey string Yes Coin key
accountKey string Yes Account key
customerRefId string No Merchant unique business ID (100 characters max) when adding an address group

Example Response

{
  "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"
          }
        ]
      }
    ]
  }
}

Response Data

Parameter Type Description
pageNumber int32 Page number
pageSize int32 The number of items per page
totalElements int64 Total number of records
content array Data lists per page
└─addressGroupKey string Address group key
└─customerRefId string Merchant unique business ID when adding an address group
└─addressGroupName string Address group name
└─addressList array Address list
     └─address string Coin receiving address
     └─addressType string Address type
     └─derivePath string BIP44 derivation path
     └─addressBalance string The balance of this coin address

Retrieve The Balance of an Address

Retrieve the balance of a specific coin address.

HTTP Request

POST /v1/account/coin/address/info

Example Request

{
    "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"
    }
}

Request Parameters

Parameter Type Required Description
coinKey string Yes Coin key
address string Yes Coin receiving address

Example Response

{
  "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"
  }
}

Response Data

Parameter Type Description
address string Coin receiving address
addressType string Address type
derivePath string BIP44 derivation path
addressBalance string The balance of the coin address
accountKey string Account key




Rename Coin Address Group of a Wallet Account

Rename a coin address group of a wallet account.

HTTP Request

POST /v1/account/coin/address/name

Example Request

{
    "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"
    }
}

Request Parameters

Parameter Type Required Description
addressGroupKey string Yes Address group key
addressGroupName string Yes Address group name, 30 characters max

Example Response

{
  "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
  }
}

Response Data

Parameter Type Description
result boolean Execution result
True: Success
False: Fail






Add Address Group for UTXOs V1

Add a new address group for UTXO-based cryptocurrencies under a wallet account.If the coin has not been added to the wallet, it will be added automatically.

HTTP Request

POST /v1/account/coin/address/create

Example Request

{
    "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"
    }
}

Request Parameters

Parameter Type Required Description
coinKey string Yes Coin key (only supported for UTXOs)
accountKey string Yes Account key
addressGroupName string Yes Address group name, 30 characters max
customerRefId string No Merchant unique business ID (100 characters max)
The customerRefId uniquely represents an address group. In the case of duplicate customerRefId values (for example, when resubmitting due to request timeouts or other errors), the data returned by the interface will remain consistent

Example Response

{
  "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"
    }
  ]
}

Response Data

Parameter Type Description
address string Coin receiving address
addressType string Address type
derivePath string BIP44 derivation path







Add Address Group for UTXOs V2

Add a new address group for UTXO-based cryptocurrencies under a wallet account.If the coin has not been added to the wallet, it will be added automatically.

HTTP Request

POST /v2/account/coin/address/create

Example Request

{
    "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"
    }
}

Request Parameters

Parameter Type Required Description
coinKey string Yes Coin key(only support for UTXOs)
accountKey string Yes Account key
addressGroupName string Yes Address group name, 30 characters max
customerRefId string No Merchant unique business ID (100 characters max)
The customerRefId uniquely represents an address group. In the case of duplicate customerRefId values (for example, when resubmitting due to request timeouts or other errors), the data returned by the interface will remain consistent

Example Response

{
  "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"
      }
    ]
  }
}

Response Data

Parameter Type Description
addressGroupKey string The unique identifier of the address group
addressGroupName string The name of the address group
addressList array Address list
└─address string Coin receiving address
└─addressType string Address type
└─derivePath string BIP44 derivation path



Batch Add Address Groups for UTXOs

For UTXO-based coins in a wallet account, it is possible to add multiple address groups to the account in bulk by specifying the wallet account and the desired number of address groups. The function will return the details of the added address groups. If the specified coin does not exist in the account, it will be added first, followed by the addition of the corresponding number of address groups.

HTTP Request

POST /v1/account/coin/utxo/batch/create

Example Request

{
    "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"
    }
}

Request Parameters

Parameter Type Required Description
coinKey string Yes Coin key (only supported for UTXOs)
accountKey string Yes Account key
count int32 Yes The number, max is 100
addressGroupName string No Address group name prefix, 30 characters max

Example Response

{
  "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"
    }
  ]
}

Response Data

Parameter Type Description
addressList array Address list
└─address string Coin receiving address
└─addressType string Address type
└─derivePath string BIP44 derivation path
accountKey string Account key
addressGroupKey string The unique identifier of the address group
addressGroupName string Address group name

Whitelist

A whitelist is a receiving address pre-approved or permitted by the team. When creating a transaction, you can choose to transfer funds to this address. Click here to learn more about whitelists.

Create a Whitelist

Add a new whitelisted address. The newly added address needs to be approved in the Safeheron App before it becomes effective. The approval details are as follows:

HTTP Request

POST /v1/whitelist/create

Example Request

{
    "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"
    }
}

Request Parameters

Parameter Type Required Description
whitelistName string Yes Whitelist unique name, 30 characters max
chainType string Yes The supported public blockchains for whitelist addresses are:
  • EVM: Ethereum-compatible public chain networks or Layer 2 addresses that can receive its native token and other tokens
  • Bitcoin: Bitcoin mainnet addresses that can receive Bitcoin
  • Bitcoin Cash: Bitcoin Cash network, which can receive BCH
  • Dash: anonymous Dash network, which can receive DASH
  • TRON: Tron mainnet addresses, which can receive TRX and TRC20 tokens, such as USDT and USDC
  • NEAR: NEAR mainnet, which can receive native token NEAR
  • Filecoin: Receive Filecoin native token FIL, but does not support receiving FIL or tokens from the FVM network
  • Sui: Sui mainnet, which can receive native token Sui and other tokens
  • Aptos: Aptos mainnet, which only supports receiving native token Aptos and does not support other tokens yet
  • Solana: Solana mainnet, which can receive native token SOL and other tokens
  • Bitcoin Testnet: Bitcoin testnet, which can receive Bitcoin testnet assets
  • TON: TON mainnet
  • TON_TESTNET: TON testnet
  • address string Yes Public blockchain address and the address format needs to meet the requirements of the chain
    memo string No The memo (up to 20 characters) for the public blockchain address, also known as a comment or tag. This parameter is only valid for the following public blockchain types (chainType):
  • TON: TON mainnet
  • TON_TESTNET: TON testnet
  • hiddenOnUI boolean No Visibility status in Safeheron App and Web Console
    False: Visible by default
    True: Invisible; the invisible whitelist can only be managed and used through the API, such as querying, modifying, and using the whitelist as the destination address when initiating transactions

    Example Response

    {
      "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"
      }
    }
    

    Response Data

    Parameter Type Description
    whitelistKey string Whitelist unique identifier

    Create a Whitelist Based on a Transaction

    Whitelist the transaction's destination address when the transaction meets the following conditions:

    HTTP Request

    POST /v1/whitelist/createFromTransaction

    Example Request

    {
        "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
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    whitelistName string Yes Whitelist unique name, 30 characters max
    txKey string Yes Transaction key
    destinationAddress string Yes The destination address in the transaction record; case-sensitive
    memo string No The memo (up to 20 characters) for the destination address, also known as a comment or tag. For the following networks, if a destination address memo was set initially, a memo matching the one in the transaction record must be provided
  • TON: TON mainnet
  • TON_TESTNET: TON testnet
  • hiddenOnUI boolean No Visibility status in Safeheron App and Web Console
    False: Visible by default
    True: Invisible; the invisible whitelist can only be managed and used through the API, such as querying, modifying, and using the whitelist as the destination address when initiating transactions

    Example Response

    {
      "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"
      }
    }
    

    Response Data

    Parameter Type Description
    whitelistKey string Whitelist unique identifier

    Modify a Whitelist

    Modify a whitelist based on its unique identifier. The whitelist only supports modifying its name and address; whitelists pending for approval cannot be modified. After modifying the whitelist, it needs to be reviewed and approved in the Safeheron App before it becomes effective. The approval details are as follows:

    HTTP Request

    POST /v1/whitelist/edit

    Example Request

    {
        "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
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    whitelistKey string Yes Whitelist unique identifier
    whitelistName string Yes Whitelist unique name, 30 characters max
    address string Yes Public blockchain address and the address format needs to meet the requirements of the chain
    memo string No The memo (up to 20 characters) for the public blockchain address, also known as a comment or tag. This parameter is only valid for the following public blockchain types (chainType):
  • TON: TON mainnet
  • TON_TESTNET: TON testnet
  • force bool No When the whitelist is involved in a transaction approval policy, modifications will result in the new whitelist being directly applied to the approval policy. False by default, meaning that when involved in a transaction approval policy, it will not be modified.

    Example Response

    {
      "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
      }
    }
    

    Response Data

    Parameter Type Description
    result boolean Execution result
    True: Success
    False: Fail


    Retrieve a Single Whitelist

    Retrieve the data of a whitelist.

    HTTP Request

    POST /v1/whitelist/one

    Example Request

    {
        "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"
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    whitelistKey string No Whitelist unique identifier. It is required if address is not provided. If both are provided, the whitelistKey takes precedence
    address string No Whitelist address. It is required if whitelistKey is not provided and please make sure the provided address is correct

    Example Response

    {
      "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
      }
    }
    

    Response Data

    Parameter Type Description
    whitelistKey string Whitelist unique identifier
    chainType string The supported public blockchains for whitelist addresses are:
  • EVM: Ethereum-compatible public chain networks or Layer 2 addresses that can receive its native token and other tokens
  • Bitcoin: Bitcoin mainnet addresses that can receive Bitcoin
  • Bitcoin Cash: Bitcoin Cash network, which can receive BCH
  • Dash: anonymous Dash network, which can receive DASH
  • TRON: Tron mainnet addresses, which can receive TRX and TRC20 tokens, such as USDT and USDC
  • NEAR: NEAR mainnet, which can receive native token NEAR
  • Filecoin: Receive Filecoin native token FIL, but does not support receiving FIL or tokens from the FVM network
  • Sui: Sui mainnet, which can receive native token Sui and other tokens
  • Aptos: Aptos mainnet, which only supports receiving native token Aptos and does not support other tokens yet
  • Solana: Solana mainnet, which can receive native token SOL and other tokens
  • Bitcoin Testnet: Bitcoin testnet, which can receive Bitcoin testnet ass
  • TON: TON mainnet
  • TON_TESTNET: TON testnet
  • whitelistName string Whitelist name
    address string Whitelisted address
    memo string Memo of the address when creating a whitelist
    whitelistStatus string Whitelist status
  • AUDIT: pending approval
  • APPROVED: active
  • REJECTED: rejected
  • hiddenOnUI boolean Visibility status in Safeheron App and Web Console
    True: Invisible
    False: Visible
    createTime int64 Whitelist creation time in UNIX timestamp (ms)
    lastUpdateTime int64 Last update time of the whitelist in UNIX timestamp (ms)

    List Whitelist Data

    Paginate the whitelist data based on the query criteria.

    HTTP Request

    POST /v1/whitelist/list

    Example Request

    {
        "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
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    direct string No Query page direction, NEXT by default
    limit int32 No The number of items to retrieve at a time, default max value is 500
    fromId string No whitelistKey of the first record. If the first page has no value, provide the whitelistKey of the last record from the previous result
    chainType string Yes The supported public blockchains for whitelist addresses are:
  • EVM: Ethereum-compatible public chain networks or Layer 2 addresses that can receive its native token and other tokens
  • Bitcoin: Bitcoin mainnet addresses that can receive Bitcoin
  • Bitcoin Cash: Bitcoin Cash network, which can receive BCH
  • Dash: anonymous Dash network, which can receive DASH
  • TRON: Tron mainnet addresses, which can receive TRX and TRC20 tokens, such as USDT and USDC
  • NEAR: NEAR mainnet, which can receive native token NEAR
  • Filecoin: Receive Filecoin native token FIL, but does not support receiving FIL or tokens from the FVM network
  • Sui: Sui mainnet, which can receive native token Sui and other tokens
  • Aptos: Aptos mainnet, which only supports receiving native token Aptos and does not support other tokens yet
  • Solana: Solana mainnet, which can receive native token SOL and other tokens
  • Bitcoin Testnet: Bitcoin testnet, which can receive Bitcoin testnet ass
  • TON: TON mainnet
  • TON_TESTNET: TON testnet
  • whitelistStatus string No Whitelist status
  • AUDIT: pending approval
  • APPROVED: active
  • REJECTED: rejected
  • hiddenOnUI boolean No Filter the whitelists based on hiddenOnUI:
    Default: Retrieve all whitelists
    True: Retrieve the whitelists with hiddenOnUI set to true
    False: Retrieve the whitelists with hiddenOnUI set to false
    createTimeMin int64 No Start time for creating a whitelist in UNIX timestamp (ms) (If no value is provided, the default value is createTimeMax minus 24 hours)
    createTimeMax int64 No End time for creating a whitelist in UNIX timestamp (ms) (If no value is provided, the default value is the current UTC time)

    Example Response

    {
      "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
        }
      ]
    }
    

    Response Data

    Parameter Type Description
    whitelistKey string Whitelist unique identifier
    chainType string The supported public blockchains for whitelist addresses are:
  • EVM: Ethereum-compatible public chain networks or Layer 2 addresses that can receive its native token and other tokens
  • Bitcoin: Bitcoin mainnet addresses that can receive Bitcoin
  • Bitcoin Cash: Bitcoin Cash network, which can receive BCH
  • Dash: anonymous Dash network, which can receive DASH
  • TRON: Tron mainnet addresses, which can receive TRX and TRC20 tokens, such as USDT and USDC
  • NEAR: NEAR mainnet, which can receive native token NEAR
  • Filecoin: Receive Filecoin native token FIL, but does not support receiving FIL or tokens from the FVM network
  • Sui: Sui mainnet, which can receive native token Sui and other tokens
  • Aptos: Aptos mainnet, which only supports receiving native token Aptos and does not support other tokens yet
  • Solana: Solana mainnet, which can receive native token SOL and other tokens
  • Bitcoin Testnet: Bitcoin testnet, which can receive Bitcoin testnet ass
  • TON: TON mainnet
  • TON_TESTNET: TON testnet
  • whitelistName string Whitelist name
    address string Whitelisted address
    memo string Memo of the address when creating a whitelist
    whitelistStatus string Whitelist status
  • AUDIT: pending approval
  • APPROVED: active
  • REJECTED: rejected
  • hiddenOnUI boolean Whitelist's visibility status in Safeheron App and Web Console
    True: Invisible
    False: Visible
    createTime int64 Whitelist creation time in UNIX timestamp (ms)
    lastUpdateTime int64 Last update time of the whitelist in UNIX timestamp (ms)

    Delete a Whitelist

    To delete a whitelisted address, note that no approval is required for deletion. If a whitelisted address that is under approval is deleted, the approval task will also be automatically cancelled.

    HTTP Request

    POST /v1/whitelist/delete

    Example Request

    {
        "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"
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    whitelistKey string Yes Whitelist unique identifier

    Example Response

    {
      "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
      }
    }
    

    Response Data

    Parameter Type Description
    result boolean Execution result
    True: Success
    False: Fail

    Coins

    The coin-related interface allows users to easily access information such as the list of cryptocurrencies supported by Safeheron, maintenance details for each coin, perform coin address validation, and more.

    Coin List

    Retrieve the list of coins supported by Safeheron.

    HTTP Request

    POST /v1/coin/list

    Example Request

    {
        "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="
    }
    

    Request Parameters

    None

    Example Response

    {
      "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"
        }
      ]
    }
    

    Response Data

    Parameter Type Description
    coinKey string Coin key
    coinFullName string Coin full name
    coinName string Coin symbol
    coinDecimal int32 Coin decimal
    txRefUrl string Transaction URL on explorer
    addressRefUrl string Block explorer URL
    logoUrl string Coin logo URL
    symbol string Coin unit
    isMultipleAddress string Ability to create multiple address groups
    YES: Yes
    NO: No
    feeCoinKey string Coin key that is used to pay for the transaction fee when conducting a transfer, such as when transferring ERC-20 tokens, transaction fees are paid in ETH
    feeUnit string Transaction fee unit name (Gwei, satoshis)
    feeDecimal int32 Fee decimal on Safeheron Console
    showCoinDecimal int32 Displayed coin decimal on Safeheron Console
    coinType string Coin type
    tokenIdentifier string Contract address, NATIVE is the native asset, non-NATIVE is the contract address
    minTransferAmount string Minimum transfer amount, the transfer unit is symbol
    blockChain string Blockchain
    network string Blockchain network
    gasLimit int32 Gas limit set by Safeheron
    isMemo string Pay MEMO included type
    YES: Yes
    NO: No
    isUtxo string UTXO-based currency
    YES: Yes
    NO: No
    blockchainType string Blockchain type

    Coin Maintenance List

    Retrieve the information of coins under maintenance in Safeheron.

    HTTP Request

    POST /v1/coin/maintain/list

    Example Request

    {
      "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="
    }
    

    Request Parameters

    None

    Example Response

    {
      "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
        }
      ]
    }
    

    Response Data

    Parameter Type Description
    coinKey string Coin key
    maintain boolean Under maintenance or not
    title string Maintenance title
    content string Content
    startTime int64 Coin maintenance start time, UNIX time in milliseconds
    endTime int64 Coin maintenance end time, UNIX time in milliseconds



    Verify Coin Address

    Verify the correctness of a cryptocurrency address based on the provided validation attributes.

    HTTP Request

    POST /v1/coin/address/check

    Example Request

    {
        "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
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    coinKey string Yes Coin key
    address string Yes Coin receiving address
    checkContract boolean No Verify contract address (If no value is provided, 'false' by default)
    True: Verify
    False: Not verify
    checkAml boolean No Verify AML compliance (If no value is provided or be verified, AML-compliant address by default)
    True: Verify
    False: Not verify
    checkAddressValid boolean No Verify the validity of address format (If no value is provided, 'false' by dafault)
    True: Verify
    False: Not verify
    checkSolanaOwnerAddress boolean No Verify if the Solana address is the Owner address (If no value is provided, 'false' by default)
    True: Verify
    False: Not verify

    Example Response

    {
      "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
      }
    }
    

    Response Data

    Parameter Type Description
    addressValid boolean Valid address format
    True: Valid address
    False: Invalid address
    contract boolean Contract address
    True: Contract address
    False: Non-contract address
    amlValid boolean Subject to risk control limitations
    True: AML valid address
    False: AML blacklisted address
    solanaOwnerAddress boolean Solana owner address
    True: Solana owner address
    False: Non-solana owner address

    Snapshot the Coin Balance

    Safeheron takes and stores daily snapshots of balances based on the transaction block's creation time in GMT+8. Please note that the snapshot only keeps data within 30 days.

    HTTP Request

    POST /v1/coin/balance/snapshot

    Example Request

    {
        "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"
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    gmt8Date string Yes Only supports querying data within the last 30 days, with the parameter a GMT+8 time in the format of yyyy-MM-dd provided.
    Note: If the provided value is the current date (not a historical date), it will return the balance up to the current time.

    Example Response

    {
      "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"
        }
      ]
    }
    

    Response Data

    Parameter Type Description
    coinKey string Coin key
    coinBalance string Coin balance, displayed in the unit of the symbol specified in the coin list









    Retrieve Current Block Height for Currency

    Retrieve the current block height for a specific cryptocurrency by providing its key.

    HTTP Request

    POST /v1/coin/block/height

    Example Request

    {
        "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"
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    coinKey string Yes Coin key, multiple coin keys are separated by commas

    Example Response

    {
      "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
        }
      ]
    }
    

    Response Data

    Parameter Type Description
    coinKey string Coin key
    localBlockHeight int64 Coin's current block height

    Transaction

    The transaction-related interface provides access to query transaction information, initiate transactions, accelerate transactions, cancel transactions, and more.

    Transaction List V1

    Filter transaction history by various conditions. For optimal results, we recommend using the V2 version.

    HTTP Request

    POST /v1/transactions/list

    Example Request

    {
        "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"
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    pageNumber int32 No Page number, start from 1 (Default)
    pageSize int32 No The number of items per page, the default is 10, max is 100
    sourceAccountKey string No Source account key
    sourceAccountType string No Source account type
    destinationAccountKey string No Destination account key
    destinationAccountType string No Destination account type
    createTimeMin int64 No Start time for creating a transaction, UNIX timestamp (ms)
    createTimeMax int64 No End time for creating a transaction, UNIX timestamp (ms)
    txAmountMin string No Min transaction amount
    txAmountMax string No Max transaction amount
    coinKey string No Coin key, multiple coin keys are separated by commas
    feeCoinKey string No Transaction fee coin key, multiple coin keys are separated by commas
    transactionStatus string No Transaction status
    transactionSubStatus string No Transaction substatus
    completedTimeMin int64 No Min duration for completing a transaction, UNIX timestamp (ms)
    completedTimeMax int64 No Max duration for completing a transaction, UNIX timestamp (ms)
    customerRefId string No Merchant unique business ID
    realDestinationAccountType string No Type of actual destination account
    hideSmallAmountUsd string No Filter out custom transaction amounts, excluding transaction records below a certain amount specified in USD from the query results
    transactionDirection string No Filter transaction history by transaction direction:
    Default: Retrieve all types of transactions
    INFLOW: Retrieve inflows
    OUTFLOW: Retrieve outflows
    INTERNAL_TRANSFER: Retrieve internal transfers

    Example Response

    {
      "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"
          }
        ]
      }
    }
    

    Response Data

    Parameter Type Description
    pageNumber int32 Page number
    pageSize int32 The number of items per page
    totalElements int64 Total number of records
    content array Data lists per page
    └─txKey string Transaction key
    └─txHash string Transaction hash
    └─coinKey string Coin key
    └─txAmount string Transaction amount, the unit is the symbol returned by the coin list
    └─sourceAccountKey string Source account key
    └─sourceAccountType string Source account type
    └─sourceAddress string Source address (If the transaction currency is of UTXO type, please use the sourceAddressList field)
    └─isSourcePhishing bool Source address shows potential phishing risk. Only incoming transactions on EVM chains and TRON are valid
    └─sourceAddressList array Source address list
         └─address string Source address
         └─isSourcePhishing bool Source address shows potential phishing risk. Only incoming transactions on EVM chains and TRON are valid
         └─addressGroupKey string The unique identifier of the address group of the source address, this field is only returned when the transaction source account type is VAULT_ACCOUNT
    └─destinationAccountKey string Destination account key
    └─destinationAccountType string Destination account type
    └─destinationAddress string Destination address (If the transaction currency is of UTXO type, please use the destinationAddressList field)
    └─isDestinationPhishing bool Destination address shows potential phishing risk. Only outgoing transactions on EVM chains and TRON are valid
    └─memo string Memo of the destination address when creating a transaction
    └─destinationAddressList array Destination address list
         └─address string Destination address
         └─isDestinationPhishing bool Destination address shows potential phishing risk. Only outgoing transactions on EVM chains and TRON are valid
         └─memo string Memo of the destination address when creating a transaction
         └─addressGroupKey string The unique identifier of the address group of the destination address, this field is only returned when the destination account type is VAULT_ACCOUNT
         └─amount string Transaction amount
    └─destinationTag string Deprecated. Use parameter memo instead
    └─transactionType string Transaction Subtype
    └─transactionStatus string Transaction status
    └─transactionSubStatus string Transaction substatus
    └─createTime int64 Transaction creation time, UNIX timestamp (ms)
    └─note string Platform note of the transaction when creating a transaction
    └─auditUserKey string Final approver key
    └─createdByUserKey string Creator key
    └─txFee string Transaction fee
    └─feeCoinKey string Coin key that is used to pay for the transaction fee when conducting a transfer, such as when transferring ERC-20 tokens, transaction fees are paid in ETH
    └─replaceTxHash string Quoted transaction hash (Only for sped-up transactions)
    └─customerRefId string Merchant unique business ID
    └─customerExt1 string Merchant extended field
    └─customerExt2 string Merchant extended field
    └─amlLock string Whether the source address contains AML address(es)
    YES: Contain
    NO: Not contain
    └─blockHeight int64 Block height (Available when the transaction status is pending confirmation or success)
    └─completedTime int64 Transaction completion time
    └─realDestinationAccountType string Type of actual destination account
    └─transactionSubStatusDesc string Transaction substatus description
    └─txAmountToUsd string Amount in USD when transact
    └─sourceAccountName string Source account name
    └─sourceAccountTypeName string Source account type name
    └─destinationAccountName string Destination account name
    └─destinationAccountTypeName string Destination account type name
    └─auditUserName string Final approver username
    └─createdByUserName string Creator username
    └─transactionDirection string Transaction Direction

    Transaction List V2

    Filter transaction history by various conditions.

    HTTP Request

    POST /v2/transactions/list

    Example Request

    {
        "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"
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    direct string No Query page direction, NEXT by default
    limit int32 No The number of items to retrieve at a time, default max value is 500
    fromId string No txkey of the first transaction record. If the first page has no value, provide the txKey of the last transaction record from the previous result
    sourceAccountKey string No Source account key
    sourceAccountType string No Source account type
    destinationAccountKey string No Destination account key
    destinationAccountType string No Destination account type
    createTimeMin int64 No Start time for creating a transaction, UNIX timestamp (ms) (If no value is provided, the default value is createTimeMax minus 24 hours)
    createTimeMax int64 No End time for creating a transaction, UNIX timestamp (ms) (If no value is provided, the default value is the current UTC time)
    txAmountMin string No Min transaction amount
    txAmountMax string No Max transaction amount
    coinKey string No Coin key, multiple coin keys are separated by commas
    feeCoinKey string No Transaction fee coin key, multiple coin keys are separated by commas
    transactionStatus string No Transaction status
    transactionSubStatus string No Transaction substatus
    completedTimeMin int64 No Min duration for completing a transaction, UNIX timestamp (ms)
    completedTimeMax int64 No Max duration for completing a transaction, UNIX timestamp (ms)
    customerRefId string No Merchant unique business ID
    realDestinationAccountType string No Type of actual destination account
    hideSmallAmountUsd string No Filter out custom transaction amounts, excluding transaction records below a certain amount specified in USD from the query results
    transactionDirection string No Filter transaction history by transaction direction:
    Default: Retrieve all types of transactions
    INFLOW: Retrieve inflows
    OUTFLOW: Retrieve outflows
    INTERNAL_TRANSFER: Retrieve internal transfers

    Example Response

    {
      "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"
        }
      ]
    }
    

    Response Data

    Parameter Type Description
    txKey string Transaction key
    txHash string Transaction hash
    coinKey string Coin key
    txAmount string Transaction amount, the unit is the symbol returned by the coin list
    sourceAccountKey string Source account key
    sourceAccountType string Source account type
    sourceAddress string Source address (If the transaction currency is of UTXO type, please use the sourceAddressList field)
    isSourcePhishing bool Source address shows potential phishing risk. Only incoming transactions on EVM chains and TRON are valid
    sourceAddressList array Source address list
    └─address string Source address
    └─isSourcePhishing bool Source address shows potential phishing risk. Only incoming transactions on EVM chains and TRON are valid
    └─addressGroupKey string The unique identifier of the address group of the source address, this field is only returned when the transaction source account type is VAULT_ACCOUNT
    destinationAccountKey string Destination account key
    destinationAccountType string Destination account type
    destinationAddress string Destination address (If the transaction currency is of UTXO type, please use the destinationAddressList field)
    isDestinationPhishing bool Destination address shows potential phishing risk. Only outgoing transactions on EVM chains and TRON are valid
    memo string Memo of the destination address when creating a transaction
    destinationAddressList array Destination address list
    └─address string Destination address
    └─isDestinationPhishing bool Destination address shows potential phishing risk. Only outgoing transactions on EVM chains and TRON are valid
    └─memo string Memo of the destination address when creating a transaction
    └─addressGroupKey string The unique identifier of the address group of the destination address, this field is only returned when the destination account type is VAULT_ACCOUNT
    └─amount string Transaction amount
    destinationTag string Deprecated. Use parameter memo instead
    transactionType string Transaction Subtype
    transactionStatus string Transaction status
    transactionSubStatus string Transaction substatus
    createTime int64 Transaction creation time, UNIX timestamp (ms)
    note string Platform note of the transaction when creating a transaction
    auditUserKey string Final approver key
    createdByUserKey string Creator key
    txFee string Transaction fee
    feeCoinKey string Coin key that is used to pay for the transaction fee when conducting a transfer, such as when transferring ERC-20 tokens, transaction fees are paid in ETH
    replaceTxHash string Quoted transaction hash (Only for sped-up transactions)
    customerRefId string Merchant unique business ID
    customerExt1 string Merchant extended field
    customerExt2 string Merchant extended field
    amlLock string Whether the source address contains AML address(es)
    YES: Contain
    NO: Not contain
    blockHeight int64 Block height (Available when the transaction status is pending confirmation or success)
    completedTime int64 Transaction completion time
    realDestinationAccountType string Type of actual destination account
    transactionSubStatusDesc string Transaction substatus description
    txAmountToUsd string Amount in USD when transact
    sourceAccountName string Source account name
    sourceAccountTypeName string Source account type name
    destinationAccountName string Destination account name
    destinationAccountTypeName string Destination account type name
    auditUserName string Final approver username
    createdByUserName string Creator username
    transactionDirection string Transaction Direction

    Create a Transaction - Deprecated

    Create a new transaction.Please use the Create a Transaction V3 interface

    HTTP Request

    POST /v2/transactions/create

    Example Request

    {
        "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
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    customerRefId string Yes Merchant unique business ID (100 characters max)
    The customerRefId uniquely represents a transaction. When a merchant submits the same transaction multiple times, in cases where the customerRefId value is duplicated (eg. resubmission due to request timeout or other errors), the interface returns error code 9001 and the same txKey as before. You can use the Retrieve a Transaction interface to inquire and confirm the transaction details.
    customerExt1 string No Merchant extended field (defined by merchant) shown to merchant (255 characters max)
    customerExt2 string No Merchant extended field (defined by merchant) shown to merchant (255 characters max)
    note string No Platform note of a transaction within 180 characters (blockchain-agnostic)
    coinKey string Yes Coin key
    txFeeLevel string No Transaction Fee Rate Grade
    Choose between transaction fees. If the transaction fee rate is preset, it will take priority
    feeRateDto object No Transaction fee rate, either txFeeLevel or feeRateDto
    └─feeRate string No Fee rate: fee per byte for UTXO, gas price for EVM chains, free limit for TRON (optional) and gas price for SUI
    For tokens support EIP-1559, please provide max priority fee and max fee instead of fee rate
    └─gasLimit string No EVM gas limit
    └─maxPriorityFee string No EIP-1559 max priority fee
    └─maxFee string No EIP-1559 max fee
    └─gasPremium string No Filecoin gas premium, similar to EIP-1559 max priority fee
    └─gasFeeCap string No Filecoin gas fee cap, similar to EIP-1559 max fee
    └─gasBudget string No SUI gas budget, similar to EIP-1559 max fee
    └─gasUnitPrice string No The gas price the transaction sender is willing to pay, similar to EVM gasPrice
    └─maxGasAmount string No The maximum number of gas units that the transaction sender is willing to spend to execute the transaction, similar to EVM gasLimit
    maxTxFeeRate string No Maximum estimated transaction fee rate for a given transaction
    txAmount string Yes Transaction amount
    treatAsGrossAmount boolean No Deduct transaction fee from the transfer amount (only supports account model)
    False by default. If set to true, the transaction fee will be automatically calculated based on the parameter txFeeLevel or feeRateDto and deducted from the transfer amount.
    Please note this parameter can only be considered if a transaction’s asset is a base asset, such as ETH or MATIC.If the asset can’t be used for transaction fees, like USDC, this parameter is ignored
    sourceAccountKey string Yes Source account key
    sourceAccountType string Yes Account type
    destinationAccountKey string No Destination account key
    Wallet account key if the destination is a wallet account
    Whitelist unique identifier if the destination is a whitelist account
    No value is needed if the destination is a new address
    destinationAccountType string Yes Destination account type
    destinationAddress string No This field is required if destinationAccountType is ONE_TIME_ADDRESS
    memo string No The memo (up to 100 characters) for the destination address, also known as a comment or tag. This parameter is valid for transactions on the following networks:
  • TON: TON mainnet
  • TON_TESTNET: TON testnet
  • destinationTag string No Deprecated. Use parameter memo instead
    isRbf boolean No Bitcoin enabled for RBF (Replace-by-fee is a protocol in the Bitcoin mempool that allows for the replacement of an unconfirmed transaction with another one)
    failOnContract boolean No The default setting for the parameter is [true]. This parameter determines whether a transaction can be created when the target address is a smart contract. If set to [false], a transaction can still be created for a contract address
    nonce int64 No Customizable nonce (In blockchain technology, the nonce is a transaction counter that helps to prevent double-spending and replay attacks on a blockchain network)
    sequenceNumber int64 No Customizable sequence number on Aptos, similar to the nonce in the EVM.
    balanceVerifyType string No Balance verification, BALANCE_CHECK by default
    utxoSelectionType string No UTXO Selection, DEFAULT by default

    Example Response

    {
      "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"
      }
    }
    

    Response Data

    Parameter Type Description
    txKey string Transaction key


    Create a Transaction V3

    Create a new transaction.

    HTTP Request

    POST /v3/transactions/create

    Example Request

    {
        "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
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    customerRefId string Yes Merchant unique business ID (100 characters max)
    The customerRefId uniquely represents a transaction. When a merchant submits the same transaction multiple times, in cases where the customerRefId value is duplicated (eg. resubmission due to request timeout or other errors), the interface will return the same txKey as before. You can use the Retrieve a Transaction interface to inquire and confirm the transaction details.
    customerExt1 string No Merchant extended field (defined by merchant) shown to merchant (255 characters max)
    customerExt2 string No Merchant extended field (defined by merchant) shown to merchant (255 characters max)
    note string No Platform note of a transaction within 180 characters (blockchain-agnostic)
    coinKey string Yes Coin key
    txFeeLevel string No Transaction Fee Rate Grade
    Choose between transaction fees. If the transaction fee rate is preset, it will take priority
    feeRateDto object No Transaction fee rate, either txFeeLevel or feeRateDto
    └─feeRate string No Fee rate: fee per byte for UTXO, gas price for EVM chains, free limit for TRON (optional) and gas price for SUI
    For tokens support EIP-1559, please provide max priority fee and max fee instead of fee rate
    └─gasLimit string No EVM gas limit
    └─maxPriorityFee string No EIP-1559 max priority fee
    └─maxFee string No EIP-1559 max fee
    └─gasPremium string No Filecoin gas premium, similar to EIP-1559 max priority fee
    └─gasFeeCap string No Filecoin gas fee cap, similar to EIP-1559 max fee
    └─gasBudget string No SUI gas budget, similar to EIP-1559 max fee
    └─gasUnitPrice string No The gas price the transaction sender is willing to pay, similar to EVM gasPrice
    └─maxGasAmount string No The maximum number of gas units that the transaction sender is willing to spend to execute the transaction, similar to EVM gasLimit
    maxTxFeeRate string No Maximum estimated transaction fee rate for a given transaction
    txAmount string Yes Transaction amount
    treatAsGrossAmount boolean No Deduct transaction fee from the transfer amount (only supports account model)
    False by default. If set to true, the transaction fee will be automatically calculated based on the parameter txFeeLevel or feeRateDto and deducted from the transfer amount.
    Please note this parameter can only be considered if a transaction’s asset is a base asset, such as ETH or MATIC.If the asset can’t be used for transaction fees, like USDC, this parameter is ignored
    sourceAccountKey string Yes Source account key
    sourceAccountType string Yes Account type
    destinationAccountKey string No Destination account key
    Wallet account key if the destination is a wallet account
    Whitelist unique identifier if the destination is a whitelist account
    No value is needed if the destination is a new address
    destinationAccountType string Yes Destination account type
    destinationAddress string No This field is required if destinationAccountType is ONE_TIME_ADDRESS
    memo string No The memo (up to 100 characters) for the destination address, also known as a comment or tag. This parameter is valid for transactions on the following networks:
  • TON: TON mainnet
  • TON_TESTNET: TON testnet
  • isRbf boolean No Bitcoin enabled for RBF (Replace-by-fee is a protocol in the Bitcoin mempool that allows for the replacement of an unconfirmed transaction with another one)
    failOnContract boolean No The default setting for the parameter is [true]. This parameter determines whether a transaction can be created when the target address is a smart contract. If set to [false], a transaction can still be created for a contract address
    nonce int64 No Customizable nonce (In blockchain technology, the nonce is a transaction counter that helps to prevent double-spending and replay attacks on a blockchain network)
    sequenceNumber int64 No Customizable sequence number on Aptos, similar to the nonce in the EVM.
    balanceVerifyType string No Balance verification, BALANCE_CHECK by default
    utxoSelectionType string No UTXO Selection, DEFAULT by default

    Example Response

    {
      "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
      }
    }
    

    Response Data

    Parameter Type Description
    txKey string Transaction key
    customerRefId string Merchant unique business ID for transaction creation
    idempotentRequest bool With idempotentRequest set to true, the system enforces idempotency by returning the original txKey for duplicate customerRefIds, preventing redundant transaction creation


    UTXO Batch Transaction

    For UTXOs that natively support multiple OUTPUTs, this interface allows a single transaction to transfer funds to multiple destination addresses simultaneously.(To use the Co-Signer, please use version 1.5.9 or higher)

    HTTP Request

    POST /v1/transactions/utxo/multidest/create

    Example Request

    {
        "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"
            }
          ]
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    customerRefId string Yes Merchant unique business ID (100 characters max)
    customerExt1 string No Merchant extended field (defined by merchant) shown to merchant (255 characters max)
    customerExt2 string No Merchant extended field (defined by merchant) shown to merchant (255 characters max)
    note string No Transaction note (180 characters max)
    coinKey string Yes Coin Key (Only supports UTXO-based currencies, such as Bitcoin, Bitcoin Cash, Dash)
    txFeeLevel string No Transaction Fee Rate Grade
    Choose between the transaction fee rate. If the transaction fee rate is preset, it will take priority
    feeRateDto object No Transaction fee rate, either txFeeLevel or feeRateDto
    └─feeRate string No Fee rate: fee per byte for UTXO
    maxTxFeeRate string No Maximum estimated transaction fee rate for a given transaction
    sourceAccountKey string Yes Source account key
    sourceAccountType string Yes Account type
    destinationAddressList array Yes Destination address list
    └─address string Yes Destination address
    └─amount string Yes Transaction amount
    destinationTag string No Destination tag
    isRbf boolean No Bitcoin enabled for RBF (Replace-by-fee is a protocol in the Bitcoin mempool that allows for the replacement of an unconfirmed transaction with another one)
    utxoSelectionType string No UTXO Selection, DEFAULT by default

    Example Response

    {
      "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"
      }
    }
    

    Response Data

    Parameter Type Description
    txKey string Transaction key

    Speed Up Transactions

    Speed up transactions facing delayed on-chain confirmation due to low transaction fees. The supported blockchains are as follows:

    HTTP Request

    POST /v2/transactions/recreate

    Example Request

    {
        "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"
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    txKey string Yes Transaction key
    txHash string Yes Transaction hash
    coinKey string Yes Coin key
    txFeeLevel string No Transaction Fee Rate Grade
    Choose between the transaction fee rate. If the transaction fee rate is preset, it will take priority
    feeRateDto object No Transaction fee rate, either txFeeLevel or feeRateDto
    └─feeRate string No Fee rate: fee per byte for UTXO and gas price for EVM chains
    └─gasLimit string No EVM gas limit
    └─maxPriorityFee string No EIP-1559 max priority fee
    └─maxFee string No EIP-1559 max fee
    └─gasPremium string No Filecoin gas premium, similar to EIP-1559 max priority fee
    └─gasFeeCap string No Filecoin gas fee cap, similar to EIP-1559 max fee
    └─gasUnitPrice string No The gas price the transaction sender is willing to pay, similar to EVM gasPrice
    └─maxGasAmount string No The maximum number of gas units that the transaction sender is willing to spend to execute the transaction, similar to EVM gasLimit

    Example Response

    {
      "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"
      }
    }
    

    Response Data

    Parameter Type Description
    txKey string Transaction key


    Retrieve a Transaction

    To query a transaction, either customerRefId or txKey are required. If both values are provided, the retrieval will be based on the txKey.

    HTTP Request

    POST /v1/transactions/one

    Example Request

    {
        "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"
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    txKey string No Transaction key
    customerRefId string No Merchant unique business ID (100 characters max)

    Example Response

    {
      "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"
        }]
      }
    }
    

    Response Data

    Parameter Type Description
    txKey string Transaction key
    txHash string Transaction hash
    coinKey string Coin key
    txAmount string Transaction amount, the unit is the symbol returned by the coin list
    sourceAccountKey string Source account key
    sourceAccountType string Source account type
    sourceAddress string Source address (If the transaction currency is of UTXO type, please use the sourceAddressList field)
    isSourcePhishing bool Source address shows potential phishing risk. Only incoming transactions on EVM chains and TRON are valid
    sourceAddressList array Source address list
    └─address string Source address
    └─isSourcePhishing bool Source address shows potential phishing risk. Only incoming transactions on EVM chains and TRON are valid
    └─addressGroupKey string The unique identifier of the address group of the source address, this field is only returned when the transaction source account type is VAULT_ACCOUNT
    destinationAccountKey string Destination account key
    destinationAccountType string Destination account type
    destinationAddress string Destination address (If the transaction currency is of UTXO type, please use the destinationAddressList field)
    isDestinationPhishing bool Destination address shows potential phishing risk. Only outgoing transactions on EVM chains and TRON are valid
    memo string Memo of the destination address when creating a transaction
    destinationAddressList array Destination address list
    └─address string Destination address
    └─isDestinationPhishing bool Destination address shows potential phishing risk. Only outgoing transactions on EVM chains and TRON are valid
    └─memo string Memo of the destination address when creating a transaction
    └─addressGroupKey string The unique ID of the address group of the destination address, this field is only returned when the destination account type is VAULT_ACCOUNT
    └─amount string Transaction amount
    destinationTag string Deprecated. Use parameter memo instead
    transactionType string Transaction Subtype
    transactionStatus string Transaction status
    transactionSubStatus string Transaction substatus
    createTime int64 Transaction creation time, UNIX timestamp (ms)
    note string Platform note of the transaction when creating a transaction
    auditUserKey string Final approver key
    createdByUserKey string Creator key
    txFee string Transaction fee
    feeCoinKey string Coin key that is used to pay for the transaction fee when conducting a transfer, such as when transferring ERC-20 tokens, transaction fees are paid in ETH
    replaceTxHash string Quoted transaction hash (Only for sped-up transactions)
    customerRefId string Merchant unique business ID
    customerExt1 string Merchant extended field
    customerExt2 string Merchant extended field
    amlLock string Whether the source address contains AML address(es)
    YES: Contain
    NO: Not contain
    blockHeight int64 Block height (for confirming transaction and succeeded transaction)
    completedTime int64 Transaction completion time
    realDestinationAccountType string Type of actual destination account
    transactionSubStatusDesc string Transaction substatus description
    txAmountToUsd string Amount in USD when transact
    sourceAccountName string Source account name
    sourceAccountTypeName string Source account type name
    destinationAccountName string Destination account name
    destinationAccountTypeName string Destination account type name
    auditUserName string Final approver username
    createdByUserName string Creator username
    speedUpHistory array Transaction history (resulting from sped-up transactions); Only have a value once the current transaction has been accelerated
    transactionDirection string Transaction Direction

    Retrieve Transaction Approval Details

    Query approval details of a transaction. Exclusively for transactions using the new advanced transaction policy. Learn more about new advanced transaction policies

    HTTP Request

    POST /v1/transactions/approvalDetail

    Example Request

    {
        "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"]
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    txKeyList array Yes Transaction key list within 20 transaction keys

    Example Response

    {
      "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"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          }
        ]
      }
    }
    

    Response Data

    Parameter Type Description
    approvalDetailList array List of transaction approval details, excluding the following transactions:
  • Transactions using old transaction policies
  • Transactions that do not exist in the system
  • Incoming fund transactions
  • └─txKey string Transaction key
    └─approvalStatus string Approval status:
  • PENDING_APPROVAL: Pending approval
  • APPROVED: Approved
  • REJECTED: Rejected
  • CANCELLED: Cancelled
  • BLOCKED_BY_POLICY: Blocked by policy
  • FAILED: Failed
  • └─policyName string Name of triggered policy
    └─approvalProgress object Approval progress details
         └─recipientApproval object Approval progress details on the recipient end.
    This field is only returned when the receiving address is Connect and the counterparty has set up incoming funds approval (except when the transaction approval status is BLOCKED_BY_POLICY)
              └─connectId string Recipient Connect ID
              └─name string Recipient Connect profile name
              └─approvalStatus string Approval status on the recipient end:
  • PENDING_APPROVAL: Pending approval
  • APPROVED: Approved
  • REJECTED: Rejected
  • CANCELLED: Approval cancelled
  •      └─teamApproval array Approval progress. Proceeds to team approval after Connect recipient approval (if any) is completed.
              └─type string
  • SINGLE: Single transaction limit
  • CUMULATIVE: Cumulative limit
  •           └─limitBy string
  • VALUE: Limited by value
  • AMOUNT: Limited by token denomination amount
  • COUNT: Limited by transaction count, only available for CUMULATIVE (cumulative limit)
  •           └─range array Limit range of limitBy in a format as: [min, max],which means: min <= limitBy < max, where max is -1 means there's no maximum limit
              └─timePeriod int64 Hour-based limit time period of limitBy.This field is only returned when type is CUMULATIVE
              └─approvalNodes array Approval node. If the transaction is blocked by policy, as the transaction approval status is BLOCKED_BY_POLICY, there will be no approval nodes
                   └─threshold int64 Approval threshold of the node
                   └─name string Approval node name
                   └─approvalStatus string Current approval status of the approval node:
  • PENDING_APPROVAL: Pending approval
  • APPROVED: Approved
  • REJECTED: Rejected
  • CANCELLED: Approval cancelled. The following situations will result in the current approval node being in "Approval cancelled" status:
    1. A member in the node cancel the transaction
    2. A preceding approval node cancel or reject the approval, all subsequent nodes will automatically change to "Approval cancelled" status
    3. The Connect recipient (if any) cancel or reject approval, all nodes will automatically change to "Approval cancelled" status
    4. Transaction is cancelled before the approval completing, all nodes will automatically change to "Approval cancelled" status
  •                └─members array Approval member
                        └─auditUserKey string Approver unique identifier
                        └─auditUserName string Approver name
                        └─isCoSigner bool Whether the approver is API Co-Signer
                        └─approvalStatus string Approval status of current approver:
  • PENDING_APPROVAL: Pending approval
  • APPROVED: Approved
  • REJECTED: Rejected
  • CANCELLED: Cancelled
  • Estimate Transaction Fee

    This interface provides users with an estimated range of transaction fee rates of a given cryptocurrency when creating or speeding up transactions.

    HTTP Request

    POST /v2/transactions/getFeeRate

    Example Request

    {
        "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"
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    coinKey string Yes Coin key
    txHash string No Transaction hash, pass the original transaction hash when speed up transaction estimation
    sourceAccountKey string No Source account key (Required for UTXOs)
    sourceAddress string No Source address is required for TRON, Solana and TON when estimating transaction fees. For EVM-based transactions, it is required when retrieving the gas limit on the blockchain, otherwise a default fixed gas limit will be returned. For Aptos-based transactions, it is required when retrieving the max gas amount on the blockchain, otherwise a default fixed max gas amount will be returned
    destinationAddress string No Destination address is required for Solana and TON when estimating transaction fees while it's optional for TRON and FIL (providing it may result in a more accurate fee estimation). For EVM-based transactions, it is required when retrieving the gas limit on the blockchain, otherwise a default fixed gas limit will be returned. For Aptos-based transactions, it is required when retrieving the max gas amount on the blockchain, otherwise a default fixed max gas amount will be returned
    memo string No The memo (up to 100 characters) for the destination address, also known as a comment or tag. This parameter is valid for transactions on the following networks:
  • TON: TON mainnet
  • TON_TESTNET: TON testnet
  • destinationAddressList array No Destination address list (Use this field only when the transaction currency is of UTXO type and involves transferring funds to multiple addresses in a single transaction)
    └─address string No Destination address
    └─amount string No Transaction amount
    value string No Transfer amount (It can estimate transaction fee more accurately)

    Example Response

    {
      "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"
        }
      }
    }
    

    Response Data

    Parameter Type Description
    feeUnit string Fee rate unit
    minFeeRate object Minimum fee rate
    lowFeeRate object Fee rate when the transaction fee rate is low
    middleFeeRate object Fee rate when the transaction fee rate is medium
    highFeeRate object Fee rate when the transaction fee rate is high
    └─feeRate string Fee rate, UTXO fee per byte, EVM gas price, TRON fee limit and SUI gas price
    └─fee string Estimated transaction fee
    └─gasLimit string EVM gas limit
    └─baseFee string EIP-1559 base fee
    └─maxPriorityFee string EIP-1559 max priority fee
    └─maxFee string EIP-1559 max fee, different from maxTxFeeRate in API
    └─bytesSize string The number of bytes for a UTXO, excluding UTXOs that are less than 1,000 satoshis
    └─gasPremium string Filecoin gas premium, similar to EIP-1559 max priority fee
    └─gasFeeCap string Filecoin gas fee cap, similar to EIP-1559 max fee
    └─gasBudget string SUI gasBudget
    └─gasUnitPrice string The gas price the transaction sender is willing to pay, similar to EVM gasPrice
    └─maxGasAmount string The maximum number of gas units that the transaction sender is willing to spend to execute the transaction, similar to EVM gasLimit
















    Cancel Transaction

    Cancel the authorization-pending transaction and the signing-in-progress transaction.

    HTTP Request

    POST /v1/transactions/cancel

    Example Request

    {
        "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"
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    txKey string Yes Transaction key
    txType string No Transaction type, TRANSACTION by default

    Example Response

    {
      "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
      }
    }
    

    Response Data

    Parameter Type Description
    result boolean Execution result
    True: Success
    False: Fail






    UTXO Sweeping

    For multi-address UTXOs under a wallet account, this interface allows users to collect the balances of certain qualifying addresses into a specified destination address.

    HTTP Request

    POST /v1/transactions/utxo/collection

    Example Request

    {
        "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"
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    customerRefId string Yes Merchant unique business ID (100 characters max)
    customerExt1 string No Merchant extended field (defined by merchant) shown to merchant (255 characters max)
    customerExt2 string No Merchant extended field (defined by merchant) shown to merchant (255 characters max)
    note string No Transaction note (180 characters max)
    coinKey string Yes Coin key
    txFeeRate string No Transaction fee rate, the unit is the feeUnit returned by the coin list
    txFeeLevel string No Transaction Fee Rate Grade
    Choose between the transaction fee rate. If the transaction fee rate is preset, it will take priority
    maxTxFeeRate string No Maximum estimated transaction fee rate for a given transaction
    minCollectionAmount string No Minimum sweeping amount
    sourceAccountKey string Yes Source wallet account key
    sourceAccountType string Yes Account type, pass value VAULT_ACCOUNT
    destinationAccountKey string Yes Destination wallet account key
    destinationAccountType string Yes Destination account type, providing a value VAULT_ACCOUNT
    destinationAddress string No Destination address

    Example Response

    {
      "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
      }
    }
    

    Response Data

    Parameter Type Description
    txKey string Transaction key
    collectionAmount string Sweeping amount, the unit is the symbol returned by the coin list
    collectionNum int32 Number of collections

    Web3 API

    Web3 API Introduction

    Safeheron offers institutional clients a secure governance solution through a universal multi-signature approval system for Web3 applications, such as DeFi, NFT, etc. Through our API, users can effortlessly initiate transactions and seamlessly connect to various Web3 applications related to DeFi, NFT, and more, thereby automating your Web3 operations.

    The following APIs are supported:

    1. eth_sign
    2. personal_sign
    3. eth_signTypedData
    4. eth_signTransaction

    Create a Web3 Wallet Account

    Create a new Web3 wallet account.

    HTTP Request

    POST /v1/web3/account/create

    Example Request

    {
        "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
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    customerRefId string No Merchant unique business ID (100 characters max)
    The customerRefId uniquely represents a wallet. In the case of duplicate customerRefId values (for example, when resubmitting due to request timeouts or other errors), the data returned by the interface will remain consistent
    accountName string No Account name, 50 characters max
    hiddenOnUI boolean No Visibility status in Safeheron App and Web Console
    False: Visible by default
    True: Invisible; the invisible wallet can only be managed and used through the API, such as querying and using the wallet as the source account when initiating Web3 signing

    Example Response

    {
      "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"
          }
        ]
      }
    }
    

    Response Data

    Parameter Type Description
    accountKey string Account Key, the only account identifier
    accountName string Account name
    hiddenOnUI boolean Wallet's visibility status in Safeheron App and Web Console
    True: Invisible
    False: Visible
    pubKeyList array Account public key information
    └─signAlg string Signature algorithm, currently supports secp256k1
    └─pubKey string Account compressed public key
    addressList array Address list
    └─blockchainType string Blockchain type
    └─derivePath string BIP44 derivation path
    └─address string Coin receiving address

    Batch Create Web3 Wallet Accounts

    Create a batch of wallet accounts based on specified number. Web3 wallet accounts created in batches are not displayed in the Safeheron App by default.

    HTTP Request

    POST /v1/web3/batch/account/create

    Example Request

    {
        "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
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    accountName string No The prefix of wallet account name, 50 characters max
    hiddenOnUI boolean No Visibility status in Safeheron App and Web Console
    False: Visible by default
    True: Invisible; the invisible wallet can only be managed and used through the API, such as querying and using the wallet as the source account when initiating Web3 signing
    count int32 Yes Number of wallets to be created, greater than 0, less than 100

    Example Response

    {
      "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"
            }
          ]
        }
      ]  
    }
    

    Response Data

    Parameter Type Description
    accountKey string Account Key, the only account identifier
    pubKeyList array Account public key information
    └─signAlg string Signature algorithm, currently supports secp256k1
    └─pubKey string Account compressed public key
    addressList array Address list
    └─blockchainType string Blockchain type
    └─derivePath string BIP44 derivation path
    └─address string Coin receiving address

    List Web3 Wallet Accounts

    Filter Web3 wallet account lists by various conditions.

    HTTP Request

    POST /v1/web3/account/list

    Example Request

    {
        "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
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    direct string No Query page direction, NEXT by default
    limit int32 No The number of items to retrieve at a time, default max value is 500
    fromId string No accountKey of the first wallet
    customerRefId string No Merchant unique business ID (100 characters max)
    namePrefix string No Filter the response based on this account name prefix
    hiddenOnUI boolean No Filter the wallet accounts based on hiddenOnUI:
    Default: Retrieve all wallet accounts
    True: Retrieve the wallet accounts with hiddenOnUI set to true
    False: Retrieve the wallet accounts with hiddenOnUI set to false
    archived boolean No Filter wallets based on archived:
    Default: Retrieve all wallets
    True: retrieve archived wallets in the Web Console
    False: Retrieve unarchived wallets in the Web Console

    Archived: Wallets can be set to "archived" in the Web Console. Archived wallets will be invisible in the wallet lists of the App and Web Console. You can view archived wallets in the "Archived Wallets"of the Web Console

    Example Response

    {
      "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"
            }
          ]
        }
      ]
    }
    

    Response Data

    Parameter Type Description
    accountKey string Account Key, the only account identifier
    customerRefId string Merchant unique business ID
    accountName string Account name
    hiddenOnUI boolean Wallet's visibility status in Safeheron App and Web Console
    True: Invisible
    False: Visible
    archived boolean Wallet's archive status in Safeheron App and Web Console
    True: Archived
    False: Unarchived
    pubKeyList array Account public key information
    └─signAlg string Signature algorithm, currently supports secp256k1
    └─pubKey string Account compressed public key
    addressList array Address list
    └─blockchainType string Blockchain type
    └─derivePath string BIP44 derivation path
    └─address string Coin receiving address

    Create ethSign

    Merchants can initiate an ethSign signature through this interface. The merchant is required to serialize the transaction data, generating a corresponding hash (supporting both 0x and non-0x formatted data). The hash is then submitted through this interface to create a signature, which can be obtained by Retrieve a Single Web3 Signature interface or webhook. From there, merchants can complete the subsequent steps according to their own needs once they have obtained the signature.

    HTTP Request

    POST /v1/web3/sign/ethSign

    Example Request

    {
        "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"]
          }
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    accountKey string Yes Source account key
    customerRefId string Yes Merchant unique business ID (100 characters max)
    The customerRefId uniquely represents a transaction. When a merchant submits the same transaction multiple times, in cases where the customerRefId value is duplicated (eg. resubmission due to request timeout or other errors), the interface returns error code 9001 and the same txKey as before. You can use the Retrieve a Transaction interface to inquire and confirm the transaction details.
    note string No Note
    customerExt1 string No Merchant extended field (defined by merchant) shown to merchant (255 characters max)
    customerExt2 string No Merchant extended field (defined by merchant) shown to merchant (255 characters max)
    useCustomNetwork boolean No Use custom network
    False: Use the network supported by Safeheron by default
    True: Use a custom network added through the Safeheron Browser Extension
    messageHash object Yes Message Hash
    └─chainId int64 Yes Chain ID (Does not participate in signing, only the hash is used for signing)
    └─hash array Yes Pending signature hash, hexadecimal string (Currently only supports one input)

    Example Response

    {
      "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"
      }
    }
    

    Response Data

    Parameter Type Description
    txKey string Transaction key


    Create personalSign

    Merchants can initiate a personalSign signature for any text using this interface. The merchant only needs to prepare the data to be signed and submit it through this interface to create the signature. The resulting signature can then be obtained by Retrieve a Single Web3 Signature interface or via webhook. From there, merchants can complete the subsequent steps according to their own needs once they have obtained the signature.

    HTTP Request

    POST /v1/web3/sign/personalSign

    Example Request

    {
        "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"
          }
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    accountKey string Yes Source account key
    customerRefId string Yes Merchant unique business ID (100 characters max)
    The customerRefId uniquely represents a transaction. When a merchant submits the same transaction multiple times, in cases where the customerRefId value is duplicated (eg. resubmission due to request timeout or other errors), the interface returns error code 9001 and the same txKey as before. You can use the Retrieve a Transaction interface to inquire and confirm the transaction details.
    note string No Note
    customerExt1 string No Merchant extended field (defined by merchant) shown to merchant (255 characters max)
    customerExt2 string No Merchant extended field (defined by merchant) shown to merchant (255 characters max)
    useCustomNetwork boolean No Use custom network
    False: Use the network supported by Safeheron by default
    True: Use a custom network added through the Safeheron Browser Extension
    message object Yes Message
    └─chainId int64 Yes Chain ID (Does not participate in signing, only the data is used for signing)
    └─data string Yes Data to be signed

    Example Response

    {
      "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"
      }
    }
    

    Response Data

    Parameter Type Description
    txKey string Transaction key

    Create ethSignTypedData

    Merchants can initiate an ethSignTypedData signature of specific formatted data (supporting data formats of v1, v3, and v4) through this interface. Merchants will need to format their signature data and submit it through the interface. Once the signature is created, the result can be retrieved via Retrieve a Single Web3 Signature interface or webhook. From there, merchants can complete the subsequent steps according to their own needs once they have obtained the signature.

    HTTP Request

    POST /v1/web3/sign/ethSignTypedData

    Example Request

    {
        "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"
          }
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    accountKey string Yes Source account key
    customerRefId string Yes Merchant unique business ID (100 characters max)
    The customerRefId uniquely represents a transaction. When a merchant submits the same transaction multiple times, in cases where the customerRefId value is duplicated (eg. resubmission due to request timeout or other errors), the interface returns error code 9001 and the same txKey as before. You can use the Retrieve a Transaction interface to inquire and confirm the transaction details.
    note string No Note
    customerExt1 string No Merchant extended field (defined by merchant) shown to merchant (255 characters max)
    customerExt2 string No Merchant extended field (defined by merchant) shown to merchant (255 characters max)
    useCustomNetwork boolean No Use custom network
    False: Use the network supported by Safeheron by default
    True: Use a custom network added through the Safeheron Browser Extension
    message object Yes Message
    └─chainId int64 Yes Chain ID (Does not participate in signing, only the data is used for signing)
    └─data string Yes Data to be signed
    └─version string Yes EthSignTypedData Version

    Example Response

    {
      "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"
      }
    }
    

    Response Data

    Parameter Type Description
    txKey string Transaction key


    Create ethSignTransaction

    Merchants can initiate ethSignTransaction signature transactions through this interface. The merchant must prepare transaction-related data, such as from, to, nonce, gas limit, gas price, value, data, and more. Once this data is submitted, a signature is created and the result can be obtained by Retrieve a Single Web3 Signature interface or webhook. From there, merchants can complete the subsequent steps according to their own needs once they have obtained the signature.

    HTTP Request

    POST /v1/web3/sign/ethSignTransaction

    Example Request

    {
        "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
          }
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    accountKey string Yes Source account key
    customerRefId string Yes Merchant unique business ID (100 characters max)
    The customerRefId uniquely represents a transaction. When a merchant submits the same transaction multiple times, in cases where the customerRefId value is duplicated (eg. resubmission due to request timeout or other errors), the interface returns error code 9001 and the same txKey as before. You can use the Retrieve a Transaction interface to inquire and confirm the transaction details.
    note string No Note
    customerExt1 string No Merchant extended field (defined by merchant) shown to merchant (255 characters max)
    customerExt2 string No Merchant extended field (defined by merchant) shown to merchant (255 characters max)
    useCustomNetwork boolean No Use custom network
    False: Use the network supported by Safeheron by default
    True: Use a custom network added through the Safeheron Browser Extension
    transaction object Yes Transaction
    └─to string No To
    └─value string Yes Value (Unit: wei)
    └─chainId int64 Yes Chain ID
    └─gasPrice string No Gas price
    └─gasLimit int32 Yes Gas limit
    └─maxPriorityFeePerGas string No Max priority fee per gas for EIP-1559
    └─maxFeePerGas string No Max fee per gas for EIP-1559
    └─nonce int64 Yes Nonce
    └─data string No Data

    Example Response

    {
      "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"
      }
    }
    

    Response Data

    Parameter Type Description
    txKey string Transaction key



    Cancel Signature

    Cancel pending signatures.

    HTTP Request

    POST /v1/web3/sign/cancel

    Example Request

    {
        "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"
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    txKey string Yes Transaction key

    Example Response

    {
      "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
      }
    }
    

    Response Data

    Parameter Type Description
    result boolean Execution result
    True: Success
    False: Fail







    Retrieve a Single Web3 Signature

    To query a specific Web3 signature, provide either the customerRefId or txKey parameter. If both are provided, the query will be performed based on the txKey value.

    HTTP Request

    POST /v1/web3/sign/one

    Example Request

    {
        "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"
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    txKey string No Transaction key
    customerRefId string No Merchant unique business ID (100 characters max)

    Example Response

    {
      "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
            }
          ]
        }
      }
    }
    

    Response Data

    Parameter Type Description
    txKey string Transaction key
    accountKey string Source account key
    sourceAddress string Source address
    transactionStatus string Transaction status
    transactionSubStatus string Transaction substatus
    createdByUserKey string Creator key
    createdByUserName string Creator username
    createTime int64 Transaction creation time, UNIX timestamp (ms)
    auditUserKey string Final approver key
    auditUserName string Final approver username
    customerRefId string Merchant unique business ID
    note string Note
    customerExt1 string Merchant extended field
    customerExt2 string Merchant extended field
    balance string Account balance
    tokenBalance string Token balance
    symbol string Coin unit
    tokenSymbol string Token name
    subjectType string Signature Type
    transaction object This field is returned when the signature type is ETH_SIGNTRANSACTION
    └─to string To
    └─value string Value
    └─chainId int64 Chain ID
    └─gasPrice string Gas price
    └─gasLimit int32 Gas limit
    └─maxPriorityFeePerGas string Max priority fee per gas for EIP-1559
    └─maxFeePerGas string Max fee per gas for EIP-1559
    └─nonce int64 Nonce
    └─data string Data
    └─txHash string Transaction hash (This value is returned for signed transactions)
    └─signedTransaction string Hexadecimal data (This value is returned for signed transactions)
    └─sig object Data pending for signing and signature result
         └─hash string Signature-pending data
         └─sig string Signature (For a completed signed transaction, return this field; the sig value for the Secp256k1 algorithm consists of 32 bytes r + 32 bytes s + 1 byte v)
    message object This field is returned when the signature type is PERSONAL_SIGN or ETH_SIGN_TYPED_DATA
    └─chainId int64 Chain ID
    └─data string Data
    └─sig object Data pending for signing and signature result
         └─hash string Signature-pending data
         └─sig string Signature (For a completed signed transaction, return this field; the sig value for the Secp256k1 algorithm consists of 32 bytes r + 32 bytes s + 1 byte v)
    messageHash object This field is returned when the signature type is ETH_SIGN
    └─chainId int64 Chain ID
    └─sigList array Signature list
         └─hash string Signature-pending data
         └─sig string Signature (For a completed signed transaction, return this field; the sig value for the Secp256k1 algorithm consists of 32 bytes r + 32 bytes s + 1 byte v)

    Web3 Sign Transaction List

    Filter Web3 Sign history by various conditions.

    HTTP Request

    POST /v1/web3/sign/list

    Example Request

    {
        "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
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    direct string No Query page direction, NEXT by default
    limit int32 No The amount of items to retrieve at a time, the default max value is 500
    fromId string No txkey of the first transaction record. If the first page has no value, provide the txKey of the last transaction record from the previous result
    subjectType string No Web3 Sign type
    transactionStatus array No Transaction status
    accountKey string No Source account key
    startTime int64 No Start time, UNIX time in milliseconds(Deprecated, please use parameter createTimeMin instead)
    endTime int64 No End time, UNIX time in milliseconds(Deprecated, please use parameter createTimeMax instead)
    createTimeMin int64 No Start time for creating a transaction, UNIX timestamp (ms) (If no value is provided, the default value is createTimeMax minus 24 hours)
    createTimeMax int64 No End time for creating a transaction, UNIX timestamp (ms) (If no value is provided, the default value is the current UTC time)

    Example Response

    {
      "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
              }
            ]
          }
        }
      ]
    }
    

    Response Data

    Parameter Type Description
    txKey string Transaction key
    accountKey string Source account key
    sourceAddress string Source address
    transactionStatus string Transaction status
    transactionSubStatus string Transaction substatus
    createdByUserKey string Creator key
    createdByUserName string Creator username
    createTime int64 Transaction creation time, UNIX timestamp (ms)
    auditUserKey string Final approver key
    auditUserName string Final approver username
    customerRefId string Merchant unique business ID
    note string Note
    customerExt1 string Merchant extended field
    customerExt2 string Merchant extended field
    balance string Account balance
    tokenBalance string Token balance
    symbol string Coin unit
    tokenSymbol string Token name
    subjectType string Signature type
    transaction object This field is returned when the signature type is ETH_SIGNTRANSACTION
    └─to string To
    └─value string Value
    └─chainId int64 Chain ID
    └─gasPrice string Gas price
    └─gasLimit int32 Gas limit
    └─maxPriorityFeePerGas string Max priority fee per gas for EIP-1559
    └─maxFeePerGas string Max fee per gas for EIP-1559
    └─nonce int64 Nonce
    └─data string Data
    └─txHash string Transaction hash (This value is returned for signed transactions)
    └─signedTransaction string Hexadecimal data (This value is returned for signed transactions)
    └─sig object Data pending for signing and signature result
         └─hash string Signature-pending data
         └─sig string Signature (For a completed signed transaction, return this field; the sig value for the Secp256k1 algorithm consists of 32 bytes r + 32 bytes s + 1 byte v)
    message object This field is returned when the signature type is PERSONAL_SIGN or ETH_SIGN_TYPED_DATA
    └─chainId int64 Chain ID
    └─data string Data
    └─sig object Data pending for signing and signature result
         └─hash string Signature-pending data
         └─sig string Signature (For a completed signed transaction, return this field; the sig value for the Secp256k1 algorithm consists of 32 bytes r + 32 bytes s + 1 byte v)
    messageHash object This field is returned when the signature type is ETH_SIGN
    └─chainId int64 Chain ID
    └─sigList array Signature list
         └─hash string Signature-pending data
         └─sig string Signature (For a completed signed transaction, return this field; the sig value for the Secp256k1 algorithm consists of 32 bytes r + 32 bytes s + 1 byte v)

    MPC Sign

    MPC Sign Introduction

    Safeheron has opened its MPC-based underlying signature capabilities, allowing you to flexibly apply the "signable but invisible-key" feature of MPC signature algorithms to scenarios, such as:

    Here's how to create and sign an ETH transaction via MPC Sign:

    Single private key signing process:

    1. Prepare transaction data: from, to, nonce, gasLimit, gasPrice, value, data
    2. Serialize: rawTransaction = RLP (from, to, nonce, gasLimit, gasPrice, value, data)
    3. Calculate transaction data hash: hash = sha3(rawTransaction)
    4. Sign transaction data hash by single private key: sig = secp256k1Sign (private key, hash)
    5. Signed transaction data: signedRawTransaction = RLP(from, to, nonce, gasLimit, gasPrice, value, data, sig)
    6. Calculate transaction hash: txHash = sha3(signedRawTransaction)
    7. Broadcast transaction: rpc.submitTransaction (signedRawTransaction)

    When automating the above process, it becomes necessary to use a single private key in the server, which can introduce various security risks such as the possibility of private key leaks. To address the security concerns related to a single private key, you can utilize Safeheron's MPC Sign interface for distributed signing. The Safeheron MPC Sign signing process ensures that the original private key is never stored in program memory. By employing MPC technology, distributed signing is achieved while also maintaining the security of the private key.

    Revised process via Safeheron MPC Sign:

    1. [Customer] Prepare transaction data: from, to, nonce, gasLimit, gasPrice, value, data
    2. [Customer] Serialize: rawTransaction = RLP(from, to, nonce, gasLimit, gasPrice, value, data)
    3. [Customer] Calculate transaction data hash: hash = sha3(rawTransaction)
    4. [Customer+Safeheron] Sign transaction data hash by single private key: sig = secp256k1Sign (private key, hash)
    5. [Customer] Signed transaction data: signedRawTransaction = RLP (from, to, nonce, gasLimit, gasPrice, value, data, sig)
    6. [Customer] Calculate transaction hash: txHash = sha3(signedRawTransaction)
    7. [Customer] Broadcast transaction: rpc.submitTransaction (signedRawTransaction)

    Upon comparing the two processes, it is evident that the revised process using Safeheron MPC Sign involves signing the hash using the Safeheron MPC Sign during the signing process with the private key. The resulting signature is then returned and can be seamlessly integrated into the client's existing business logic.
    Note: Currently, the MPC protocol supports signature algorithms such as Secp256k1 and Ed25519, with plans to add support for other signature algorithms such as BLS and Schnorr in the future.

    API

    Create a Wallet Account

    Create a wallet account.

    Create an MPC Sign Transaction

    Merchant can initiate MPC Sign via this interface. The merchant must first serialize the transaction data and generate a hash before using this interface to submit the hash and create a transaction. The resulting signature can be retrieved via the MPC Sign transaction interface or webhook. The merchant can proceed with the necessary follow-up processes to obtain the signature according to their specific needs.

    HTTP Request

    POST /v1/transactions/mpcsign/create

    Example Request

    {
        "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"
            }
          ]
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    customerRefId string Yes Merchant unique business ID (100 characters max)
    The customerRefId uniquely represents a transaction. When a merchant submits the same transaction multiple times, in cases where the customerRefId value is duplicated (eg. resubmission due to request timeout or other errors), the interface returns error code 9001 and the same txKey as before. You can use the Retrieve a Transaction interface to inquire and confirm the transaction details.
    customerExt1 string No Merchant extended field (defined by merchant) shown to merchant (255 characters max)
    customerExt2 string No Merchant extended field (defined by merchant) shown to merchant (255 characters max)
    sourceAccountKey string Yes Source account key
    signAlg string Yes Signature algorithm
    hashs array Yes Transaction signature hash list (Deprecated, please use parameter dataList instead)
    └─note string No Transaction note (180 characters max) (Deprecated, please use parameter dataList instead)
    └─hash string Yes Original signature hash, 32-byte hex string not starting with 0x (Deprecated, please use parameter dataList instead)
    dataList array Yes List of transaction data to be signed
    └─note string No Transaction note (180 characters max)
    └─data string Yes Transaction data to be signed (View description below for details)

    Example Response

    {
      "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"
      }
    }
    

    Response Data

    Parameter Type Description
    txKey string Transaction key


    Retrieve a Single MPC Sign Transaction

    To query a specific MPC Sign transaction, either customerRefId or txKey must be provided. If both parameters are provided, the query will be based on the txKey parameter.

    HTTP Request

    POST /v1/transactions/mpcsign/one

    Example Request

    {
        "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"
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    txKey string No Transaction key
    customerRefId string No Merchant unique business ID (100 characters max)

    Example Response

    {
      "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"
          }
        ]
      }
    }
    

    Response Data

    Parameter Type Description
    txKey string Transaction key
    transactionStatus string Transaction status
    transactionSubStatus string Transaction substatus
    createTime int64 Transaction creation time, UNIX timestamp (ms)
    sourceAccountKey string Source account key
    auditUserKey string Final approver key
    createdByUserKey string Creator key
    customerRefId string Merchant unique business ID
    customerExt1 string Merchant extended field
    customerExt2 string Merchant extended field
    signAlg string Signature algorithm
    auditUserName string Final approver username
    createdByUserName string Creator username
    hashs array Transaction signature hash list (Deprecated, please use parameter dataList instead)
    └─note string Note (Deprecated, please use parameter dataList instead)
    └─hash string Original signature hash, 32-byte hex string not starting with 0x (Deprecated, please use parameter dataList instead)
    └─sig string ~~Transaction signature (Secp256k1 is 32r+32s+1v ed25519: 32R+32s) ~~(Deprecated, please use parameter dataList instead)
    dataList array List of transaction data to be signed
    └─note string Transaction note
    └─data string Transaction data to be signed
    └─sig string Transaction signature (The value of sig for Secp256k1 algorithm consists of 32 bytes r + 32 bytes s + 1 byte v;
    The value of sig for Ed25519 algorithm consists of 32 bytes r + 32 bytes s)

    MPC Sign Transaction List

    Filter MPC Sign transaction history by various conditions.

    HTTP Request

    POST /v1/transactions/mpcsign/list

    Example Request

    {
        "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
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    direct string No Query page direction, NEXT by default
    limit int32 No The number of items to retrieve at a time, default max value is 500
    fromId string No txkey of the first transaction record. If the first page is not provided, then provide the txKey of the last transaction record from the previous result
    createTimeMin int64 No Start time for creating a transaction, UNIX timestamp (ms) (If no value is provided, the default value is createTimeMax minus 24 hours)
    createTimeMax int64 No End time for creating a transaction, UNIX timestamp (ms) (If no value is provided, the default value is the current UTC time)

    Example Response

    {
      "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"
            }
          ]
        }
      ]
    }
    

    Response Data

    Parameter Type Description
    txKey string Transaction key
    transactionStatus string Transaction status
    transactionSubStatus string Transaction substatus
    createTime int64 Transaction creation time, UNIX timestamp (ms)
    sourceAccountKey string Source account key
    auditUserKey string Final approver key
    createdByUserKey string Creator key
    customerRefId string Merchant unique business ID
    customerExt1 string Merchant extended field
    customerExt2 string Merchant extended field
    signAlg string Signature algorithm
    auditUserName string Final approver username
    createdByUserName string Creator username
    hashs array Transaction signature hash list (Deprecated, please use parameter dataList instead)
    └─note string Note (Deprecated, please use parameter dataList instead)
    └─hash string Original signature hash, 32-byte hex string not starting with 0x (Deprecated, please use parameter dataList instead)
    └─sig string ~~Transaction signature (Secp256k1 is 32r+32s+1v ed25519: 32R+32) ~~(Deprecated, please use parameter dataList instead)
    dataList array List of transaction data to be signed
    └─note string Transaction note
    └─data string Transaction data to be signed (Note: This field won't be returned if the transaction's algorithm is Ed25519)
    └─sig string Transaction signature (The value of sig for Secp256k1 algorithm consists of 32 bytes r + 32 bytes s + 1 byte v;
    The value of sig for Ed25519 algorithm consists of 32 bytes r + 32 bytes s)

    Webhook

    Webhook Overview

    Statement: The webhook service will make every effort to provide event notifications; however, due to network interruptions, node data delays, server failures, or other uncontrollable factors, it cannot guarantee the delivery or timely delivery of notifications. For critical scenarios, it is recommended to use query interfaces in conjunction to ensure the reliability and timeliness of information.

    Safeheron's webhook interface delivers proactive event notifications to your team. Such as:

    To receive event notifications, log in to the Safeheron Console with a user account that has API management permission, and configure your webhook information in Settings-> API interface.

    To ensure secure webhook callback, the same data encryption and signature scheme used in API Authentication is employed. Therefore, it is important to configure your webhook RSA public key in the Safeheron Console. You can generate an RSA public-private key pair by referring to the API Authentication. Once generated, you can obtain your Safeheron webhook RSA public key in the Safeheron Console. You'll need to use this public key to verify the signature of the callback data being received.

    Callback Request

    Safeheron will send a POST request to the webhook callback address that you have set up in the Console, The HTTP request header will contain Content-Type : application/json;charset=UTF-8.

    Callback Request Parameters

    Example Callback Request

    {
      "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"
        }
      }
    }
    
    Parameter Type Description
    timestamp string Callback timestamp, UNIX millisecond-format string
    bizContent string AES-encrypted data of request parameters
    sig string Signature data obtained by signing the request parameters via Safeheron webhook RSA private key
    key string Data obtained by using webhook RSA public key encrypt random AES key
    rsaType string RSA Algorithm
    aesType string AES Algorithm

    Follow these steps to decrypt and verify the callback data:

    After receiving the webhook push notification, you need to return a successful response (HTTP status code 200), and the format of the successful response content is fixed as follows:

    Example Webhook Response

    { 
      "code": "200",
      "message": "SUCCESS"
    }
    

    Example shown on the right:

    Parameter Type Description
    code string Webhook success response code: 200
    message string Returned information from webhook, successful is fixed as SUCCESS

    If Safeheron receives a response with a status code other than 200 or a response content that does not conform to the specified success format, the push notification will be regarded as failed. Safeheron will then automatically resend the notification with a frequency of 30s, 1m, 5m, 1h, 12h, and 24h.

    Event Format

    Decrypted data format of bizContent field as shown in the right:

    Example Event Format

    {
      "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"
      }
    }
    
    Parameter Type Description
    eventType string Callback event type
    eventDetail object Callback event details

    Event Type

    eventType eventDetail Description
    TRANSACTION_CREATED TransactionParam Create a transaction
    TRANSACTION_STATUS_CHANGED TransactionParam Change the transaction status
    TRANSACTION_CUSTOMIZED_CONFIRMING TransactionParam With custom block confirmations, once the number of blocks reaches the custom number, the webhook will push TRANSACTION_CUSTOMIZED_CONFIRMING event notification. This notification will not be pushed if there are no custom block confirmations

    Note:
    As webhook cannot guarantee the delivery of notifications (Statement), and when the webhook prioritizes sending the TRANSACTION_STATUS_CHANGED event with a transaction status of COMPLETED, the system will no longer send the TRANSACTION_CUSTOMIZED_CONFIRMING event. Therefore, it is recommended to use the TRANSACTION_STATUS_CHANGED event in conjunction with the transaction query interface to ensure the reliability of transaction information and avoid relying solely on the TRANSACTION_CUSTOMIZED_CONFIRMING event notification
    MPC_SIGN_CREATED MPCSignParam Create an MPC Sign transaction
    MPC_SIGN_STATUS_CHANGED MPCSignParam Change the MPC Sign transaction status
    WEB3_SIGN_CREATED Web3SignParam Create a Web3 Sign transaction
    WEB3_SIGN_STATUS_CHANGED Web3SignParam Change the Web3 Sign transaction status
    ILLEGAL_IP_REQUEST IllegalIpRequestParam Invalid IP request
    NO_MATCHING_TRANSACTION_POLICY NoMatchingTransactionPolicyParam No matching transaction policy
    WHITELIST_ADDED WhiteListAddedParam The newly added whitelist has been approved and is now valid
    WHITELIST_UPDATED WhiteListUpdatedParam The changes made to the valid whitelist have been approved
    WHITELIST_REMOVED WhiteListRemovedParam The valid whitelist has been deleted

    Event Details

    TransactionParam

    Example 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"
    }
    
    Parameter Type Description
    txKey string Transaction key
    txHash string Transaction hash
    coinKey string Coin key
    txAmount string Transaction amount, the unit is the symbol returned by the coin list
    sourceAccountKey string Source account key
    sourceAccountType string Source account type
    sourceAddress string Source address (If the transaction currency is of UTXO type, please use the sourceAddressList field)
    isSourcePhishing bool Source address shows potential phishing risk. Only incoming transactions on EVM chains and TRON are valid
    sourceAddressList array Source address list
    └─address string Source address
    └─isSourcePhishing bool Source address shows potential phishing risk. Only incoming transactions on EVM chains and TRON are valid
    └─addressGroupKey string The unique ID of the address group of the source address; This field is only returned when the transaction source account type is VAULT_ACCOUNT
    destinationAccountKey string Destination account key
    destinationAccountType string Destination account type
    destinationAddress string Destination address (If the transaction currency is of UTXO type, please use the destinationAddressList field)
    isDestinationPhishing bool Destination address shows potential phishing risk. Only outgoing transactions on EVM chains and TRON are valid
    memo string Memo of the destination address when creating a transaction
    destinationAddressList array Destination address list
    └─address string Destination address
    └─isDestinationPhishing bool Destination address shows potential phishing risk. Only outgoing transactions on EVM chains and TRON are valid
    └─memo string Memo of the destination address when creating a transaction
    └─addressGroupKey string The unique ID of the address group of the destination address, this field is only returned when the destination account type is VAULT_ACCOUNT
    └─amount string Transaction amount
    destinationTag string Deprecated. Use parameter memo instead
    transactionType string Transaction Subtype
    transactionStatus string Transaction status
    transactionSubStatus string Transaction substatus
    createTime int64 Transaction creation time, UNIX timestamp (ms)
    note string Platform note of the transaction when creating a transaction
    auditUserKey string Final approver key
    createdByUserKey string Creator key
    txFee string Transaction fee
    feeCoinKey string Coin key that is used to pay for the transaction fee when conducting a transfer, such as when transferring ERC-20 tokens, transaction fees are paid in ETH
    replaceTxHash string Quoted transaction hash (Only for sped-up transactions)
    customerRefId string Merchant unique business ID
    customerExt1 string Merchant extended field
    customerExt2 string Merchant extended field
    amlLock string Whether the source address contains AML address(es)
    YES: Contain
    NO: Not contain
    blockHeight int64 Block height (Available when the transaction status is pending confirmation or success)
    completedTime int64 Transaction completion time
    realDestinationAccountType string Type of actual destination account
    transactionDirection string Transaction Direction

    MPCSignParam

    Example 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": ""
        }
      ]
    }
    
    Parameter Type Description
    txKey string Transaction key
    signAlg string Signature algorithm
    transactionStatus string Transaction status
    transactionSubStatus string Transaction substatus
    sourceAccountKey string Source account key
    auditUserKey string Final approver key
    createdByUserKey string Creator key
    createTime int64 Transaction creation time, UNIX timestamp (ms)
    customerRefId string Custom unique business identifier; Safeheron employs this field to perform idempotent checks
    customerExt1 string Merchant extended field
    customerExt2 string Merchant extended field
    hashs array Source account information for transaction signatures (Deprecated, please use parameter dataList instead)
    └─note string Transaction note (Deprecated, please use parameter dataList instead)
    └─hash string Signature hash (Deprecated, please use parameter dataList instead)
    └─sig string Transaction signature (The value of sig consists of 32 bytes r + 32 bytes s + 1 byte v)~~ (Deprecated, please use parameter dataList instead)
    dataList array List of transaction data to be signed
    └─note string Transaction note
    └─data string Transaction data to be signed
    └─sig string Transaction signature (The value of sig consists of 32 bytes r + 32 bytes s + 1 byte v)

    Web3SignParam

    Example 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
          }
        ]
      }
    }
    
    Parameter Type Description
    txKey string Transaction key
    subjectType string Signature type
    accountKey string Source account key
    sourceAccountType string Source account type
    sourceAddress string Source address
    transactionStatus string Transaction status
    transactionSubStatus string Transaction substatus
    createdByUserKey string Creator key
    createTime int64 Transaction creation time, UNIX timestamp (ms)
    auditUserKey string Final approver key
    note string Note
    customerExt1 string Merchant extended field
    customerExt2 string Merchant extended field
    transaction object This field is returned when the signature type is ETH_SIGNTRANSACTION
    └─to string To
    └─value string Value
    └─chainId int64 Chain ID
    └─gasPrice string Gas price
    └─gasLimit int32 Gas limit
    └─maxPriorityFeePerGas string EIP-1559 max priority fee per gas
    └─maxFeePerGas string EIP-1559 max fee per gas
    └─nonce int64 Nonce
    └─data string Data
    └─txHash string Transaction hash (This value is returned for signed transactions)
    └─signedTransaction string Hexadecimal data (This value is returned for signed transactions)
    └─sig object Signature
         └─hash string Hash
         └─sig string Signature (This value is returned for signed transactions)
    message object This field is returned when the signature type is PERSONAL_SIGN or ETH_SIGN_TYPED_DATA
    └─chainId int64 Chain ID
    └─data string Data
    └─sig object Signature
         └─hash string Hash
         └─sig string Signature (This value is returned for signed transactions)
    messageHash object This field is returned when the signature type is ETH_SIGN
    └─chainId int64 Chain ID
    └─sigList array Signature list
         └─hash string Hash
         └─sig string Signature (This value is returned for signed transactions)

    IllegalIpRequestParam

    Example 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": ""
    }
    
    Parameter Type Description
    apiKey string Unique API key identifier assigned by platform
    IllegalIP string Invalid IP
    requestURI string Request-URI
    requestTimestamp string Request timestamp, UNIX millisecond-format string
    requestData string Request Parameters
    errorMessage string Wrong information

    NoMatchingTransactionPolicyParam

    Example NoMatchingTransactionPolicyParam

    {
      "txKey": "tx697eebea3a61440a8edf6f0a783d19b2",
      "amount": "0.0001",
      "coinKey": "ETH(SEPOLIA)_ETHEREUM_SEPOLIA",
      "fromAccountKey": "accounta5867fecbbbc4a4f876532c87477407a",
      "fromAddress": "0xCa104eA8CB4722e33a3E68eD4D12d3569594FBC5",
      "toType": "VAULT_ACCOUNT",
      "toAccountKey": "accounta0259e8c481c345ca922f489961bc331b",
      "toAddress": "0xCa104eA8CB4722e33a3E68eD4D12d3569594FBC5"
    }
    
    Parameter Type Description
    txKey string Transaction key
    amount string Transaction amount
    coinKey string Coin key
    fromAccountKey string Source account key
    fromAddress string Source address
    toType string Destination account type
    toAccountKey string Destination account key
    toAddress string Destination address

    WhiteListAddedParam

    Example WhiteListAddedParam

    {
      "whitelistKey": "whitelistKeyExample",
      "whitelistName": "whitelistNameExample",
      "chainType": "EVM",
      "address": "0xFA8667a8135B889E853D87eD6d6350d35ecaeEF7",
      "memo": "memoExample",
      "approvalTime": 1690361332392
    }
    
    Parameters Type Description
    whitelistKey string Whitelist unique identifier
    whitelistName string Whitelist name
    chainType string The public blockchain of the whitelisted address
    address string Whitelisted addresses
    memo string Memo of the address when creating a whitelist
    approvalTime int64 The time when the whitelist is approved

    WhiteListUpdatedParam

    Example WhiteListUpdatedParam

    {
      "whitelistKey": "whitelistKeyExample",
      "whitelistName": "whitelistNameExample",
      "chainType": "EVM",
      "address": "0xFA8667a8135B889E853D87eD6d6350d35ecaeEF7",
      "memo": "memoExample",
      "previousWhitelistName": "previousWhitelistKeyExample",
      "previousAddress": "previousWhitelistNameExample",
      "previousMemo": "previousMemoExample",
      "approvalTime": 1690361332392
    }
    
    Parameters Type Description
    whitelistKey string Whitelist unique identifier
    whitelistName string Whitelist name
    chainType string The public blockchain of the whitelisted address
    address string Whitelisted addresses
    memo string Updated address memo
    previousWhitelistName string Original whitelist name
    previousAddress string Original whitelisted address
    previousMemo string Original address memo
    approvalTime int64 The time when the whitelist is approved

    WhiteListRemovedParam

    Example WhiteListRemovedParam

    {
      "whitelistKey": "whitelistKeyExample",
      "whitelistName": "whitelistNameExample",
      "chainType": "EVM",
      "address": "0xFA8667a8135B889E853D87eD6d6350d35ecaeEF7",
      "memo": "memoExample"
    }
    
    Parameters Type Description
    whitelistKey string Whitelist unique identifier
    whitelistName string Whitelist name
    chainType string The public blockchain of the whitelisted address
    address string Whitelisted addresses
    memo string Memo of the whitelisted address

    Webhook API

    Re-push Transaction Webhook Events

    Re-push the transaction webhook events generated in the last month. In certain situations, such as network jitter or your system being unavailable to receive webhook events, you may miss receiving notifications. You can use this interface to notify Safeheron to re-push the webhook events. It is important to note that for a single transaction, only the last webhook event will be re-pushed. For example, during the lifecycle of a transaction, multiple TRANSACTION_STATUS_CHANGED webhook events such as BROADCASTING, CONFIRMING, COMPLETED, etc., may be generated. The re-push will only send the last webhook event recorded by the current system. Re-pushing is supported for the following types of webhook events:

    HTTP Request

    POST /v1/webhook/resend

    Example Request

    {
        "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"
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    category string Yes Supported events:
  • TRANSACTION
  • MPC_SIGN
  • WEB3_SIGN
  • txKey string Yes Transaction key

    Example Response

    {
      "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
      }
    }
    

    Response Data

    Parameter Type Description
    result boolean Execution result
    True: Success
    False: Fail

    Push All Failed Webhook Events

    Resend all webhook events that failed to push within any duration not exceeding 1 hour in the past 7 days (limited to 1 call every 10 minutes). In certain situations, such as network failures or your system being unavailable to receive webhook events, you may miss receiving notifications. Once the issue is resolved, you can use this interface to notify Safeheron to resend all webhook events that failed to push within a certain period. Support re-pushing the following types of webhook events:

    Please note that when re-pushing all failed webhook events, your system needs to avoid rollback issues. For example, during the lifecycle of a transaction, multiple TRANSACTION_STATUS_CHANGED webhook events may be generated, such as BROADCASTING, CONFIRMING, and COMPLETED. If your system did not receive the CONFIRMING event due to network issues but did receive the COMPLETED event, using this interface would cause Safeheron to attempt resending the CONFIRMING event to your system. Your system needs to ensure that the transaction does not incorrectly revert from the COMPLETED status back to the CONFIRMING status.

    HTTP Request

    POST /v1/webhook/resend/failed

    Example Request

    {
        "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
        }
    }
    

    Request Parameters

    Parameter Type Required Description
    startTime int64 Yes Start time in UNIX timestamp (ms). The time interval [startTime, endTime] is up to 1 hour
    endTime int64 Yes End time in UNIX timestamp (ms). The time interval [startTime, endTime] is up to 1 hour

    Example Response

    {
      "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
      }
    }
    

    Response Data

    Parameter Type Description
    messagesCount int64 The number of failed webhook events to be re-pushed

    API Co-Signer

    API Co-Signer Overview

    API Co-Signer is a tool designed to automate signing process which is privately deployed by you. API Co-Signer includes the authorization private key used for authorizing transactions, as well as MPC private key shards utilized for MPC signing.

    After API Co-Signer triggers a transaction approval task callback to your business system, it will either approve or reject the transaction approval based on the response from your business system. The process of automated signing is outlined below:

    Automated signing

    Co-Signer Callback

    API Co-Signer will send a POST request to the configured callback address. The Content-Type in the HTTP request header is application/json;charset=UTF-8.

    Once a callback is triggered by API Co-Signer, it will utilize the identical data encryption and signature scheme as specified in the API Authentication. To enable this functionality, you must configure your callback RSA public key within API Co-Signer. You can generate an RSA public-private key pair by referring to the API Authentication.

    When configure API Co-Signer, you need to configure API RSA public-private key pair to communicate with Safeheron API gateway.During callback of your business system by API Co-Signer, API RSA public-private key pair will be readopted to communicate with your business system.

    Callback Request

    Callback request parameters as follow:

    Example Callback Request

    {
        "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": ""
          }
        }
    }
    
    Parameter Type Description
    timestamp string Callback timestamp
    bizContent string AES-encrypted data of request parameters
    sig string Signature data after signing request parameters by your API RSA private key
    key string Encrypted data of random AES key by callback RSA public key
    rsaType string RSA Algorithm
    aesType string AES Algorithm

    You can decrypt the callback data and verify its signature as outlined below:






    Callback Response

    Callback response parameters as follow:

    Example Callback Response

    {
        "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"
        }
    }
    
    Parameter Type Description
    code int Response result code for log output, use 200 for normal return
    message string Response result description for log output, use SUCCESS for normal return
    timestamp string Response timestamp
    sig string Signature data after signing response parameters by your callback RSA private key
    key string Encrypted data of random AES key by your API RSA public key
    bizContent object AES-encrypted data of response parameters
    rsaType string RSA Algorithm
    aesType string AES Algorithm

    You can decrypt the response data and verify its signature as outlined below:

    Co-Signer Business Callback Dictionary

    Callback Dictionary

    Parameter Type Description
    type string Business Type
    customerContent object Business content

    Callback Type

    type customerContent Description
    TRANSACTION Transaction approval Approve transactions
    MPC_SIGN MPC Sign approval Sign transactions
    WEB3_SIGN Web3 Sign approval Sign transactions

    Transaction Approval

    Example

    {
        "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"
    }
    
    Parameter Type Description
    txKey string Transaction key
    txHash string Transaction hash
    coinKey string Coin key
    txAmount string Transaction amount, the unit is the symbol returned by the coin list
    sourceAccountKey string Source account key
    sourceAccountType string Source account type
    sourceAddress string Source address (If the transaction currency is of UTXO type, please use the sourceAddressList field)
    sourceAddressList array Source address list
    └─address string Source address
    destinationAccountKey string Destination account key
    destinationAccountType string Destination account type
    destinationAddress string Destination address (If the transaction currency is of UTXO type, please use the destinationAddressList field)
    memo string Memo of the destination address when creating a transaction
    destinationAddressList array Destination address list
    └─address string Destination address
    └─memo string Memo of the destination address when creating a transaction
    └─amount string Transaction amount
    destinationTag string Deprecated. Use parameter memo instead
    vaultTxDirection string Transaction Direction
    transactionType string Transaction Subtype
    transactionStatus string Transaction status
    transactionSubStatus string Transaction substatus
    createTime int64 Transaction creation time, UNIX timestamp (ms)
    note string Note
    auditUserKey string Final approver key
    createdByUserKey string Creator key
    estimateFee string Estimated transaction fee
    feeCoinKey string Currency key for the transaction fee consumed during the transaction. For example, in the case of transferring ERC-20 token, the token used for the transaction fee would be ETH
    replaceTxHash string Referenced transaction hash (Only for sped-up transactions)
    customerRefId string Merchant unique business ID
    customerExt1 string Merchant extended field
    customerExt2 string Merchant extended field
    transactionDirection string Transaction Direction

    MPC Sign Approval

    Example

    {
        "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"
            }
        ]
    }
    
    Parameter Type Description
    txKey string Transaction key
    transactionStatus string Transaction status
    transactionSubStatus string Transaction substatus
    createTime int64 Transaction creation time, UNIX timestamp (ms)
    sourceAccountKey string Source account key
    createdByUserKey string Creator key
    customerRefId string Merchant unique business ID
    customerExt1 string Merchant extended field
    customerExt2 string Merchant extended field
    signAlg string Signature algorithm
    hashs array Source account information for transaction signatures (Deprecated, please use parameter dataList instead)
    └─hash string Signature hash (Deprecated, please use parameter dataList instead)
    └─note string Note (Deprecated, please use parameter dataList instead)
    dataList array List of transaction data to be signed
    └─data string Transaction data to be signed
    └─note string Transaction note

    Web3 Sign Approval

    Example

      {
      "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":[""]
      }
    }
    
    Parameter Type Description
    txKey string Transaction key
    subjectType string Signature type
    accountKey string Source account key
    sourceAddress string Source address
    transactionStatus string Transaction status
    transactionSubStatus string Transaction substatus
    createdByUserKey string Creator key
    createTime int64 Transaction creation time, UNIX timestamp (ms)
    auditUserKey string Key of the last approver
    customerRefId string Merchant unique business ID
    transaction object This field is returned when the signature type is ETH_SIGNTRANSACTION
    └─to string To
    └─value string Value
    └─chainId int64 Chain ID
    └─gasPrice string Gas price
    └─gasLimit int32 Gas limit
    └─maxPriorityFeePerGas string EIP-1559 max priority fee per gas
    └─maxFeePerGas string EIP-1559 max fee per gas
    └─nonce int64 Nonce
    └─data string Data
    └─txHash string Transaction hash
    message object This field is returned when the signature type is PERSONAL_SIGN or ETH_SIGN_TYPED_DATA
    └─chainId int64 Chain ID
    └─data string Data
    messageHash object This field is returned when the signature type is ETH_SIGN
    └─chainId int64 Chain ID
    └─data array Hash to be signed

    Response Dictionary

    Transaction Approval Task

    Example Response

    {
        "approve": true,
        "txKey": "txc0710da7db2b42ff9bf28df8910f8a88"
    }
    
    Parameter Type Required Description
    approve boolean Yes Approval result:
    True: Approved
    False: Rejected
    txKey string Yes Transaction key

    Supported Networks

    Network Block Confirmations Account type
    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

    Error Code

    Error Code Description
    200 Success
    429 Too many requests
    500 System error
    1001 Unknown error, please contact Safeheron Support
    1004 Duplicate request
    1005 User doesn't have permission
    1008 Invalid request
    1009 Invalid API key
    1010 Parameter decryption failed
    1011 Invalid IP
    1012 Signature verification failed
    1013 Timestamp verification failed
    1014 IP exceeds frequency limit
    1015 Invalid user
    1016 Invalid API key
    1017 Parameter validation error
    1018 Request record doesn't exist
    1019 Parameter parsing exception
    1020 Wrong request parameter
    1021 Coin key doesn't exist
    1022 RSA public key error
    1023 You cannot request the current interface, please contact customer service to upgrade your account
    1024 WebHook has expired or does not exist
    3009 Frozen merchant
    3010 Closed merchant
    3016 Failed to request basic service
    3017 Deactivated wallet
    3018 Invalid merchant
    3019 Insufficient funds for withdrawal
    3020 The transaction is not in 'pending approval' status
    3021 Request transaction result exception
    3022 Request transaction failed
    3023 The current wallet does not allow this operation
    3024 Transaction package data verification failed
    3025 Signing failed
    3026 Record cancelled
    3027 Transaction approval record has been processed
    3028 The current wallet does not allow this operation
    3029 The hash entered is invalid
    3030 The network corresponding to the chain ID does not exist
    3031 Hash temporarily supports 1 element
    3032 Data is required
    3033 Chain ID is required
    3034 Invalid data format
    3035 Data length must be between 0 and 100000
    3036 Value is required
    3037 Nonce is required
    3038 Invalid value
    3039 Invalid gas price
    3040 Gas limit too high
    3041 Invalid max priority fee per gas
    3042 Invalid max fee per gas
    3043 Gas limit is required
    3044 Max priority fee per gas is lower than current value on network
    3045 Max fee too low
    3046 Gas price and fee per gas cannot both be empty
    3047 Data length must be between 0 and 1000000
    3048 Nonce too low
    3049 Nonce too high
    3050 Balance verification is required for UTXOs
    3051 This asset is not supported yet
    3052 Version is required
    3053 Version error
    3054 This coin does not support speed-up
    3055 Back up private key before creating wallets
    3056 Fee rate must be greater than 0
    3057 Gas limit must be greater than 0
    3058 Max priority fee must be greater than 0
    3059 Max fee must be greater than 0
    3060 Hashs and data list cannot both be empty
    3061 This algorithm is not supported yet
    3062 This application is not supported yet
    3063 Signature data too long
    3064 The transaction amount cannot be 0
    3065 Invalid receiving address
    3066 Gas fee cap too low
    3067 The version of Co-Signer too low
    3068 Transaction failed due to exceeding the maximum number of UTXO transactions. Please collect UTXOs and try again
    3069 Duplicate approval data
    3070 Expired security certificate
    3071 Only support to label wallets created by API
    3072 The existing wallet has been used to sweep the target account
    3073 The non-UTXO type does not allow batch transactions
    3074 Request parameter cannot be empty
    3075 Token Account address not supported, please use Owner address
    3076 Unsupported accelerated transactions
    3077 Transactions via Connect are not supported
    3078 The wallet has no DEPOSIT label
    3079 No assets need to be swept in the wallet
    3080 There is no corresponding auto-sweep policy in place
    3081 The wallet address is flagged as malicious
    3082 The wallet balance is less than the
    3083 The sweeping amount does not meet the USD requirement
    3084 There is already an ongoing sweeping task
    3085 Account does not support sweeping
    3086 This network does not support sweeping
    3087 Sign input data must be even
    3088 The time interval cannot exceed 1 hour
    3089 Only supports pushing events that failed within the past 7 days
    3090 The transaction amount cannot be less than 0.01 TON
    9001 Merchant unique business ID already exists
    9002 System under maintenance, and asset transfer is suspended
    9003 Wrong decimal for the amount sent
    9004 Wrong decimal for fee rate
    9005 Hidden account cannot change name
    9006 Hidden account cannot withdraw assets
    9007 Frozen source account
    9008 Address already exists
    9009 Wrong address format
    9010 There are security risks associated with this deposit address
    9011 The whitelist does not exist
    9012 Address doesn't exist
    9013 The whitelist address status is illegal
    9015 Frozen destination account
    9016 There are security risks associated with this address. In order to ensure the safety of your assets, please proceed with caution. If you have any questions or concerns, please contact Safeheron Support
    9017 Insufficient transaction fee
    9018 Transaction fee too high
    9019 Transaction fee too low
    9020 Source address and destination address cannot be the same for TRX and TRC-20 tokens
    9021 The transaction to be replaced doesn't exist
    9022 Only broadcasting transaction can be sped up
    9023 This coin does not support speed-up
    9024 Unauthorized user tried to initiate or approve a transaction
    9025 The withdrawal amount is below the minimum limit
    9026 Insufficient amount for withdrawal
    9027 Matched with the policy, but the approver does not possess the approval role
    9028 No matching transaction policy
    9029 The destination address does not match the whitelisted address
    9030 Non-cancellable status
    9031 The estimated online transaction fee is greater than the maximum transaction fee
    9032 This coin is not UTXO-based type
    9033 The whitelist address already exists
    9034 Address and ID are not matched
    9035 This transaction record doesn't exist
    9036 Source account doesn't exist
    9037 Account coin doesn't exist
    9038 This coin is not supported yet
    9039 The number of wallet accounts exceeds the limit
    9040 The number of addresses exceeds the limit
    9041 Wallet name already exists
    9042 Do not meet sweeping requirements for UTXOs
    9043 MPC Sign currently only supports one account
    9044 Invalid hash
    9045 The whitelist address is already associated with a transaction policy. Please unbind it before proceeding
    9047 Gas limit is less than the minimum value
    9048 Abnormal risk control detection
    9049 There are security risks associated with this transfer address
    9050 Address format error
    9051 Please wait patiently during transaction broadcasting
    9052 The transaction output already used and cannot be accelerated
    9053 Transaction already on the chain or nonce already used
    9054 The whitelist addresses must be approved before any transfer is allowed
    9055 Insufficient UTXO
    9056 Duplicate speed-up
    9057 To accelerate a transaction using RBF, the fee rate of the sped-up transaction must be higher than that of the original transaction
    9058 GasBudget too low
    9059 GasPrice too low
    9060 Insufficient SUI object
    9061 The handling fee is greater than the collected amount
    9062 The whitelist address does not exist or has been deleted
    9063 GasUnitPrice too low
    9064 GasUnitPrice too high
    9065 MaxGasAmount too low
    9066 Replace a transaction on Aptos should have a higher gas unit price than that of the original transaction
    9067 Replace a transaction on Aptos should have a max gas amount equal to that of the original transaction
    9068 SequenceNumber too low
    9069 SequenceNumber too high
    9070 The accelerated transaction has been linked or sequenceNumber has been occupied
    9071 The whitelist name already exists
    9072 Unsupported chain types
    9073 The number of whitelist exceeds the limit
    9074 There are pending transactions related to the whitelist. Please make the modifications after the processing is completed
    9075 During modification approval, modification is prohibited
    9076 The system only supports whitelisting the destination address of a transaction if it is a one-time address
    9077 For your security, the system only supports whitelisting the destination address of a completed transaction
    9078 The address or Memo data in the parameters does not match the transaction record
    9079 This transaction type is not supported
    9080 The custom network you are using has not been added yet. Please add it using the Safeheron Browser Extension and try again
    9081 Only TON wallet addresses are supported for whitelisting; Jetton wallet addresses are not supported
    9082 The destination address or memo does not match the whitelist

    Data Dictionary

    RSA Algorithm

    Dictionary Code Description
    ECB_OAEP RSA/ECB/OAEPWithSHA-256AndMGF1Padding

    AES Algorithm

    Dictionary Code Description
    GCM_NOPADDING AES/GCM/NoPadding

    Transaction Status

    Dictionary Code Description
    SUBMITTED Pending authorization
    SIGNING Signing
    BROADCASTING Broadcasting
    CONFIRMING Confirming
    CANCELLED Transaction cancelled
    COMPLETED Transaction succeeded
    FAILED Transaction failed
    REJECTED Rejected

    Transaction Substatus

    Dictionary Code Description
    CONFIRMED Confirmed
    UN_KNOW_ERROR Unexpected error
    REVIEW_REJECTED Rejected
    TRADING_STRATEGY_BLOCKING Transaction policy blocks
    MATCHING_RULE_NO_AUDITOR Matched with the policy, but the editor does not possess the approval role
    TX_INFO_ERROR Failed to transact
    NONCE_TOO_LOW Nonce too low
    INTRINSIC_GAS_TOO_LOW Gas limit too low, cannot perform transaction
    INSUFFICIENT_FUNDS Insufficient amount for withdrawal
    AMOUNT_TOO_SMALL The withdrawal amount is below the minimum limit
    TRANSACTION_UNDERPRICED Transaction fee too low, transaction is rejected by node
    MISSING_INPUTS Invalid input
    INVALID_SIGNATURE Invalid transaction signature
    INTERNAL_ERROR An internal error occurred while processing the transaction
    TIMEOUT The transaction request timed out
    PENDING_BLOCKCHAIN_CONFIRMATIONS Pending blockchain confirmation
    TAPOS_ERROR Tapos check error
    NODE_SERVER_BUSY Node service is busy
    DUP_TRANSACTION_ERROR The transaction is on-chain, and a duplicate submission has been made.
    TRANSACTION_EXPIRATION_ERROR Transaction timed out
    TRANSACTION_EXECUTION_FAILED Transaction execution failed
    BANDWITH_ERROR For Tron transactions: Insufficient bandwidth/energy or TRX. You can either increase the transaction fee or have other accounts delegate resources to this account before initiating the transaction
    ACCOUNT_DOES_NOT_EXIST Account doesn't exist
    NO_MATCHING_RULE_FOUND Transaction failed, configure transaction policy first
    WHITELIST_ADDRESS_STATUS_ILLEGAL The whitelisted address is not approved
    AML_SCREENING_REJECTED Rejected by AML check
    CONTRACT_VALIDATE_ERROR Transaction verification error
    THE_DEAL_WAS_ABANDONED Transaction abandoned
    MANUAL_TX_FAIL Manual processing
    CANCELLED_BY_USER User cancelled transaction
    RISK_CHECK_ILLEGAL Exceptions detected by risk control.
    WALLET_NOT_ALLOWED The wallet doesn't support current operation
    USER_NO_PERMISSION User has no permission
    EXCHANGE_EMAIL_CONFIRMING Pending email confirmation
    EXCHANGE_UN_KNOW_ERROR Unexpected error
    EXCHANGE_INVALID_INFO Invalid API private key, IP or operation permission
    EXCHANGE_AMOUNT_OVER_LIMIT The transfer amount exceeds the maximum
    EXCHANGE_BALANCE_LACK Insufficient balance
    RESET_AUTO_CANCEL Automatic cancellation
    REVIEW_OTHERS_REJECTED Rejected by the counterparty
    TON_BOUNCE_TRANSACTION The transaction is bounced
    TON_SEQUENCE_INVALID Invalid sequence

    Web3 Transaction Status

    Dictionary Code Description
    SUBMITTED Pending authorization
    SIGNING Signing
    CANCELLED Transaction cancelled
    SIGN_COMPLETED MPC successfully signed
    FAILED Transaction failed
    REJECTED Rejected

    Transaction Fee Rate Grade

    Dictionary Code Description
    LOW Low
    MIDDLE Medium
    HIGH High

    Account Type

    Dictionary Code Description
    VAULT_ACCOUNT Vault account

    Account Tag

    Dictionary Code Description
    NONE None
    DEPOSIT Deposit Wallet
    Scenario: If you need to auto-sweep a wallet using Safeheron's Auto-Sweep, tag this label to it

    Transaction Source Account Type

    Dictionary Code Description
    VAULT_ACCOUNT Vault account
    PROFILE_ACCOUNT Profile account
    UNKNOWN External account

    Transaction Destination Account Type

    Dictionary Code Description
    VAULT_ACCOUNT Vault account
    PROFILE_ACCOUNT Profile account
    WHITELISTING_ACCOUNT Whitelisted account
    ONE_TIME_ADDRESS Unknown address account

    Coin's Whitelist Status

    Dictionary Code Description
    VERIFY_PENDING Approving
    VERIFY_PASS Approved
    VERIFY_REFUSE Rejected
    AML_REFUSE Rejected by risk control

    Coin Type

    Dictionary Code Description
    NATIVE Native token, such as ETH, BTC
    ERC20 Token standard on ETH
    TRC20 Token standard on TRON
    BEP20 Token standard on BSC
    TOKEN Other token standards

    Address Type

    Dictionary Code Description
    DEFAULT Normal address
    P2PKH Normal address
    P2WPKH SegWit address
    P2PKH_CASH BCH-format normal address
    V4R2 TON V4R2 wallet address

    Transaction Type

    Dictionary Code Description
    TRANSACTION Transaction
    MPC_SIGN Native signature

    Transaction Subtype

    Dictionary Code Description
    NORMAL Normal transaction
    UTXO_COLLECTION UTXO-sweeping transaction
    ABNORMAL Transfers to external destinations (not in the Safeheron platform) or transactions signed by the original private key recovered by key shards
    AUTO_SWEEP Auto-sweeping transaction
    AUTO_FUEL Auto-fueling transaction
    UTXO_BATCH_TRANSFER UTXO multi-address transfer
    BOUNCED_TRANSFER TON's bounced transaction
    ENERGY_RENTAL_TRANSFER Rent prepayment

    Web3 Sign Type

    Dictionary Code Description
    ETH_SIGN ethSign
    PERSONAL_SIGN personalSign
    ETH_SIGN_TYPED_DATA ethSignTypedData
    ETH_SIGNTRANSACTION ethSignTransaction

    Signature Algorithm

    Dictionary Code Description
    secp256k1 secp256k1
    ed25519 ed25519

    Query Page Direction

    Dictionary Code Description
    PREV Previous
    NEXT Next

    Balance Verification

    Dictionary Code Description
    BALANCE_CHECK Verify the balance
    NON_CHECK Do not verify the balance

    UTXO Selection

    Dictionary Code Description
    DEFAULT Sort from largest to smallest UTXO
    ATTACH_UTXO_FRAGMENTS Select UTXOs from largest to smallest, UTXO fragments attached

    Version of EthSignTypedData

    Dictionary Code Description
    ETH_SIGNTYPEDDATA_V1 eth_signTypedData_v1
    ETH_SIGNTYPEDDATA_V3 eth_signTypedData_v3
    ETH_SIGNTYPEDDATA_V4 eth_signTypedData_v4

    Transaction Direction

    Dictionary Code Description
    INFLOW Inflow: A transaction where the source address type is not VAULT_ACCOUNT and the destination address type is VAULT_ACCOUNT
    OUTFLOW Outflow: A transaction where the source address type is VAULT_ACCOUNT and the destination address type is not VAULT_ACCOUNT
    INTERNAL_TRANSFER Internal transfer: A transaction where both the source and destination address types are VAULT_ACCOUNT

    API SDK

    We provide API SDKs for four programming languages: Java, JavaScript, Golang, and Python.

    Changelog

    2025-02-27 v2.1.21

    2025-01-13 v2.1.20

    2025-01-06 v2.1.19

    2024-12-10 v2.1.18

    2024-11-21 v2.1.17

    2024-10-24 v2.1.16

    2024-09-13 v2.1.15

    2024-08-08 v2.1.14

    2024-05-16 v2.1.13

    2024-04-15 v2.1.12

    2024-02-22 v2.1.11

    2023-11-28 v2.1.10

    2023-11-09 v2.1.9

    2023-10-17 v2.1.8

    2023-08-17 v2.1.7

    2023-07-25 v2.1.6

    2023-06-29 v2.1.5

    2023-03-16 v2.1.4

    2023-02-17 v2.1.3

    2022-11-24 v2.1.2

    2022-11-03 v2.1.1

    2022-09-27 v2.1.0

    2022-06-30 v2.0.0

    2022-06-18 v1.0.4

    2022-01-18 v1.0.3

    2021-12-03 v1.0.2

    2021-11-17 v1.0.1

    2021-08-31 v1.0.0