API Reference for HD Wallet Service (1.0)

Download OpenAPI specification:Download

Hierarchical Determinisitc Wallets signs transactions using a large number of keys derived from the same root key but appear to be independent.

Each account inside an HD Wallet is identified by an index, ranging from 0 to 2,147,483,648. The recommended usage of HD Wallet accounts is to use a different index for every signed transaction, making the transactions seem to have been signed by completely indepdent accounts, thus masking the true identity holding the master secret for this wallet.

hdwallet

Wallets

Get the list of HD Wallets hosted inside the service

Authorizations:
app_creds

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new HD Wallet to be hosted inside the service

Authorizations:
app_creds
Request Body schema: application/json
secret
string

Optional. The 12-word root secret for the HD Wallet. If not specified, a random root secret will be generated and returned in the response

Responses

Request samples

Content type
application/json
{
  • "secret": "string"
}

Response samples

Content type
application/json
[
  • {
    }
]

Accounts

Get the account at index in the HD Wallet instance

Authorizations:
app_creds
path Parameters
wallet_id
required
string

ID of the Wallet in the service

account_index
required
string

Index of the account in the wallet. Range is 0 to 2,147,483,648.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Sign the transaction payload using the account at the specified index and return the payload ready to submit to the node

Authorizations:
app_creds
path Parameters
wallet_id
required
string

ID of the Wallet in the service

account_index
required
string

Index of the account in the wallet. Range is 0 to 2,147,483,648.

Request Body schema: application/json
nonce
string

0x prefixed Hexadecimal string for the next nonce value available to this account

gasPrice
string

0x prefixed Hexadecimal string for the offered gas price, in the case of Kaleido blockchains, gas price should be set to zero (0x0)

gasLimit
string

0x prefixed Hexadecimal string for the offer gas unit. Recommended practice is to use web3 estimateGas() call to get an accurate value from the target node

to
string

0x prefixed Hexadecimal string for the address of the target smart contract, or in the case of smart contract deployment, this property should be omitted

value
string

For Kaleido blockchains, the value should always be set to 0x0

data
string

0x prefixed Hexadecimal string for the RLP encoded transaction payload

Responses

Request samples

Content type
application/json
{
  • "nonce": "string",
  • "gasPrice": "string",
  • "gasLimit": "string",
  • "to": "string",
  • "value": "string",
  • "data": "string"
}

Response samples

Content type
application/json
{
  • "serializedTx": "string"
}