Description

The KeyStash API allows interactions using HTTP requests to port 7801. Most HTTP requests can use either the GET or POST methods, but some API calls accept only the POST method for security reasons. Responses are returned as JSONP/JSON objects. JSONP is essentially, JSON with padding. With JSONP the API will run simultaneous to a Nxt node on one machine.

Each API call is documented below, with definitions given for HTTP request parameters and JSONP response fields, followed by an example:

  • The JSONP response fields are each followed by one of S for string, A for array, O for object, N for number or B for boolean.
  • In the examples, the KeyStash daemon is represented as localhost and requests and responses are formatted for easy reading; line breaks and spaces are not actually used except in some parameter values. All requests are in URL format which implies the HTTP GET method. When GET is allowed, the URL can be entered into a browser URL field but proper URL encoding is usually required (e.g., spaces in a parameter value must be replaced by + or %20). Otherwise, the URL should be used as a guide to preparing an HTTP POST request using cURL, for example.

All API calls can be viewed and tested at http://localhost:7801/test while the daemon is running. For specific API calls, use http://localhost:7801/keystash?requestType=specificRequestType

General Notes

Customisation

Edit config file keystash/conf/keystash.properties

Wallet file

All querys are directly associated with your account addresses stored in wallet.h2.db

Flexible Account IDs

All API requests that require an address accept either an account address number or the corresponding Reed-Solomon address.

Quantity Units NXT, NQT

The Nxt system has a currency NXT used to quantify value in the system. Like all currencies, NXT circulates in the system, moving from one user to another by payments and purchases. A small fee is required for every transaction (minimum 100000000 NQT).

Internally, the currency is still stored in integer form in units of NQT or NxtQuant, where 1 NXT = 100000000 NQT. All parameters and fields in the API involving a quantity of NXT are denominated in units of NQT, for example feeNQT. As of block 134,000 NXT became divisible to eight decimal places.

Password protection for API requests

If enableApiPassword set to true every request needs to contain the password.

Example

Request:

http://localhost:7801/keystash?requestType=getInfo&password=12345678

SSL (https)

You can use an officially-signed certificate from a CA (rapidssl/verisign/etc) which costs money, or for free you can create a self-signed cert and use it. A self-signed cert will still give cert warnings, but since you generated it, you can trust it.

keystash.apiSSL=true

keystash.keyStorePath=keystore

keystash.keyStorePassword=password

  • A tutorial how to setup SSL you find here

Account Operations

Get Account

Get account information given an address.

Request:

  • requestType is getAccount
  • account is the address(S) or addressRS(S)

Response:

  • accountId (S) is the account id stored in wallet file
  • accountType (S) is standard, custom data*, multisignature*
  • address (S) is the address of the account
  • addressRS (S) is the Reed-Solomon address of the account
  • publicKey (S) is the public key of the account
  • label (S) is the label of the account
  • secret (S) is the private phrase AES encrypted
  • randomSalt (S) is the AES salt used
  • randomIV (S) is the AES initialization vector
  • secretIteration (N) is the AES iteration used
  • secretKeySize (N) is the AES key size used (128 or 256)
  • secretGeneratorAlgorithm (S) is the AES key generator algorithm
  • createdDate (S) is time and date when account was generated

Example

Request:

http://localhost:7801/keystash?requestType=getAccount&address=NXT-Z9CJ-79EF-PKE6-AW9JL

Response:

keystash(
{
  "account": [
    {
      "accountId": "3",
      "accountType": "Standard",
      "address": "9890182038368001360",
      "addressRS": "NXT-Z9CJ-79EF-PKE6-AW9JL",
      "publicKey": "ae81968eb1e0f104ab52ce7626660a9ca686ef89e941fdeb60b646b0f3c3226f",
      "label": "No Label",
      "secret": "wPiO2Lt8extEcYxktF6iB2xIgrefG+7SvNXqJ5Vqz8abppqfUgNKAaHjEAHv4zOHZ/GtxLR17fZlfEAs7VkJASTz6c1uYe3PqW4DfRAeb1xUrK8Jr8M2ymRuZC5+zPmespNN/krfPPrUG2IzKZk8a6UDhhwVx8K2PmWTV7Cr0k1LlsFhpbVRn5qcX6+RX/gXhfwMAuyCO3I67z5pF0g70Za5PRLdt/fitLAz7cNhtG7aehFm9FFb3BYL9dorI+g7Hdtu3PsOvzJr+d1Oc4tDVZ1zbccx47+3G/ww1hWUZWALK125MP5+anEThKdfQc829V0dNHSkvDJ+iUOqkqdoMbra4QOKhLukkqwwt35xkeGUrpFfkVz7EFCd2rErjzHmQGyjrCPyE2rZlfiId7MagQt6tqALqMAnujThiB1AWA9R0Q5GWHMZ65DTq2NdRmzlkNWX+btIqtMyOP6qTsZJww2ZGTepR6uM3nizhi8ZpNQOTx5nJmLv0V/ydArftY9o",
      "randomSalt": "e685c0e81338d05be952d5a9f1784b69d493607674430b92609b66391190cfd5306f78c0fa5e79eeee9236a189bdec69f138b09e0f74589e8395338a2d325f94",
      "randomIV": "e1d8a65d35729409c562db2e97bb3384",
      "secretIteration": "1000",
      "secretKeySize": "256",
      "secretGeneratorAlgorithm": "PBKDF2WithHmacSHA512",
      "createdDate": "2015.02.06 12:21:07 AM MEZ"
    }
  ]
})

Get Account By Label

Get account information given an label(customer).

Request:

  • requestType is getAccountByLabel
  • account is the label(S)

Response:

  • accountId (S) is the account id stored in wallet file
  • accountType (S) is standard, custom data*, multisignature*
  • address (S) is the address of the account
  • addressRS (S) is the Reed-Solomon address of the account
  • publicKey (S) is the public key of the account
  • label (S) is the label of the account
  • secret (S) is the private phrase AES encrypted
  • randomSalt (S) is the AES salt used
  • randomIV (S) is the AES initialization vector
  • secretIteration (N) is the AES iteration used
  • secretKeySize (N) is the AES key size used (128 or 256)
  • secretGeneratorAlgorithm (S) is the AES key generator algorithm
  • createdDate (S) is time and date when account was generated

Example

Request:

http://localhost:7801/keystash?requestType=getAccountByLabel&label=customer1

Response:

