Skip to main content

Plots CLI

This document lists chia plots commands for plot directories, legacy in-process create, and check validation. For MadMax, Bladebit, and other external plotters, see Plotters CLI.

Sources: chia/cmds/plots.py, chia/plotting/check_plots.py, chia/plotting/create_plots.py.

Reference

chia plots show

Functionality: Print configured plot search directories from config.yaml (the same paths the harvester uses).

Usage: chia plots show

Example
chia plots show

Response:

Output is printed by show_plots:

Directories where plots are being searched for:
Note that subdirectories must be added manually
Add with 'chia plots add -d [dir]' and remove with 'chia plots remove -d [dir]' Scan and check plots with 'chia plots check'

/home/user/plots

(Additional lines list each configured directory; only non-empty paths appear after the blank line.)


chia plots add

Functionality: Register a directory so the harvester includes it when farming.

Usage: chia plots add [OPTIONS]

Options:

Short CommandLong CommandTypeRequiredDescription
-d--final_dirPATHFalsePlot directory to add. Default ..
-h--helpNoneFalseShow a help message and exit
Example
chia plots add -d /mnt/chia/plots

Response:

add_cmd prints on success:

Successfully added: /mnt/chia/plots

Invalid paths raise before printing (Path doesn't exist, etc., from add_plot_directory).


chia plots remove

Functionality: Remove a directory from the configured plot search list.

Usage: chia plots remove [OPTIONS]

Options:

Short CommandLong CommandTypeRequiredDescription
-d--final_dirPATHFalsePlot directory to remove. Default ..
-h--helpNoneFalseShow a help message and exit
Example
chia plots remove -d /mnt/old-plots

Response:

remove_cmd calls remove_plot_directory only; there is no print on success, so stdout is empty.


chia plots create

Functionality: Legacy in-process plotting (Chiapos-style). Most users should use Plotters CLI instead.

Usage: chia plots create [OPTIONS]

Options:

Short CommandLong CommandTypeRequiredDescription
-k--sizeINTEGERFalsePlot k-size [default: 32]
--override-kNoneFalseAllow k smaller than 32 (no short flag)
-n--numINTEGERFalseNumber of plots [default: 1]
-b--bufferINTEGERFalseSort buffer MB [default: 3389]
-r--num_threadsINTEGERFalseThreads [default: 2]
-u--bucketsINTEGERFalseBuckets [default: 128]
-a--alt_fingerprintINTEGERFalseAlternative key fingerprint
-c--pool_contract_addressTEXTFalsePool contract address (only used if alternative fingerprint and pool public key are not set)
-f--farmer_public_keyTEXTFalseFarmer public key hex
-p--pool_public_keyTEXTFalsePool public key hex
-t--tmp_dirPATHFalseTemp directory [default: .]
-2--tmp2_dirPATHFalseSecond temp directory
-d--final_dirPATHFalseFinal plot directory [default: .]
-i--plotidTEXTFalsePlot ID hex (debug)
-m--memoTEXTFalseMemo hex (debug)
-e--nobitfieldNoneFalseDisable bitfield
-x--exclude_final_dirNoneFalseDo not add final dir to harvester plot list
-h--helpNoneFalseShow a help message and exit
Example
chia plots create -k 32 -n 1 -t /tmp/chia -d /plots/final

Response:

Chiapos progress goes to logging. After plotting, create_plots emits summary lines such as:

Summary:
Created a total of 1 new plots
plot-k32-2024-01-15-xxxxx.plot

(Exact filenames and timestamps vary; intermediate output comes from DiskPlotter / chiapos.)


chia plots check

Functionality: Validate plots against keys and run repeated challenges to compare observed versus expected proofs.

Usage: chia plots check [OPTIONS]

Options:

Short CommandLong CommandTypeRequiredDescription
-n--numINTEGERFalseChallenges per plot; omitted uses 30 (same as CLI default)
-g--grep_stringTEXTFalseOnly check paths or filenames containing this substring
-l--list_duplicatesNoneFalseList plots that share the same plot ID
--debug-show-memoNoneFalsePrint memo used to recreate the plot
--challenge-startINTEGERFalseAlternate starting challenge index
-h--helpNoneFalseShow a help message and exit

-g is case-sensitive. If omitted, all plot directories from config.yaml are scanned.

Example
chia plots check -n 30 -g DriveA

Response:

check_plots logs progress (default log level INFO). Representative lines:

Loading plots in config.yaml using plot_manager loading code (parallel read: true)

Starting to test each plot with 30 challenges each

Testing plot /plots/foo/plot-k32-....plot k=32
Pool contract address: xch1...
Farmer public key: ...
Local sk: ...
Looking up qualities took: 12 ms. Filepath: /plots/foo/plot-k32-....plot

(Per-plot lines repeat; proof counts and ratios appear in later log lines.)

Example
chia plots check -l -n 0

Response:

With -l, find_duplicate_plot_IDs logs duplicates; with -n 0 no challenges run after duplicate detection. Example duplicate warning shape:

Checking for duplicate Plot IDs
Plot filenames expected to end with -[64 char plot ID].plot
abc...69chars....plot found in multiple files:
/path/first.plot
/path/second.plot

If there are no duplicate IDs, you may only see the initial “Checking for duplicate Plot IDs” messages.

Interpreting proof ratios

If the ratio of full proofs to expected proofs is greater than 1, the plot looked lucky for this static challenge run; if less than 1, it looked unlucky. That does not mean the plot is invalid on chain. As -n increases, the ratio should stabilize. Plot count and k-size matter far more for winning than small swings from plots check.

For DiskProver internals, see chiapos.