Download OpenAPI specification:Download
The Chia node and services come with a JSON RPC API server that allows you to access information and control the services. These are accessible via HTTPS, WebSockets, or via client SDKs. The ports can be configured in ~/.chia/mainnet/config/config.yaml
. The RPC ports should not be exposed to the internet. TLS certificates are used to secure the communication using mutualTLS.
The farmer uses port 8559 by default.
The farmer RPC API is exposed, by default, on port 8559 and contains methods for managing the farmer.
Set the farm and pool reward targets.
The updated targets
farmer_target | string |
pool_target | string |
{- "farmer_target": "string",
- "pool_target": "string"
}
{- "success": true,
- "error": "string"
}
Get the farm and pool reward targets.
indicator of whether to include private keys in the search
search_for_private_key required | boolean |
max_ph_to_search | integer <int32> Default: 500 |
{- "search_for_private_key": true,
- "max_ph_to_search": 500
}
{- "farmer_target": "string",
- "pool_target": "string",
- "have_farmer_sk": true,
- "have_pool_sk": true,
- "success": true,
- "error": "string"
}
Get the list of harvesters.
Empty request body
{ }
{- "harvesters": [
- {
- "connection": {
- "host": "string",
- "node_id": "string",
- "port": 0
}, - "last_sync_time": 0.1,
- "total_plot_size": 0,
- "syncing": {
- "initial": true,
- "plot_files_processed": 0,
- "plot_files_total": 0
}, - "failed_to_open_filenames": [
- "string"
], - "no_key_filenames": [
- "string"
], - "plots": [
- {
- "file_size": 0,
- "filename": "string",
- "plot_id": "string",
- "plot_public_key": "string",
- "pool_contract_puzzle_hash": "string",
- "pool_public_key": "string",
- "size": 25,
- "time_modified": 0.1
}
], - "duplicates": [
- "string"
]
}
], - "success": true,
- "error": "string"
}
Get a summary of harvesters, similar to get_harvests but with plot counts only.
Empty request body
{ }
{- "harvesters": [
- {
- "connection": {
- "host": "string",
- "node_id": "string",
- "port": 0
}, - "last_sync_time": 0.1,
- "total_plot_size": 0,
- "syncing": {
- "initial": true,
- "plot_files_processed": 0,
- "plot_files_total": 0
}, - "plots": 0,
- "failed_to_open_filenames": 0,
- "no_keys_filenames": 0,
- "duplicates": 0
}
], - "success": true,
- "error": "string"
}
Get a paginated list of valid plots.
Search filter parameters
node_id | string <hex> |
page | integer <int32> |
page_size | integer <int32> |
Array of objects (filter_item) | |
sort_key | string Default: "filename" |
reverse | boolean |
{- "node_id": "string",
- "page": 0,
- "page_size": 0,
- "filter": [
- {
- "key": "string",
- "value": "string"
}
], - "sort_key": "filename",
- "reverse": true
}
{- "node_id": "string",
- "page": 0,
- "page_count": 0,
- "total_count": 0,
- "plots": [
- {
- "file_size": 0,
- "filename": "string",
- "plot_id": "string",
- "plot_public_key": "string",
- "pool_contract_puzzle_hash": "string",
- "pool_public_key": "string",
- "size": 25,
- "time_modified": 0.1
}
], - "success": true,
- "error": "string"
}
Get a paginated list of invalid plots.
Search filter parameters
node_id | string <hex> |
page | integer <int32> |
page_size | integer <int32> |
filter | Array of strings |
reverse | boolean |
{- "node_id": "string",
- "page": 0,
- "page_size": 0,
- "filter": [
- "string"
], - "reverse": true
}
{- "node_id": "string",
- "page": 0,
- "page_count": 0,
- "total_count": 0,
- "plots": [
- {
- "file_size": 0,
- "filename": "string",
- "plot_id": "string",
- "plot_public_key": "string",
- "pool_contract_puzzle_hash": "string",
- "pool_public_key": "string",
- "size": 25,
- "time_modified": 0.1
}
], - "success": true,
- "error": "string"
}
Get a paginated list of invalid plots with missing keys.
Search filter parameters
node_id | string <hex> |
page | integer <int32> |
page_size | integer <int32> |
filter | Array of strings |
reverse | boolean |
{- "node_id": "string",
- "page": 0,
- "page_size": 0,
- "filter": [
- "string"
], - "reverse": true
}
{- "node_id": "string",
- "page": 0,
- "page_count": 0,
- "total_count": 0,
- "plots": [
- {
- "file_size": 0,
- "filename": "string",
- "plot_id": "string",
- "plot_public_key": "string",
- "pool_contract_puzzle_hash": "string",
- "pool_public_key": "string",
- "size": 25,
- "time_modified": 0.1
}
], - "success": true,
- "error": "string"
}
Get a paginated list of duplicate plots.
Search filter parameters
node_id | string <hex> |
page | integer <int32> |
page_size | integer <int32> |
filter | Array of strings |
reverse | boolean |
{- "node_id": "string",
- "page": 0,
- "page_size": 0,
- "filter": [
- "string"
], - "reverse": true
}
{- "node_id": "string",
- "page": 0,
- "page_count": 0,
- "total_count": 0,
- "plots": [
- {
- "file_size": 0,
- "filename": "string",
- "plot_id": "string",
- "plot_public_key": "string",
- "pool_contract_puzzle_hash": "string",
- "pool_public_key": "string",
- "size": 25,
- "time_modified": 0.1
}
], - "success": true,
- "error": "string"
}
Get's the pool login link, if any.
The id of the pool launcher
launcher_id required | string |
{- "launcher_id": "string"
}
{- "login_link": "string",
- "success": true,
- "error": "string"
}
Get's the state of the pool.
Empty request body
{ }
{- "pool_state": {
- "authentication_token_timeout": 0,
- "current_difficulty": 0,
- "current_points": 0,
- "next_farmer_update": 0.1,
- "next_pool_info_update": 0.1,
- "points_acknowledged24h": [
- {
- "time_found": 0.1,
- "difficulty": 0
}
], - "points_acknowledged_since_start": 0,
- "points_found24h": [
- {
- "time_found": 0.1,
- "difficulty": 0
}
], - "points_found_since_start": 0,
- "pool_config": {
- "launcher_id": "string",
- "pool_url": "string",
- "payout_instructions": "string",
- "target_puzzle_hash": "string",
- "p2_singleton_puzzle_hash": "string",
- "owner_public_key": "string",
- "authentication_public_key": "string"
}, - "pool_errors24h": [
- {
- "error_code": 0,
- "error_message": "string"
}
], - "plot_count": 0
}, - "success": true,
- "error": "string"
}
Set's a pool's payout instructions.
The id of the pool launcher and payout instructions
launcher_id required | string |
payout_instructions required | string |
{- "launcher_id": "string",
- "payout_instructions": "string"
}
{- "success": true,
- "error": "string"
}
Get's a signage point by hash.
The signage point hash
sp_hash required | string |
{- "sp_hash": "string"
}
{- "signage_point": {
- "challenge_chain_sp": "string",
- "challenge_hash": "string",
- "difficulty": 0,
- "reward_chain_sp": "string",
- "signage_point_index": 0,
- "sub_slot_iters": 0
}, - "proofs": [
- "string"
], - "success": true,
- "error": "string"
}
Get signage points.
Empty request body
{ }
{- "signage_points": [
- {
- "signage_point": {
- "challenge_chain_sp": "string",
- "challenge_hash": "string",
- "difficulty": 0,
- "reward_chain_sp": "string",
- "signage_point_index": 0,
- "sub_slot_iters": 0
}, - "proofs": [
- "string"
]
}
], - "success": true,
- "error": "string"
}