Each question and answer on this page can be directly linked to by hovering over the question and right-clicking on the link icon to copy the link address for sharing.
Table of contents
- What are hardware requirements for plotting?
- How many plots can I do in parallel on my hardware?
- Should I create k=32 or k=33 plots? What’s the difference?
- How long are k=32 plots good for?
- Why does the GUI offer a k=25 plot size?
- Can I move my plot files to a different drive?
- When would I need to recreate my plots? Should I replot winning plots?
- Does plotting wear out my SSD?
- Can I plot directly to the destination HDD?
- Why are some of the biggest farms plotting on SAS HDDs instead of SSDs?
- Why does my plotting progress appear stuck at 100%?
- What are the resource requirements for the different phases?
- What is an appropriate stagger/delay to use?
- What does setting a secondary temporary directory do?
- Blockchain Software
Minimum requirements for plotting are actually quite low, it requires just 265 GB of available disk space and 3.5 GB of available RAM. However, since plotting is a time consuming process, some may prefer to use a system with higher specifications to create many plots at once (in parallel) and start farming as quickly as possible. A decent budget setup includes (some affiliate links to follow):
- CPU: A multicore CPU such as Ryzen 3600 or i5-10600K
- RAM: 32 GB of RAM
- SSD: A fast M.2 NVMe SSD (at least 1TB):
- Samsung EVO 970 Pro (high sustained writes)
- Samsung EVO 980 Pro (high sustained writes)
- Corsair MP510 (high sustained writes)
- Seagate Firecuda 520 (high endurance)
- Sabrent Rocket 4 Plus (high endurance)
- Sabrent Rocket 4.0 (high endurance)
- HDD: A large HDD such as Seagate Expansion or WD Elements to store the plots for farming.
Alternatively, if you’re looking to build a dedicated plotter, see the section below on parallel HDD plotting.
The number of plots that can be created in parallel is limited by your most constrained resource. As a rule of thumb, take the minimum of the following:
- Number of cores
- Amount of RAM (GB) / 4
- Temp space (GB) / 256
For example, a Ryzen 3600 (6 core, 12 threads) with 32 GB of RAM and a 1 TB (900 GB usable) SSD will have values of (6, 8, 3), which means it can comfortably do 3 plots in parallel. However, note that these are based on maximum resource usage. With appropriate staggering or by using a plotting manager tool, 4 or even 5 plots can be run in parallel with those specifications.
You should create k32 plots. k32 plots are the minimum plot size that can be farmed on the Chia network. Each subsequent k requires approximately twice the amount of resources and results in a plot file about twice as large. (what are k-sizes?)
A plot’s chance of winning is directly proportional to its size so because k33s are 2.06x the size of k32s, they’re also 2.06x more likely to win. By plotting k32s, you’ll lose less progress if the plotting process crashes. You can typically plot two k32s in parallel faster than a single k33.
The main reason to plot k=33 (or higher) is to optimize disk space on a drive. Because a k33 is more than twice as a large as a k32, you can use a combination of plot sizes to minimize the leftover (wasted) space on a single drive. See the plotting section for tools to help determine this best mix of plot sizes.
In the future, when hardware improves to the point where k32s can be economically generated in seconds (grinding attack), the Chia network may make k33 the minimum farmable plot size. This is not expected to happen for at least 10 years (source).
Although k25 plots cannot be farmed, they are still available to be plotted in the GUI and are a good way to test your plotting set-up or to get familiar with the software.
Yes! Plot files are just static files and can be moved as you wish (more details). It is recommended to temporarily change the file extension until moving is complete to prevent the software from prematurely picking up a partially copied plot (it will report it as invalid). Keep in mind that plots are created with a specific farmer public key so only the corresponding farmer can use them.
You shouldn’t need to recreate plots. If you had plotted pre-NFT plots, then you will need to replot to join an official protocol pool. Note that pool-compatible NFT plots can also be set to farm solo.
You do NOT need to replot winning plots. The same plot file can win many times.
Each ~100GB k32 plot requires about 1.7TB of disk writes in its creation process so this can take a toll on some consumer grade SSDs. For example an SSD rated for a lifetime of 600 TBW (Terabytes written) can create about 35TB worth of plots before exceeding its rated endurance. However, many SSDs continue to function without issue well past its endurance rating as the definition can vary according to manufacturer. This reddit post offers a good explanation of why one might not need to be so concerned with TBW unless planning on plotting very large farms.
Yes! This is a great way to get started if you don’t have a large SSD drive handy. The only caveat is that HDD plotting is about twice as slow and it cannot handle concurrent operations well – that is, you won’t be able to parallel plot onto a single HDD, nor do any other operations on it simultaneously. However, if you had multiple HDDs connected you could plot directly to each one of them in parallel. See the question below.
SSDs (and M.2 NVMe SSDs especially) are an easy way to expand a current gaming/desktop PC to become an efficient plotter. It also has continued use as a fast boot drive after plotting is finished. However, its limitations are often sustained write speed (much lower than advertised burst write speeds) as well as endurance. There are some news articles discussing how Chia isn’t “green” due to its burnout of consumer grade SSDs.
As a result, for medium to large farms, one can consider building hardware dedicated to plotting using often recycled Enterprise grade hardware that would otherwise make it to a landfill. For the same cost or less, throughput can be much higher by going massively parallel onto fast and small HDDs compared to a desktop gaming PC with SSDs. All the while without having to worry about endurance as many of these Enterprise SAS HDDs can handle orders of magnitudes more reads/writes than SSDs.
Enterprise servers (e.g. dual or quad Xeons) aren’t necessary to do parallel HDD plotting but can be a cost effective option. Here’s an example desktop build to do parallel HDD plotting (some are affiliate links):
- CPU: A multicore CPU such as Ryzen 3600 or i5-10600K
- Motherboard: One with many SATA ports and/or PCIe 8x/16x slots for HBA expansion cards such as ASUS TUF Gaming X570-Plus.
- Case: Unless you're going with a rackmount build, a desktop case with a lot of storage options such as the Meshify XL is a good choice and can hold up to 22 drives.
- RAM: 64 GB of RAM
- Fast SAS drives (10K or 15K RPM) with at least 300GB can be found for under $50. There are <a target="_blank" href=https://amzn.to/2TrV7pm">2.5" options</a> as well as 3.5" options depending on how many of each your case can handle. Note that 3.5" drives are faster than 2.5" drives in general.
- Fast SATA drives (10K) are also available with the most common being Western Digital's Velociraptor drives.
- HBA SAS Cards: In order to connect SAS drives, a SAS HBA PCIe card flashed to IT mode (as opposed to RAID mode) works best. You can either flash it yourself or buy one pre-flashed. Look for one that can support 6Gbps and at least 8 internal drives (8i) such as the LSI 9211-8i that comes under various branding (e.g. Dell PERC H310)
- Connectors: An SFF-8087 to SAS breakout cable lets you connect each mini-SAS port on the HBA card to 4 SAS drives. A SATA power extension cable is also helpful if the PSU doesn't come with enough SATA power connectors.
- Storage HDD: A large HDD such as Seagate Expansion or WD Elements to store the plots for farming.
The plotting process will show 100% after it is complete Phase 4, however there is still the step of copying your plot file to the final destination folder. This can take some time depending on the connection interface (e.g. can take hours over USB 2.0). During the copying process, the complete plot file has extension
.plot.2.tmp. After copying to the final destination, it will be rename with extension
.plot to be recognized by the Chia software as a valid plot. This last step could be done manually as well if the copying process was interrupted.
This graph shows the different resource utilization of different phases over the plotting process.
- Phase 1 is CPU and RAM intensive and is the only phase that makes use of more than one thread.
- Phase 2 is where peak disk usage is utilized.
- Phase 3 and 4 is where resource utilization starts going down.
By knowing these requirements and the duration of phases on your hardware, it can help determine an appropriate stagger to your parallel plots as to not max out any single resource. For example, one could over-allocate threads to parallel processes if it is timed so that not all processes are in Phase 1 simultaneously.
When starting parallel plots in the GUI, you can select a delay before the next plot starts. Ideally, your last parallel plot should start before your first plot has finished so an easy rule is to take the length it takes to run a single plot and divide by the number of parallel plots.
For example, if a single plot takes 10 hours, and you wish to run 5 plots in parallel, a good stagger to use would be 2 hours so that the 5th plot starts at the 8 hour mark.
If a secondary temporary directory is set, phase 3 will be done in this directory instead. This can be helpful in alleviating space on the primary plotting directory sooner for other processes that might be running in parallel. Notably, if the secondary temporary directory is set the same as the final directory, there is some gain at the end of the plotting process as there won’t be the final step of copying the plot file to the destination drive – it will just rename its extension directly. But if the secondary temporary directory and final directory are on a HDD instead of an SSD, the overall plotting process will still be slower irrespective of this efficiency gain.
In general, you can check the following:
- Make sure your status is synced and you have a healthy peer list (at least 5 connections)
- Make sure you are seeing blocks with recent times come through (Full Node -> Blocks)
- Make sure you occasionally have a plot that passes filter (Farm -> Last Attempted Proof)
- Check your logs (at INFO logging level) for eligible proofs being sent within 30 seconds
See this post for information.
Every block challenge, each (k32) plot has a 1/512 chance of passing the filter. If it doesn’t pass this filter then the plot cannot win the block and hence does not need to be checked. This feature ensures that the farming process does not require constant disk reads.
If you have 512 plots, you would expect on average to have 1 plot pass filter each block. If you have at least a few plots but notice this number is always 0, then you may wish to check that your plots are valid and farming properly.
See this post for a good explanation.
Block height is a counter that refers to a location on the blockchain. Last Height Farmed will reflect the most recent height at which you had a plot win a block challenge. If you hadn’t won yet this number should be 0.
By knowing the height of your last winning block, someone could look in the blockchain to determine your wallet address. This would let others know your current wallet address balance and also be aware of any XCH you may obtain to the same wallet address in the future. People may not want their social media profile or personal identity associated with this information.
- Restart the software. Reboot your computer.
- If you have more than one node (Chia GUI instance) running on your network, disable UPnP on all but one computer.
- Set your router’s port forwarding settings to forward port 8444 to your computer. You can also outright disable UPnP on your router.
- (Windows) Check your firewall settings to ensure you are not blocking
start_full_nodeon private networks. And check that your connection is set to be recognized as a private network.
- Manually add a peer connection to a known good peer (see below)
- Set secondary instances of nodes on your network to function as harvesters instead.
- Ensure your system clock time is correct and not more than 5 minutes off (compare to your cell phone network time).
You can also try to manually add the following official introducers:
|Western North America||introducer-or.chia.net||8444|
|Eastern North America||introducer-va.chia.net||8444|
If those don’t work, you can add the official Chia nodes directly:
If that still doesn’t work, you can find a list of known peers with high height on chia.keva.app Node List and add them manually. You may need to delete some existing peers from your list to make room or set the maximum peer count in your config to be higher.
The initial download of the blockchain from peers will take some time but keep in mind you can still plot while you’re syncing. If you notice you aren’t connected to many peers, see the above question on ways to get more connections.
If you have access to a fully synced node on a computer that you trust, you can copy a snapshot of the blockchain database over. This file can be found at