keystash(
{
  "account": [
    {
      "accountId": "1824",
      "accountType": "Standard",
      "address": "12597735680318490961",
      "addressRS": "NXT-DLCK-VE5U-FWZZ-C73PX",
      "publicKey": "79c09941a0bb92afc83af77fd67bc667ec58780d549229573db28951a0e7f60b",
      "label": "customer1",
      "secret": "i50CtBns/yWALJ/C6QKKaSQpYU1UizE8nOtqb5+qGCvjlr67HUGJusDdl5jKDkxm/WKdGn54dxuphX7alvx8dHUN7m4M5rtqKZoyQB7PHjI5DjYaG3ItxlabQkkJKmHGDfIYw+UB/12UbNQXaOnxY4YBrdbkttbUeSmq3aLTxOK+IjQzTM7hM3gFnT2BYXckKn6oSbzEvpYW9+Xp55fWvFnfOKCoiNC+sGQL7yVG9McsPmoWktXsMEUI8HqjobbTGmXuhoBsKPrYgXZ3VxVDon8kL5rZesLc19FibnXtaEhpTmLULOCbuPG7vy45cDwpU+VZA3o4Om8XaSqfxbSF4w==",
      "randomSalt": "ecab0a94d6c30b10b76db1f26c3eaab36e81fb4185deae27a361373f8288defb381c5ea3a31488cd1656890c22250f0e5dcbfa0a613f7c28340e9d013c43a7e2",
      "randomIV": "e9c4ff9d5048b22e208be4fe0820872c",
      "secretIteration": "1000",
      "secretKeySize": "128",
      "secretGeneratorAlgorithm": "PBKDF2WithHmacSHA1",
      "createdDate": "2015.02.19 10:28:25 PM MEZ"
    },
    {
      "accountId": "1825",
      "accountType": "Standard",
      "address": "10129520431454818888",
      "addressRS": "NXT-U6LA-79UY-EK82-ABU6T",
      "publicKey": "7de39af722270aa6da59d80b3f623d3752450e22524cc0a1efbe52367fc81a20",
      "label": "customer1",
      "secret": "tz2Nu3DWQ5bTg9mvw1lWlW5XSk09Cs+NefYpqEmtKfFp1IyTte7pbvIAjYsJyjThdCxzzRLGgC6JSBqLW6poi/zIHIN3OKOvdzAsYmsDP2nH6A58y4WMEImYu/JcqTPL53uyRcmQ7sNKpAJ86n81ZH7VIGRG03ocds8gL1MO0V208GSv0DxGZhE5tu8FsKq6lwEZpEn/thgppOaYvinPG4ScTHFQK42jOCyDQThIewulORIlSh2WN2vSmHsXHLW5rQldmQp6GOiIHast5JcNWb9ZX8tYoCQuIZNOzSIiMpmiyTi9MeLF7Q0F6F/Ht6lsptaGxyFKnb0Xlxsenj8L3jIFOBaYqk3mZ/WrL5XDXgg=",
      "randomSalt": "ef82269c5c3e54024e408ff5d05bbe4b30c03badbd209e5ef26e2815b858a3940c8bcc0c65b3d00ba2c1e7cdc08b9329322fbeac511eff799417fe67f8bf8396",
      "randomIV": "87f5ad1882494af63dcb01613e36d547",
      "secretIteration": "1000",
      "secretKeySize": "128",
      "secretGeneratorAlgorithm": "PBKDF2WithHmacSHA1",
      "createdDate": "2015.02.19 10:28:28 PM MEZ"
    }
  ]
})

Get Accounts

Get all accounts stored in wallet file.

Request:

  • requestType is getAccounts

Response:

  • accountId (S) is the account id stored in wallet file
  • accountType (S) is standard, custom data*, multisignature*
  • address (S) is the address of the account
  • addressRS (S) is the Reed-Solomon address of the account
  • publicKey (S) is the public key of the account
  • label (S) is the label of the account
  • secret (S) is the private phrase AES encrypted
  • randomSalt (S) is the AES salt used
  • randomIV (S) is the AES initialization vector
  • secretIteration (N) is the AES iteration used
  • secretKeySize (N) is the AES key size used (128 or 256)
  • secretGeneratorAlgorithm (S) is the AES key generator algorithm
  • createdDate (S) is time and date when account was generated

Example

Request:

http://localhost:7801/keystash?requestType=getAccounts

Response:

keystash(
{
  "account": [
    {
      "accountId": "1",
      "accountType": "Standard",
      "address": "12597735680318490961",
      "addressRS": "NXT-DLCK-VE5U-FWZZ-C73PX",
      "publicKey": "79c09941a0bb92afc83af77fd67bc667ec58780d549229573db28951a0e7f60b",
      "label": "No Label",
      "secret": "i50CtBns/yWALJ/C6QKKaSQpYU1UizE8nOtqb5+qGCvjlr67HUGJusDdl5jKDkxm/WKdGn54dxuphX7alvx8dHUN7m4M5rtqKZoyQB7PHjI5DjYaG3ItxlabQkkJKmHGDfIYw+UB/12UbNQXaOnxY4YBrdbkttbUeSmq3aLTxOK+IjQzTM7hM3gFnT2BYXckKn6oSbzEvpYW9+Xp55fWvFnfOKCoiNC+sGQL7yVG9McsPmoWktXsMEUI8HqjobbTGmXuhoBsKPrYgXZ3VxVDon8kL5rZesLc19FibnXtaEhpTmLULOCbuPG7vy45cDwpU+VZA3o4Om8XaSqfxbSF4w==",
      "randomSalt": "ecab0a94d6c30b10b76db1f26c3eaab36e81fb4185deae27a361373f8288defb381c5ea3a31488cd1656890c22250f0e5dcbfa0a613f7c28340e9d013c43a7e2",
      "randomIV": "e9c4ff9d5048b22e208be4fe0820872c",
      "secretIteration": "1000",
      "secretKeySize": "128",
      "secretGeneratorAlgorithm": "PBKDF2WithHmacSHA1",
      "createdDate": "2015.02.19 10:28:25 PM MEZ"
    },
    {
      "accountId": "2",
      "accountType": "Standard",
      "address": "10129520431454818888",
      "addressRS": "NXT-U6LA-79UY-EK82-ABU6T",
      "publicKey": "7de39af722270aa6da59d80b3f623d3752450e22524cc0a1efbe52367fc81a20",
      "label": "No Label",
      "secret": "tz2Nu3DWQ5bTg9mvw1lWlW5XSk09Cs+NefYpqEmtKfFp1IyTte7pbvIAjYsJyjThdCxzzRLGgC6JSBqLW6poi/zIHIN3OKOvdzAsYmsDP2nH6A58y4WMEImYu/JcqTPL53uyRcmQ7sNKpAJ86n81ZH7VIGRG03ocds8gL1MO0V208GSv0DxGZhE5tu8FsKq6lwEZpEn/thgppOaYvinPG4ScTHFQK42jOCyDQThIewulORIlSh2WN2vSmHsXHLW5rQldmQp6GOiIHast5JcNWb9ZX8tYoCQuIZNOzSIiMpmiyTi9MeLF7Q0F6F/Ht6lsptaGxyFKnb0Xlxsenj8L3jIFOBaYqk3mZ/WrL5XDXgg=",
      "randomSalt": "ef82269c5c3e54024e408ff5d05bbe4b30c03badbd209e5ef26e2815b858a3940c8bcc0c65b3d00ba2c1e7cdc08b9329322fbeac511eff799417fe67f8bf8396",
      "randomIV": "87f5ad1882494af63dcb01613e36d547",
      "secretIteration": "1000",
      "secretKeySize": "128",
      "secretGeneratorAlgorithm": "PBKDF2WithHmacSHA1",
      "createdDate": "2015.02.19 10:28:28 PM MEZ"
    }
  ]
})

