Home

for KMD HTTP API

v0.0.1

Contact: [email protected]

Base URL
https://algo.nownodes.io

API for KMD (Key Management Daemon)

Authentication

api-keyAuthapiKey

API Key: api-key in header

API Reference

Swagger

Gets the current swagger spec.

GET
https://algo.nownodes.io/swagger.json

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Returns the entire swagger spec in json.

Response

200OK

The current swagger spec

default

Unknown Error

Key

Generate a key

POST
https://algo.nownodes.io/v1/key

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Generates the next key in the deterministic key sequence (as determined by the master derivation key) and adds it to the wallet, returning the public key.

Body

application/json

APIV1POSTKeyRequest is the request for POST /v1/key

display_mnemonicboolean
wallet_handle_tokenstring

Response

200OK

Response to POST /v1/key

Export a key

POST
https://algo.nownodes.io/v1/key/export

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Export the secret key associated with the passed public key.

Body

application/json

APIV1POSTKeyExportRequest is the request for POST /v1/key/export

addressstring
wallet_handle_tokenstring
wallet_passwordstring

Response

200OK

Response to POST /v1/key/export

Import a key

POST
https://algo.nownodes.io/v1/key/import

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Import an externally generated key into the wallet. Note that if you wish to back up the imported key, you must do so by backing up the entire wallet database, because imported keys were not derived from the wallet's master derivation key.

Body

application/json

APIV1POSTKeyImportRequest is the request for POST /v1/key/import

private_keyArray<integer>
wallet_handle_tokenstring

Response

200OK

Response to POST /v1/key/import

List keys in wallet

POST
https://algo.nownodes.io/v1/key/list

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Lists all of the public keys in this wallet. All of them have a stored private key.

Body

application/json

APIV1POSTKeyListRequest is the request for POST /v1/key/list

wallet_handle_tokenstring

Response

200OK

Response to POST /v1/key/list

Master-key

Export the master derivation key from a wallet

POST
https://algo.nownodes.io/v1/master-key/export

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Export the master derivation key from the wallet. This key is a master "backup" key for the underlying wallet. With it, you can regenerate all of the wallets that have been generated with this wallet's POST /v1/key endpoint. This key will not allow you to recover keys imported from other wallets, however.

Body

application/json

APIV1POSTMasterKeyExportRequest is the request for POST /v1/master-key/export

wallet_handle_tokenstring
wallet_passwordstring

Response

200OK

Response to POST /v1/master-key/export

Multisig

Export multisig address metadata

POST
https://algo.nownodes.io/v1/multisig/export

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Given a multisig address whose preimage this wallet stores, returns the information used to generate the address, including public keys, threshold, and multisig version.

Body

application/json

APIV1POSTMultisigExportRequest is the request for POST /v1/multisig/export

addressstring
wallet_handle_tokenstring

Response

200OK

Response to POST /v1/multisig/export

Import a multisig account

POST
https://algo.nownodes.io/v1/multisig/import

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Generates a multisig account from the passed public keys array and multisig metadata, and stores all of this in the wallet.

Body

application/json

APIV1POSTMultisigImportRequest is the request for POST /v1/multisig/import

multisig_versioninteger<uint8>
pksArray<PublicKey>
thresholdinteger<uint8>
wallet_handle_tokenstring

Response

200OK

Response to POST /v1/multisig/import

List multisig accounts

POST
https://algo.nownodes.io/v1/multisig/list

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Lists all of the multisig accounts whose preimages this wallet stores

Body

application/json

APIV1POSTMultisigListRequest is the request for POST /v1/multisig/list

wallet_handle_tokenstring

Response

200OK

Response to POST /v1/multisig/list

Sign a multisig transaction

POST
https://algo.nownodes.io/v1/multisig/sign

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Start a multisig signature, or add a signature to a partially completed multisig signature object.

Body

application/json

APIV1POSTMultisigTransactionSignRequest is the request for POST /v1/multisig/sign

partial_multisigMultisigSig

MultisigSig is the structure that holds multiple Subsigs

Show child attributes
SubsigsArray<MultisigSubsig>
Show child attributes
KeyArray<integer>
SigArray<integer>
Thresholdinteger<uint8>
Versioninteger<uint8>
public_keyArray<integer>
signerArray<integer>
transactionstring<byte>
wallet_handle_tokenstring
wallet_passwordstring

Response

200OK

Response to POST /v1/multisig/sign

Sign a program for a multisig account

POST
https://algo.nownodes.io/v1/multisig/signprogram

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Start a multisig signature, or add a signature to a partially completed multisig signature object.

Body

application/json

