Chia RPC

Daemon

exit

Tells the daemon at the RPC endpoint to exit.

Tells the daemon at the RPC endpoint to exit. There isn't a way to start the daemon remotely via RPC, so take care that you have access to the RPC host if needed.

websocket

RPC payload

{
  'ack': False, 
  'command': '/exit', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK response without return values

getStatus

Indicator if the genesis block is initialized.

Indicator if the genesis block is initialized.

websocket

RPC payload

{
  'ack': False, 
  'command': '/get_status', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK

getVersion

Get the installed version of chia at the endpoint.

Get the installed version of chia at the endpoint.

websocket

RPC payload

{
  'ack': False, 
  'command': '/get_version', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK

getWalletAddresses

Returns the list of addresses.

Returns the list of addresses.

websocket

RPC payload

{
  'ack': False, 
  'command': '/get_wallet_addresses', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK

isRunning

Determines if the named service is running.

Determines if the named service is running.

websocket

RPC payload

{
  'ack': False, 
  'command': '/is_running', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK

ping

Ping the daemon.

Ping the daemon.

websocket

RPC payload

{
  'ack': False, 
  'command': '/ping', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK response without return values

registerService

Registers this daemon to receive messages.

Registers this daemon to receive messages. This is needed to receive responses from services other than the daemon.

websocket

RPC payload

{
  'ack': False, 
  'command': '/register_service', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK

runningServices

Returns the list of running services.

Returns the list of running services.

websocket

RPC payload

{
  'ack': False, 
  'command': '/running_services', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK

startService

Starts the named service.

Starts the named service.

websocket

RPC payload

{
  'ack': False, 
  'command': '/start_service', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK response without return values

stopService

Stops the named service.

Stops the named service.

websocket

RPC payload

{
  'ack': False, 
  'command': '/stop_service', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK response without return values

KeyRing

addPrivateKey

Adds a private key to the keychain.

Adds a private key to the keychain, with the given entropy and passphrase. The keychain itself will store the public key, and the entropy bytes, but not the passphrase.

websocket

RPC payload

{
  'ack': False, 
  'command': '/add_private_key', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK response without return values

checkKeys

Check the keys.

Check the keys.

websocket

RPC payload

{
  'ack': False, 
  'command': '/check_keys', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK response without return values

daemonDeleteAllKeys

Deletes all keys from the keychain.

Deletes all keys from the keychain.

websocket

RPC payload

{
  'ack': False, 
  'command': '/delete_all_keys', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK response without return values

deleteKeyByFingerprint

Deletes all keys which have the given public key fingerprint.

Deletes all keys which have the given public key fingerprint.

websocket

RPC payload

{
  'ack': False, 
  'command': '/delete_key_by_fingerprint', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK response without return values

deleteLabel

Removes the label assigned to the key with the given fingerprint.

Removes the label assigned to the key with the given fingerprint.

websocket

RPC payload

{
  'ack': False, 
  'command': '/delete_label', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK response without return values

getAllPrivateKeys

Returns all private keys which can be retrieved, with the given passphrases.

Returns all private keys which can be retrieved, with the given passphrases. A tuple of key, and entropy bytes (i.e. mnemonic) is returned for each key.

websocket

RPC payload

{
  'ack': False, 
  'command': '/get_all_private_keys', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK

getFirstPrivateKey

Returns the first key in the keychain.

Returns the first key in the keychain.

websocket

RPC payload

{
  'ack': False, 
  'command': '/get_first_private_key', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK

getKey

Locates and returns KeyData matching the provided fingerprint.

Locates and returns KeyData matching the provided fingerprint.

websocket

RPC payload

{
  'ack': False, 
  'command': '/get_key', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK

getKeyForFingerprint

Locates and returns a private key matching the provided fingerprint.

Locates and returns a private key matching the provided fingerprint.

websocket

RPC payload

{
  'ack': False, 
  'command': '/get_key_for_fingerprint', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK

getKeys

Returns the KeyData of all keys which can be retrieved.

Returns the KeyData of all keys which can be retrieved.

websocket

RPC payload

{
  'ack': False, 
  'command': '/get_keys', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK

isKeyringLocked

Returns whether the keyring is in a locked state.

Returns whether the keyring is in a locked state. If the keyring doesn't have a master passphrase set, or if a master passphrase is set and the cached passphrase is valid, the keyring is "unlocked".

websocket

RPC payload

{
  'ack': False, 
  'command': '/is_keyring_locked', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK

keyringStatus

Get detailed status of the key ring.

Get detailed status of the key ring.

websocket

RPC payload

{
  'ack': False, 
  'command': '/keyring_status', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK

removeKeyringPassphrase

Remove the key ring passphrase.

Remove the key ring passphrase.

websocket

RPC payload

{
  'ack': False, 
  'command': '/remove_keyring_passphrase', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK response without return values

setKeyringPassphrase

Update the key ring passphrase.

Update the key ring passphrase.

websocket

RPC payload

{
  'ack': False, 
  'command': '/set_keyring_passphrase', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK response without return values

setLabel

Assigns the given label to the first key with the given fingerprint.

Assigns the given label to the first key with the given fingerprint.

websocket

RPC payload

{
  'ack': False, 
  'command': '/set_label', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK response without return values

unlockKeyring

Unlock the keyring.

Unlock the keyring.

websocket

RPC payload

{
  'ack': False, 
  'command': '/unlock_keyring', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK response without return values

validateKeyringPassphrase

Test the validity of a passphrase.

Test the validity of a passphrase.

websocket

RPC payload

{
  'ack': False, 
  'command': '/validate_keyring_passphrase', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK response without return values

Plotter

getKeysForPlotting

Returns a list of keys.

Returns the list of keys used for plotting.

websocket

RPC payload

{
  'ack': False, 
  'command': '/get_keys_for_plotting', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK

getPlotters

Get info about installed and installable plotters.

Get info about installed and installable plotters.

websocket

RPC payload

{
  'ack': False, 
  'command': '/get_plotters', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK

startPlotting

Starts plotting.

Starts plotting. Returns after request is added to the plotting queue. Does not wait for plotting to finish.

websocket

RPC payload

{
  'ack': False, 
  'command': '/start_plotting', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK

stopPlotting

Stops the plot with the given id.

Stops the plot with the given id.

websocket

RPC payload

{
  'ack': False, 
  'command': '/stop_plotting', 
  'data': {}, 
  'destination': 'daemon', 
  'origin': 'client_app_id', 
  'request_id': 'unique message correlation id'
}

Parameters

Body parameters
Name Description
body *

Responses

Status: 200 - OK response without return values