Get New Account

Generate new account in wallet file.

Request:

  • requestType is getAccounts
  • encryptPassword (S) will be used for AES encryption
  • label (S) is the label of the account

Response:

  • accountId (S) is the account id stored in wallet file
  • address (S) is the address of the account
  • addressRS (S) is the Reed-Solomon address of the account
  • publicKey (S) is the public key of the account
  • label (S) is the label of the account
  • phraseEntropy (S) is the shannon entropy of private phrase
  • phraseLength (S) is character length used for private phrase
  • secretIteration (N) is the AES iteration used
  • secretKeySize (N) is the AES key size used (128 or 256)
  • secretGeneratorAlgorithm (S) is the AES key generator algorithm

Example

Request:

http://localhost:7801/keystash?requestType=getNewAccount&encryptPassword=12345678&label=customer1

Response:

keystash(
{
  "account": [
    {
      "accountId": 1826,
      "address": "8163066745124079564",
      "addressRS": "NXT-TKYE-YKUG-QVWQ-9BAL4",
      "publicKey": "c42a96df6f38390cb4997b7c34c86a9052ff7284eacee1a5870dfefb27884841",
      "label": "customer1",
      "phraseEntropy": "6.03980775804103",
      "phraseLength": "252",
      "secretIteration": "1000",
      "secretKeySize": "256",
      "secretGeneratorAlgorithm": "PBKDF2WithHmacSHA1"    
    }
  ]
})

Import Account

Import account in wallet file.

Request:

  • requestType is importAccount
  • encryptPassword (S) will be used for AES encryption
  • importPhrase (S) is account private phrase you want to import
  • label (S) is the label of the account

Response:

  • accountId (S) is the account id stored in wallet file
  • address (S) is the address of the account
  • addressRS (S) is the Reed-Solomon address of the account
  • publicKey (S) is the public key of the account
  • label (S) is the label of the account
  • phraseEntropy (S) is the shannon entropy of private phrase
  • phraseLength (S) is character length used for private phrase
  • secretIteration (N) is the AES iteration used
  • secretKeySize (N) is the AES key size used (128 or 256)
  • secretGeneratorAlgorithm (S) is the AES key generator algorithm

Example

Request:

http://localhost:7801/keystash?requestType=importAccount&encryptPassword=12345678&importPhrase=wCHKysMfgrYAQbLC8ejTIu5cxxVxPjVcA2BOuPHkb1r44gitd2v17wtYRDc9gLcTczSBn&label=customer1

Response:

keystash(
{
  "account": [
    {
      "accountId": 1826,
      "address": "7410290563020627836",
      "addressRS": "NXT-E9VW-27TN-KAA3-86PPF",
      "publicKey": "3d7ea08a84a4440227f840768eb3e480af2d30b97e6c93b2523272bce845503f",
      "label": "customer1",
      "phraseEntropy": "5.2807068411439095",
      "phraseLength": "69"
      "secretIteration": "1000",
      "secretKeySize": "256",
      "secretGeneratorAlgorithm": "PBKDF2WithHmacSHA1"    
    }
  ]
})

Get Balance By Account

Get the balance of an account.

Request:

  • requestType is getBalanceByAccount
  • address (S) to associated account
  • numberOfConfirmations (N) is is the balance (in NQT) of the account with at least (N) confirmations
  • server (S) is the ip address of Nxt node you want to fetch data from
  • serverPort (N) is the API port of Nxt node you want to fetch data from (standard: 7876)
  • serverSSL (B) fetch from http(false) or https(true)

Response:

  • accountId (S) is the account id stored in wallet file
  • address (S) is the address of the account
  • addressRS (S) is the Reed-Solomon address of the account
  • publicKey (S) is the public key of the account
  • label (S) is the label of the account
  • phraseEntropy (S) is the shannon entropy of private phrase
  • phraseLength (S) is character length used for private phrase

Example

Request:

http://localhost:7801/keystash?requestType=getBalanceByAccount&address=NXT-Y5A5-HZUR-PEER-EY2G4&numberOfConfirmations=1440&server=localhost&serverPort=7876&serverSSL=false

Response:

keystash(
{
  "account": [
    {
      "guaranteedBalanceNQT": "88100000000"
    }
  ]
})

Get Balance By Label

Get the total balance of all accounts with label.

Request:

  • requestType is getBalanceByLabel
  • label (S) with associated account
  • numberOfConfirmations (N) is is the balance (in NQT) of the account with at least (N) confirmations
  • server (S) is the ip address of Nxt node you want to fetch data from
  • serverPort (N) is the API port of Nxt node you want to fetch data from (standard: 7876)
  • serverSSL (B) fetch from http(false) or https(true)

Response:

  • accountId (S) is the account id stored in wallet file
  • address (S) is the address of the account
  • addressRS (S) is the Reed-Solomon address of the account
  • publicKey (S) is the public key of the account
  • label (S) is the label of the account
  • phraseEntropy (S) is the shannon entropy of private phrase
  • phraseLength (S) is character length used for private phrase

Example

Request:

http://localhost:7801/keystash?requestType=getBalanceByLabel&label=customer1&numberOfConfirmations=1440&server=localhost&serverPort=7876&serverSSL=false

Response:

keystash(
{
  "account": [
    {
      "guaranteedBalanceNQT": "88100000000"
    }
  ]
})