APIV1POSTMultisigProgramSignRequest is the request for POST /v1/multisig/signprogram

addressstring
datastring<byte>
partial_multisigMultisigSig

MultisigSig is the structure that holds multiple Subsigs

Show child attributes
SubsigsArray<MultisigSubsig>
Show child attributes
KeyArray<integer>
SigArray<integer>
Thresholdinteger<uint8>
Versioninteger<uint8>
public_keyArray<integer>
wallet_handle_tokenstring
wallet_passwordstring

Response

200OK

Response to POST /v1/multisig/signdata

Program

Sign program

POST
https://algo.nownodes.io/v1/program/sign

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Signs the passed program with a key from the wallet, determined by the account named in the request.

Body

application/json

APIV1POSTProgramSignRequest is the request for POST /v1/program/sign

addressstring
datastring<byte>
wallet_handle_tokenstring
wallet_passwordstring

Response

200OK

Response to POST /v1/data/sign

Transaction

Sign a transaction

POST
https://algo.nownodes.io/v1/transaction/sign

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Signs the passed transaction with a key from the wallet, determined by the sender encoded in the transaction.

Body

application/json

APIV1POSTTransactionSignRequest is the request for POST /v1/transaction/sign

public_keyArray<integer>
transactionstring<byte>

Base64 encoding of msgpack encoding of a Transaction object Note: SDK and goal usually generate SignedTxn objects in that case, the field txn / Transaction of the generated SignedTxn object needs to be used

wallet_handle_tokenstring
wallet_passwordstring

Response

200OK

Response to POST /v1/transaction/sign

Wallet

Create a wallet

POST
https://algo.nownodes.io/v1/wallet

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Create a new wallet (collection of keys) with the given parameters.

Body

application/json

APIV1POSTWalletRequest is the request for POST /v1/wallet

master_derivation_keyArray<integer>

MasterDerivationKey is used to derive ed25519 keys for use in wallets

wallet_driver_namestring
wallet_namestring
wallet_passwordstring

Response

200OK

Response to POST /v1/wallet

Get wallet info

POST
https://algo.nownodes.io/v1/wallet/info

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Returns information about the wallet associated with the passed wallet handle token. Additionally returns expiration information about the token itself.

Body

application/json

APIV1POSTWalletInfoRequest is the request for POST /v1/wallet/info

wallet_handle_tokenstring

Response

200OK

Response to POST /v1/wallet/info

Initialize a wallet handle token

POST
https://algo.nownodes.io/v1/wallet/init

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Unlock the wallet and return a wallet handle token that can be used for subsequent operations. These tokens expire periodically and must be renewed. You can POST the token to /v1/wallet/info to see how much time remains until expiration, and renew it with /v1/wallet/renew. When you're done, you can invalidate the token with /v1/wallet/release.

Body

application/json

APIV1POSTWalletInitRequest is the request for POST /v1/wallet/init

wallet_idstring
wallet_passwordstring

Response

200OK

Response to POST /v1/wallet/init

Release a wallet handle token

POST
https://algo.nownodes.io/v1/wallet/release

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Invalidate the passed wallet handle token, making it invalid for use in subsequent requests.

Body

application/json

APIV1POSTWalletReleaseRequest is the request for POST /v1/wallet/release

wallet_handle_tokenstring

Response

200OK

Response to POST /v1/wallet/release

Rename a wallet

POST
https://algo.nownodes.io/v1/wallet/rename

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Rename the underlying wallet to something else

Body

application/json

APIV1POSTWalletRenameRequest is the request for POST /v1/wallet/rename

wallet_idstring
wallet_namestring
wallet_passwordstring

Response

200OK

Response to POST /v1/wallet/rename

Renew a wallet handle token

POST
https://algo.nownodes.io/v1/wallet/renew

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Renew a wallet handle token, increasing its expiration duration to its initial value

Body

application/json

APIV1POSTWalletRenewRequest is the request for POST /v1/wallet/renew

wallet_handle_tokenstring

Response

200OK

Response POST /v1/wallet/renew

Wallets

List wallets

GET
https://algo.nownodes.io/v1/wallets

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Lists all of the wallets that kmd is aware of.

Body

application/json

APIV1GETWalletsRequest is the request for GET /v1/wallets

ListWalletsRequest

Response

200OK

Response to GET /v1/wallets

Versions

Retrieves the current version

GET
https://algo.nownodes.io/versions

Authorizations

ApiKeyAuthApiKeyAuth

api-key string

NOWNodes API key passed in the api-key header.

Body

application/json

VersionsRequest is the request for GET /versions

VersionsRequest

Response

200OK

Response to GET /versions