Transaction Operations

Sign Transaction

Sign transaction, output bytes can be used to broadcast

Request:

  • requestType is signTransaction
  • senderAccount (S) is the address or addressRS
  • recipient (S) is the address or addressRS
  • amountNQT (N) is the amount to send (in NQT)
  • feeNQT (N) is the amount of fee to pay to the network (in NQT)
  • deadline (N) is the deadline (in minutes) for the transaction to be confirmed
  • decryptPassword (S) is the password to decrypt the AES encrypted account secret

Response:

  • recipient (S) is the addressRS
  • amountNQT (N) is the amount to send (in NQT)
  • feeNQT (N) is the amount of fee to pay to the network (in NQT)
  • deadline (N) is the deadline (in minutes) for the transaction to be confirmed
  • signature (S) is the digital signature of the transaction
  • signedBytes (S) is the signed bytecode of the transaction

Example

Request:

http://localhost:7801/keystash?requestType=signTransaction&senderAccount=NXT-Y5A5-HZUR-PEER-EY2G4&recipient=NXT-NCGU-MC9J-BZCAE8WMH&amountNQT=100000000&feeNQT=100000000&deadline=500&decryptPassword=12345678

Response:

keystash(
{
  "transaction": [
    {
      "recipient": "NXT-Y5A5-HZUR-PEER-EY2G4",
      "amountNQT": "100000000",
      "feeNQT": "100000000",
      "deadline": "500",
      "signature": "b7c6f2a92608f6e7fed6a52d52cb11a4dfb3f9ca2971e613552c6b699100e6040e5b0e916fd94092afcf5f0f989679fc3e8ea0f59440ce9f45f6226bba7a9700",
      "signedBytes": "001005905502f4016d53ada78314e26b4d3900e1ee389875f46fcc3c44e2d37ecc318d7ac33d9f06030d7ff57f1e38c100e1f5050000000000e1f505000000000000000000000000000000000000000000000000000000000000000000000000b7c6f2a92608f6e7fed6a52d52cb11a4dfb3f9ca2971e613552c6b699100e6040e5b0e916fd94092afcf5f0f989679fc3e8ea0f59440ce9f45f6226bba7a970000000000d15602009fb7e79ca22d4dde"
    }
  ]
})

Parse Transaction

Get a transaction object given a signed transaction bytecode. Verify the signature.

Request:

  • requestType is parseTransaction
  • signedBytes (S) is the signed bytecode of the transaction
  • server (S) is the ip address of Nxt node you want to fetch data from
  • serverPort (N) is the API port of Nxt node you want to fetch data from (standard: 7876)
  • serverSSL (B) fetch from http(false) or https(true)

Response:

  • senderPublicKey (S) is the public key of the sending account for the transaction
  • feeNQT (S) is the fee (in NQT) of the transaction
  • type (N) is the transaction type (refer to Get Constants for a current list of types)
  • fullHash (S) is the full hash of the signed transaction
  • version (N) is the transaction version number
  • ecBlockId (N) is the economic clustering block ID
  • signature (S) is the digital signature of the transaction
  • signatureHash (S) is a SHA-256 hash of the transaction signature
  • senderRS (S) is the Reed-Solomon address of the sender
  • subtype (N) is the transaction subtype (refer to Get Constants for a current list of subtypes)
  • amountNQT (S) is the amount (in NQT) of the transaction
  • sender (S) is the account ID of the sender
  • recipientRS (S) is the Reed-Solomon address of the recipient, if applicable
  • recipient (S) is the account number of the recipient, if applicable
  • ecBlockHeight (N) is the economic clustering block height
  • verify (B) is true if the signature is verified, false otherwise
  • deadline (N) is the deadline (in minutes) for the transaction to be confirmed
  • transaction (S) is the transaction ID
  • timestamp (N) is the time (in seconds since the genesis block) of the transaction
  • height (N) is the height of the block in the blockchain

Example

Request:

http://localhost:7801/keystash?requestType=parseTransaction&signedBytes=001005905502f4016d53ada78314e26b4d3900e1ee389875f46fcc3c44e2d37ecc318d7ac33d9f06030d7ff57f1e38c100e1f5050000000000e1f505000000000000000000000000000000000000000000000000000000000000000000000000b7c6f2a92608f6e7fed6a52d52cb11a4dfb3f9ca2971e613552c6b699100e6040e5b0e916fd94092afcf5f0f989679fc3e8ea0f59440ce9f45f6226bba7a970000000000d15602009fb7e79ca22d4dde&server=localhost&serverPort=7876

Response:

keystash(
{
  "transaction": [
    {
      "senderPublicKey": "6d53ada78314e26b4d3900e1ee389875f46fcc3c44e2d37ecc318d7ac33d9f06",
      "feeNQT": "100000000",
      "type": 0,
      "fullHash": "3b18b01395c84329ceb18aa887029ea60b7b8206eddb52eeb78f0f281ff9759c",
      "version": 1,
      "ecBlockId": "16018509626067105695",
      "signature": "b7c6f2a92608f6e7fed6a52d52cb11a4dfb3f9ca2971e613552c6b699100e6040e5b0e916fd94092afcf5f0f989679fc3e8ea0f59440ce9f45f6226bba7a9700",
      "signatureHash": "06ceaaab6ba2b1d2cd2139e5d2fcba13f73de948627e03df355a7c48db4c8757",
      "senderRS": "NXT-Y5A5-HZUR-PEER-EY2G4",
      "subtype": 0,
      "amountNQT": "100000000",
      "sender": "13922911782944312579",
      "recipientRS": "NXT-Y5A5-HZUR-PEER-EY2G4",
      "recipient": "13922911782944312579",
      "ecBlockHeight": 153297,
      "verify": true,
      "deadline": 500,
      "transaction": "2973440721600649275",
      "timestamp": 39161861,
      "height": 2147483647
    }
  ]
})

Broadcast Transaction

Broadcast a transaction to the network.

Request:

  • requestType is broadcastTransaction
  • signedBytes (S) is the signed bytecode of the transaction
  • server (S) is the ip address of Nxt node you want to fetch data from
  • serverPort (N) is the API port of Nxt node you want to fetch data from (standard: 7876)
  • serverSSL (B) fetch from http(false) or https(true)

Response:

  • fullHash (S) is the full hash of the signed transaction
  • transaction (S) is the transaction ID

Example

Request:

http://localhost:7801/keystash?requestType=broadcastTransaction&signedBytes=0010cc905502f4016d53ada78314e26b4d3900e1ee389875f46fcc3c44e2d37ecc318d7ac33d9f06030d7ff57f1e38c100e1f5050000000000e1f5050000000000000000000000000000000000000000000000000000000000000000000000002a2989b7325c5364768bbac1705ba467ef4a410b2f930d933adf910c2758c30dc6bbcd8fb6ef85c72ac378c4fb35d1b4db7be7f7b54b730c1aed94a70ce88add00000000d15602009fb7e79ca22d4dde&server=localhost&serverPort=7876

Response:

keystash(
{
  "transaction": [
    {
      "fullHash": "4d172e6c13417ae643b994f1bc02fdb6a3f797dd6293eb0f2cc92092d78da41f",
      "transaction": "16607658127557269325"
    }
  ]
})

Get Since Block

Get transactions associated with addresses in wallet file from the blockchain in reverse block height order.

Request:

  • requestType is getSinceBlock
  • firstIndex (N) is first block to retrieve (optional, default is zero or the last block on the blockchain)
  • lastIndex (N) is the last block to retrieve (optional, default is firstIndex + 99)
  • server (S) is the ip address of Nxt node you want to fetch data from
  • serverPort (N) is the API port of Nxt node you want to fetch data from (standard: 7876)
  • serverSSL (B) fetch from http(false) or https(true)

Response:

  • transactions (A) is an array including transactions associated with addresses in wallet file (refer to Get Block for details)

Example

Request:

http://localhost:7801/keystash?requestType=getSinceBlock&lastIndex=10&server=localhost&serverPort=7876

Response:

keystash(
{
  "transaction": [
    {
      "transactions": [
        {
          "fullHash": "4d172e6c13417ae643b994f1bc02fdb6a3f797dd6293eb0f2cc92092d78da41f",
          "requestProcessingTime": 0,
          "confirmations": 6,
          "signatureHash": "65e4602f8132d3f70fcbdd700704cb8e0fee56b51f201190a8670402786d117f",
          "transaction": "16607658127557269325",
          "amountNQT": "100000000",
          "ecBlockHeight": 153297,
          "transactionIndex": 10,
          "block": "16727598048791079811",
          "recipientRS": "NXT-Y5A5-HZUR-PEER-EY2G4",
          "feeNQT": "100000000",
          "type": 0,
          "recipient": "13922911782944312579",
          "version": 1,
          "timestamp": 39162060,
          "sender": "13922911782944312579",
          "ecBlockId": "16018509626067105695",
          "height": 363069,
          "subtype": 0,
          "senderPublicKey": "6d53ada78314e26b4d3900e1ee389875f46fcc3c44e2d37ecc318d7ac33d9f06",
          "deadline": 500,
          "blockTimestamp": 39163641,
          "signature": "2a2989b7325c5364768bbac1705ba467ef4a410b2f930d933adf910c2758c30dc6bbcd8fb6ef85c72ac378c4fb35d1b4db7be7f7b54b730c1aed94a70ce88add",
          "senderRS": "NXT-Y5A5-HZUR-PEER-EY2G4"
        }
      ]
    }
  ]
})

Get Transactions By Account

Get all transactions with info by address

Request:

  • requestType is getTransactionsByAccount
  • address (S) is the address of the account
  • numberOfConfirmations (N) is is the balance (in NQT) of the account with at least (N) confirmations
  • server (S) is the ip address of Nxt node you want to fetch data from
  • serverPort (N) is the API port of Nxt node you want to fetch data from (standard: 7876)
  • serverSSL (B) fetch from http(false) or https(true)

Response:

  • transactions (A) is an array including all transactions associated with the address

Example

Request:

http://localhost:7801/keystash?requestType=getTransactionsByLabel&label=customer1&numberOfConfirmations=1440&server=localhost&serverPort=7876

Response:

keystash(
{
  "transaction": [
    {
      "transactions": [
               {
          "fullHash": "475d0349e12f2fe5c84487a5defcac5268b5b47192993b54bca35f3920104a3b",
          "confirmations": 5667,
          "signatureHash": "4452757c1778c4d1a83fa55b95c5eb4150b63ac2785bbdba1e60bd161354a4b1",
          "transaction": "16514471003230002503",
          "amountNQT": "100000000",
          "ecBlockHeight": 153297,
          "transactionIndex": 1,
          "block": "10273900352912643751",
          "recipientRS": "NXT-Y5A5-HZUR-PEER-EY2G4",
          "feeNQT": "100000000",
          "type": 0,
          "recipient": "13922911782944312579",
          "version": 1,
          "timestamp": 38577211,
          "sender": "13922911782944312579",
          "ecBlockId": "16018509626067105695",
          "height": 357738,
          "subtype": 0,
          "senderPublicKey": "6d53ada78314e26b4d3900e1ee389875f46fcc3c44e2d37ecc318d7ac33d9f06",
          "deadline": 500,
          "blockTimestamp": 38577356,
          "signature": "8ae3f4b99883728168eba79d65698a976a623244d0af8d361079debedd4e110c86be94c1c94a02558234e3fd2ad8972ea8ad55412f44fd7275ca5c24085d2885",
          "senderRS": "NXT-Y5A5-HZUR-PEER-EY2G4"
        },
        {
          "fullHash": "5b657275f33a94bcb0b64e5b1d629d5e706b3ae189edf091508fe11e4708bb08",
          "confirmations": 8974,
          "signatureHash": "d8367aae65274bd7a33c82dc68399c0b99e4191c5e57a60f44ed8ca849231be8",
          "transaction": "13588550793005524315",
          "amountNQT": "100000000",
          "ecBlockHeight": 153297,
          "transactionIndex": 11,
          "block": "1204336328287351138",
          "recipientRS": "NXT-Y5A5-HZUR-PEER-EY2G4",
          "feeNQT": "100000000",
          "type": 0,
          "recipient": "13922911782944312579",
          "version": 1,
          "timestamp": 38224812,
          "sender": "13922911782944312579",
          "ecBlockId": "16018509626067105695",
          "height": 354431,
          "subtype": 0,
          "senderPublicKey": "6d53ada78314e26b4d3900e1ee389875f46fcc3c44e2d37ecc318d7ac33d9f06",
          "deadline": 500,
          "blockTimestamp": 38225391,
          "signature": "07d70dcefbf72633f74badf3301846c741507cb761b517faaf3593d76730f00b4c9b99e84374342bb3e7761865fa91ffcd5ed0ab808d6c0b1e0ae71ef59af383",
          "senderRS": "NXT-Y5A5-HZUR-PEER-EY2G4"
        }
      ]
    }
  ]
})

Get Transactions By Label

Get all transactions with info by label

Request:

  • requestType is getTransactionsByLabel
  • label (S) with associated accounts
  • numberOfConfirmations (N) is is the balance (in NQT) of the account with at least (N) confirmations
  • server (S) is the ip address of Nxt node you want to fetch data from
  • serverPort (N) is the API port of Nxt node you want to fetch data from (standard: 7876)
  • serverSSL (B) fetch from http(false) or https(true)

Response:

  • transactions (A) is an array including all transactions associated with the label

Example

Request:

http://localhost:7801/keystash?requestType=getTransactionsByAccount&address=NXT-Y5A5-HZUR-PEER-EY2G4&numberOfConfirmations=1440&server=localhost&serverPort=7876

Response:

keystash(
{
  "transaction": [
    {
      "transactions": [
               {
          "fullHash": "475d0349e12f2fe5c84487a5defcac5268b5b47192993b54bca35f3920104a3b",
          "confirmations": 5667,
          "signatureHash": "4452757c1778c4d1a83fa55b95c5eb4150b63ac2785bbdba1e60bd161354a4b1",
          "transaction": "16514471003230002503",
          "amountNQT": "100000000",
          "ecBlockHeight": 153297,
          "transactionIndex": 1,
          "block": "10273900352912643751",
          "recipientRS": "NXT-Y5A5-HZUR-PEER-EY2G4",
          "feeNQT": "100000000",
          "type": 0,
          "recipient": "13922911782944312579",
          "version": 1,
          "timestamp": 38577211,
          "sender": "13922911782944312579",
          "ecBlockId": "16018509626067105695",
          "height": 357738,
          "subtype": 0,
          "senderPublicKey": "6d53ada78314e26b4d3900e1ee389875f46fcc3c44e2d37ecc318d7ac33d9f06",
          "deadline": 500,
          "blockTimestamp": 38577356,
          "signature": "8ae3f4b99883728168eba79d65698a976a623244d0af8d361079debedd4e110c86be94c1c94a02558234e3fd2ad8972ea8ad55412f44fd7275ca5c24085d2885",
          "senderRS": "NXT-Y5A5-HZUR-PEER-EY2G4"
        },
        {
          "fullHash": "5b657275f33a94bcb0b64e5b1d629d5e706b3ae189edf091508fe11e4708bb08",
          "confirmations": 8974,
          "signatureHash": "d8367aae65274bd7a33c82dc68399c0b99e4191c5e57a60f44ed8ca849231be8",
          "transaction": "13588550793005524315",
          "amountNQT": "100000000",
          "ecBlockHeight": 153297,
          "transactionIndex": 11,
          "block": "1204336328287351138",
          "recipientRS": "NXT-Y5A5-HZUR-PEER-EY2G4",
          "feeNQT": "100000000",
          "type": 0,
          "recipient": "13922911782944312579",
          "version": 1,
          "timestamp": 38224812,
          "sender": "13922911782944312579",
          "ecBlockId": "16018509626067105695",
          "height": 354431,
          "subtype": 0,
          "senderPublicKey": "6d53ada78314e26b4d3900e1ee389875f46fcc3c44e2d37ecc318d7ac33d9f06",
          "deadline": 500,
          "blockTimestamp": 38225391,
          "signature": "07d70dcefbf72633f74badf3301846c741507cb761b517faaf3593d76730f00b4c9b99e84374342bb3e7761865fa91ffcd5ed0ab808d6c0b1e0ae71ef59af383",
          "senderRS": "NXT-Y5A5-HZUR-PEER-EY2G4"
        }
      ]
    }
  ]
})

Get Unconfirmed

Get a list of unconfirmed transactions associated with all addresss in wallet file

Request:

  • requestType is getUnconfirmed
  • server (S) is the ip address of Nxt node you want to fetch data from
  • serverPort (N) is the API port of Nxt node you want to fetch data from (standard: 7876)
  • serverSSL (B) fetch from http(false) or https(true)

Response:

  • unconfirmedTransactions (A) is an array including all unconfirmed transactions associated with addresses in wallet file

Example

Request:

http://localhost:7801/keystash?requestType=getUnconfirmed&server=localhost&serverPort=7876

Response:

keystash(
{
  "transaction": [
    {
      "unconfirmedTransactions": [
        [
          {
            "fullHash": "569c1991de8770b06d022c9bb533debc0894ed723ceda7faf7bd981f3201a27c",
            "signatureHash": "f3c5c29cff91e8eb36d497f92d31bbbd231f38314b50814d7283db21e0731898",
            "transaction": "12713811138053774422",
            "amountNQT": "100000000",
            "ecBlockHeight": 153297,
            "recipientRS": "NXT-Y5A5-HZUR-PEER-EY2G4",
            "feeNQT": "100000000",
            "type": 0,
            "recipient": "13922911782944312579",
            "version": 1,
            "timestamp": 39204580,
            "sender": "13922911782944312579",
            "ecBlockId": "16018509626067105695",
            "height": 2147483647,
            "subtype": 0,
            "senderPublicKey": "6d53ada78314e26b4d3900e1ee389875f46fcc3c44e2d37ecc318d7ac33d9f06",
            "deadline": 500,
            "signature": "0741846a0551d01888f9c9595e26c9bb3397415004748e30e340dd4e316e1e0a972782885898a32a937ff16ab485db6f8b62408a31285b0dc394d6466772dda4",
            "senderRS": "NXT-Y5A5-HZUR-PEER-EY2G4"
          }
        ]
      ]
    }
  ]
})

Get Unconfirmed By Account

Get a list of unconfirmed transactions associated with an account in wallet file

Request:

  • requestType is getUnconfirmedByAccount
  • address (S) is the address of the account
  • server (S) is the ip address of Nxt node you want to fetch data from
  • serverPort (N) is the API port of Nxt node you want to fetch data from (standard: 7876)
  • serverSSL (B) fetch from http(false) or https(true)

Response:

  • unconfirmedTransactions (A) is an array including all unconfirmed transactions associated with an account in wallet file

Example

Request:

http://localhost:7801/keystash?requestType=getUnconfirmedByAccount&address=NXT-Y5A5-HZUR-PEER-EY2G4&server=localhost&serverPort=7876

Response:

keystash(
{
  "transaction": [
    {
      "unconfirmedTransactions": [
        [
          {
            "fullHash": "569c1991de8770b06d022c9bb533debc0894ed723ceda7faf7bd981f3201a27c",
            "signatureHash": "f3c5c29cff91e8eb36d497f92d31bbbd231f38314b50814d7283db21e0731898",
            "transaction": "12713811138053774422",
            "amountNQT": "100000000",
            "ecBlockHeight": 153297,
            "recipientRS": "NXT-Y5A5-HZUR-PEER-EY2G4",
            "feeNQT": "100000000",
            "type": 0,
            "recipient": "13922911782944312579",
            "version": 1,
            "timestamp": 39204580,
            "sender": "13922911782944312579",
            "ecBlockId": "16018509626067105695",
            "height": 2147483647,
            "subtype": 0,
            "senderPublicKey": "6d53ada78314e26b4d3900e1ee389875f46fcc3c44e2d37ecc318d7ac33d9f06",
            "deadline": 500,
            "signature": "0741846a0551d01888f9c9595e26c9bb3397415004748e30e340dd4e316e1e0a972782885898a32a937ff16ab485db6f8b62408a31285b0dc394d6466772dda4",
            "senderRS": "NXT-Y5A5-HZUR-PEER-EY2G4"
          }
        ]
      ]
    }
  ]
})

Get Unconfirmed By Label

Get a list of unconfirmed transactions associated with a label in wallet file

Request:

  • requestType is getUnconfirmedByLabel
  • label (S) is the label of the account
  • server (S) is the ip address of Nxt node you want to fetch data from
  • serverPort (N) is the API port of Nxt node you want to fetch data from (standard: 7876)
  • serverSSL (B) fetch from http(false) or https(true)

Response:

  • unconfirmedTransactions (A) is an array including all unconfirmed transactions associated with an label in wallet file

Example

Request:

http://localhost:7801/keystash?requestType=getUnconfirmedByLabel&label=customer1&server=localhost&serverPort=7876

Response:

keystash(
{
  "transaction": [
    {
      "unconfirmedTransactions": [
        [
          {
            "fullHash": "569c1991de8770b06d022c9bb533debc0894ed723ceda7faf7bd981f3201a27c",
            "signatureHash": "f3c5c29cff91e8eb36d497f92d31bbbd231f38314b50814d7283db21e0731898",
            "transaction": "12713811138053774422",
            "amountNQT": "100000000",
            "ecBlockHeight": 153297,
            "recipientRS": "NXT-Y5A5-HZUR-PEER-EY2G4",
            "feeNQT": "100000000",
            "type": 0,
            "recipient": "13922911782944312579",
            "version": 1,
            "timestamp": 39204580,
            "sender": "13922911782944312579",
            "ecBlockId": "16018509626067105695",
            "height": 2147483647,
            "subtype": 0,
            "senderPublicKey": "6d53ada78314e26b4d3900e1ee389875f46fcc3c44e2d37ecc318d7ac33d9f06",
            "deadline": 500,
            "signature": "0741846a0551d01888f9c9595e26c9bb3397415004748e30e340dd4e316e1e0a972782885898a32a937ff16ab485db6f8b62408a31285b0dc394d6466772dda4",
            "senderRS": "NXT-Y5A5-HZUR-PEER-EY2G4"
          }
        ]
      ]
    }
  ]
})

Get Transaction Info

Get a transaction object given a transaction ID

Request:

  • requestType is getTransactionInfo
  • transaction (N) is the transaction ID
  • server (S) is the ip address of Nxt node you want to fetch data from
  • serverPort (N) is the API port of Nxt node you want to fetch data from (standard: 7876)
  • serverSSL (B) fetch from http(false) or https(true)

Response:

  • fullHash (S) is the full hash of the signed transaction
  • confirmations (N) is the number of transaction confirmations
  • signatureHash (S) is a SHA-256 hash of the transaction signature
  • transaction (S) is the transaction ID
  • amountNQT (S) is the amount (in NQT) of the transaction
  • ecBlockHeight (N) is the economic clustering block height
  • transactionIndex (N) is a zero-based index giving the order of the transaction in its block
  • block (S) is the ID of the block containing the transaction
  • recipientRS (S) is the Reed-Solomon address of the recipient, if applicable
  • feeNQT (S) is the fee (in NQT) of the transaction
  • type (N) is the transaction type (refer to Get Constants for a current list of types)
  • recipient (S) is the account number of the recipient, if applicable
  • version (N) is the transaction version number
  • timestamp (N) is the time (in seconds since the genesis block) of the transaction
  • sender (S) is the account ID of the sender
  • ecBlockId (N) is the economic clustering block ID
  • height (N) is the height of the block in the blockchain
  • subtype (N) is the transaction subtype (refer to Get Constants for a current list of subtypes)
  • senderPublicKey (S) is the public key of the sending account for the transaction
  • deadline (N) is the deadline (in minutes) for the transaction to be confirmed
  • blocktimestamp (N) is the timestamp (in seconds since the genesis block) of the block
  • signature (S) is the digital signature of the transaction
  • senderRS (S) is the Reed-Solomon address of the sender

Example

Request:

http://localhost:7801/keystash?requestType=getTransactionInfo&transaction=12713811138053774422&server=localhost&serverPort=7876

Response:

keystash(
{
  "transaction": [
    {
      "fullHash": "569c1991de8770b06d022c9bb533debc0894ed723ceda7faf7bd981f3201a27c",
      "confirmations": 13,
      "signatureHash": "f3c5c29cff91e8eb36d497f92d31bbbd231f38314b50814d7283db21e0731898",
      "transaction": "12713811138053774422",
      "amountNQT": "100000000",
      "ecBlockHeight": 153297,
      "transactionIndex": 7,
      "block": "15448732425033089345",
      "recipientRS": "NXT-Y5A5-HZUR-PEER-EY2G4",
      "feeNQT": "100000000",
      "type": 0,
      "recipient": "13922911782944312579",
      "version": 1,
      "timestamp": 39204580,
      "sender": "13922911782944312579",
      "ecBlockId": "16018509626067105695",
      "height": 363419,
      "subtype": 0,
      "senderPublicKey": "6d53ada78314e26b4d3900e1ee389875f46fcc3c44e2d37ecc318d7ac33d9f06",
      "deadline": 500,
      "blockTimestamp": 39204720,
      "signature": "0741846a0551d01888f9c9595e26c9bb3397415004748e30e340dd4e316e1e0a972782885898a32a937ff16ab485db6f8b62408a31285b0dc394d6466772dda4",
      "senderRS": "NXT-Y5A5-HZUR-PEER-EY2G4"
    }
  ]
})

Util Operations

Decrypt Secret

Decrypt (AES) secret(privat phrase) of account

Request:

  • requestType is decryptSecret
  • address (S) is the address of the account
  • decryptPassword (S) is the password you set to encrypt account

Response:

  • accountId (S) is the account id stored in wallet file
  • address (S) is the address of the account
  • addressRS (S) is the Reed-Solomon address of the account
  • publicKey (S) is the public key of the account
  • label (S) is the label of the account
  • secretPhrase (S) is the private phrase that allows you to spend Nxt

Example

Request:

http://localhost:7801/keystash?requestType=decryptSecret&address=NXT-PFWF-9VZX-DKXA-H33BB&decryptPassword=12345678

Response:

keystash(
{
  "util": [
    {
      "accountId": "1124",
      "address": "17628251395899176845",
      "addressRS": "NXT-PFWF-9VZX-DKXA-H33BB",
      "publicKey": "1dfd084b0b01cfe24321590a7acff51a16c09c97767ef4eeaa0c1d07db6fb35c",
      "label": "No Label",
      "secretPhrase": "òZxYAr6yLPFJ Ï¿¾ìÍ]Å~güt SÁ¯òL±Ç %þ8ÏRÄþB F3ýæP1Ó¨¨ ÿ¢æÛtgÝgî ÝãxnúG-Þ& ³y¡[ù}§5¬íDÛ ë¸«taG35i9w3q9 Ú=éñ8(»ýµß§[ C»:(à;zFð¶PXâ1(Ë Ñå*ÛíP6Ho Þòºå?pÒ=(<¯ ï£Ô0ãEY¾ü{¾ºÊQLL¤ mR8Wr7a0C6k7M0oyp 3FLdx5rC 7¡éóÀ¹´pSsYtydgCpr ÜéÅ:K74ik8oe2 ÐÊN{ÿýºJâMq1s ·Myë1MÎÆ.bMdï-"
    }
  ]
})

Change Label

Change label of an account

Request:

  • requestType is changeLabel
  • address (S) is the address of the account
  • label (S) is the label of the account
  • decryptPassword (S) is the password you set to encrypt account

Response:

  • success (S) is a message that confirms the label change

Example

Request:

http://localhost:7801/keystash?requestType=changeLabel&address=NXT-PFWF-9VZX-DKXA-H33BB&label=customer2&decryptPassword=12345678

Response:

keystash(
{
  "util": [
    {
      "success": "changed label of account NXT-PFWF-9VZX-DKXA-H33BB to customer2"
    }
  ]
})

Generate Token

Generate a token to proof ownership of an account

Request:

  • requestType is generateToken
  • address (S) is the address of the account
  • data (S) is for example a website URL or company name
  • decryptPassword (S) is the password you set to encrypt account

Response:

  • token (S) is the token key

Example

Request:

http://localhost:7801/keystash?requestType=generateToken&address=NXT-PFWF-9VZX-DKXA-H33BB&data=KeyStash&decryptPassword=12345678

Response:

keystash(
{
  "util": [
    {
      "token": "gejqqkrd756mnogkj0seto807j66vt3lphvd7oi47n1nl39he8e9g1kv9ga0448464276lbvbu41g0eth5pvi3389ohs2kjf78l30ngu9magh8a90orrttvc4hsfk5b8b1aljkten8h33s2dh32j4depljrst3qu"
    }
  ]
})

Decode Token

Decode a token to proof ownership of an account

Request:

  • requestType is decodeToken
  • data (S) is for example a website URL or company name
  • token (S) is a token key

Response:

  • timestamp (N) is the timestamp when the token was generated
  • valid (B) check if token is valid
  • address (S) is the address of the account
  • addressRS (S) is the Reed-Solomon address of the account

Example

Request:

http://localhost:7801/keystash?requestType=decodeToken&data=KeyStash&token=gejqqkrd756mnogkj0seto807j66vt3lphvd7oi47n1nl39he8e9g1kv9ga0448464276lbvbu41g0eth5pvi3389ohs2kjf78l30ngu9magh8a90orrttvc4hsfk5b8b1aljkten8h33s2dh32j4depljrst3qu

Response:

keystash(
{
  "util": [
    {
      "timestamp": 41032979,
      "valid": true,
      "addressRS": "NXT-PFWF-9VZX-DKXA-H33BB",
      "address": "13922911782944312579"
    }
  ]
})

Wallet Operations

Backup Wallet

Backup wallet file in path that was set in (keystash/conf/keystash.properties). The backup will not overwrite any existing wallet files and contains date and time in the filename.

Request:

  • requestType is backupWallet
  • save (B) true or false

Response:

  • success (S) is a message that confirms the wallet backup

Example

Request:

http://localhost:7801/keystash?requestType=backupWallet&save=true

Response:

keystash(
{
  "wallet": [
    {
      "success": "wallet backup saved with filename wallet_2015.02.21_02.10.52_PM_MEZ"
    }
  ]
})

Encrypt Wallet

Encrypt Wallet for a extra layer of security using AES 128(standard) bit or 256 bit.

Request:

  • requestType is encryptWallet
  • encryptPassword (S) will be used for AES encryption

Response:

  • success (S) is a message that confirms the wallet backup

Example

Request:

http://localhost:7801/keystash?requestType=encryptWallet&encryptPassword=12345678

Response:

keystash(
{
  "wallet": [
    {
      "success": "wallet file encryption successful"
    }
  ]
})

Get Info

Information about preferences and wallet file status

Request:

  • requestType is getInfo

Response:

  • keystashVersion (S) is current used version of KeyStash
  • walletEncrypted (B) is wallet file encrypted (true) or (false)
  • numberOfAccounts (N) is the number of accounts stored in wallet file
  • unlimitedKeyStrengthAES (B) indicates if java allows higher AES encryption than 128 bit if (true)
  • enableProperties (B) enable to read from keystash.properties if (true)
  • apiServerEnforcePOST (B) allows API POSTOnly requests if (true)
  • apiFormat (S) is jsonp(recommended) or json
  • enableApiPassword (B) password protection for API requests

Example

Request:

http://localhost:7801/keystash?requestType=getInfo

Response:

keystash(
{
  "wallet": [
    {
      "keystashVersion": "*.*.*",
      "walletEncrypted": true,
      "numberOfAccounts": 11831,
      "unlimitedKeyStrengthAES": true,
      "enableProperties": "true",
      "apiServerEnforcePOST": "true",
      "apiFormat": "jsonp",
      "enableApiPassword": "true"
    }
  ]
})

References:

Print/export