FAQ
General
What are harvesters, farmers, full nodes, and timelords?
You can read about each of them and the architecture in the Architecture Overview page. The Consensus Intro page is the most current documentation, however.
What is a proof of space?
A proof of space is a proof that a farmer has allocated a portion of their storage in a way that is very difficult to create in real-time but efficient to pre-compute and store on a hard drive. The Chia Proof of Space Construction document goes deeply into the math and implementation considerations to mitigate Hellman's Time - Memory tradeoff problem. A plot is a large set of proofs of space. A harvester can harvest multiple plots on the same machine. A farmer can then control multiple harvesters across many machines to manage the whole "farm".
Farming uses substantially less electricity than Proof of Work for the same unit of security. You can learn more at chiapower.org.
What is a VDF/proof of time?
A Verifiable Delay Function (VDF), also known as a proof of time, is a sequential operation that takes a prescribed amount of time to compute (and which cannot be accelerated by parallelism) and which produces an accompanying proof whose result may be quickly verified. This must be done in a group, for which Chia uses ideal class groups. You can learn about them in our class group document. Timelords usually run three VDFs at a time for the three internal blockchains of the Chia blockchain. They run as vdf_client
processes.
What is a genesis challenge?
A genesis challenge is the first VDF challenge on a network that uses the Proof of Space and Time consensus. For more info about the genesis challenge for Chia's mainnet, see the consensus section of this website.
What is XCH, TXCH, and mojos?
XCH is the currency symbol for Chia. TXCH is the currency symbol currently being used for testnet chias. TXCH has no value and is only used for testing purposes. Chias and testnet chias can be divided up to 12 decimal places (trillionths). The smallest unit of chia, a trillionth of a chia, is called a mojo, as a tribute to Mojo Nation, a decentralized file storage platform created in the early 2000s by Zooko Wilcox, Bram Cohen, and others.
Chia vs XCH vs mojo vs chia
- Chia - uppercase Chia depending on context, this can refer to Chia Network the company, the Chia software (Chia client), or the Chia blockchain.
- XCH - refers to the Chia token, XCH.
- mojo - a trillionth of an XCH.
- chia - lowercase chia refers to the Chia token, XCH. Similarly, mojos are lowercase.
How do I sign up for the Chia email newsletter?
You can sign up for the Chia email newsletter by following this link.
You can select either General Chia News or Developers News or both to receive emails about those topics.
What are the rules and guidelines around using Chia's trademarks and copyrighted materials on my own site or project?
Chia, like all companies, has an obligation to protect and enforce its Trademarks and Copyrights in the relevant jurisdictions. We do this both to ensure that we properly maintain our own responsible use of them, as well as to prevent bad actors from attempting to leverage Chia’s property in an effort to scam the ecosystem or cause other harm. That said, we do want to make it possible for people to talk about Chia, and build tools and platforms that support it’s growth openly. To this effect we have several guidelines that we hope will help you better understand some “Do’s and Don’ts” as you go about this. (And if you are ever unsure, you are always welcome to email us at [email protected] with questions about this subject!)
How do I contact Chia with more questions?
You can email us at [email protected] or join us on Discord.
Please note that for support with Chia, we do not offer 1:1 direct support. All support is provided via our discord #support channel.
Will the average person be able to use Chia as a payment instrument?
Our hope is that, over time, Chia will be supported by point of sale systems and consumer payment apps all over the world. For example, if you pay for a coffee at Tully’s in England with your GrabPay app from Thailand, it should “just work” without you needing to know it was paid in Chia.
Or, for example, if services like Venmo or Cash App aren’t available where you live, using Chia will be far less of a hassle than executing a slow and expensive wire transfer. Using legacy banking to send and convert cash across borders is cumbersome, slow and expensive, and while alternative money transfer services might be faster, they’re not cheap: Western Union can charge upwards of 10% in transfer fees.
The technology is completely open source and accessible, and anyone can build a new wallet without our permission or assistance. However, we intend to help wallet, exchange, and merchant processing partners with support and integration services, joint marketing and lending for liquidity.
Why are you named Chia?
We’re green money! Our founder Bram Cohen started the company knowing he wanted to reduce the energy dependence of blockchains through a “green” option. The concept of farming seemed to be the best metaphor for filling unused disk space and monitoring it for winning sprouts. This led us to look for a grain that had the properties we wanted to embody with our new Network. The team wanted a name that would be short and impactful. Everyone was amused that it was also a grain associated with a whimsical meme. Chia Network was born.
Is the value of Chia going to be as volatile as other cryptocurrencies?
We believe that Chia coins will be less volatile than other cryptocurrencies due to the planned nature of our planned public company status which will allow financial institutions to hedge and leverage coins and equity. Initially, we expect Chia Network to largely be valued based upon the valuation of the chia that the Company will hold on its balance sheet. Movements in the price of chia on digital exchanges are likely to be mirrored by price movements in the price of our stock on a stock exchange. There will be more ways to get exposure to the success of chia than traditional blockchain projects. This will also allow the usual options and derivatives to our stock to be used as something like a synthetic derivative for the price of chia coins. Additionally, our ability to use the Chia Strategic Reserve may reduce some volatility of chia in the market.
Why does Chia run competitions?
We believe that more eyes on our code will only make it better. For example, the results of our VDF Competition produced a VDF implementation whose runtime was 80% faster than our original implementation.
Where has Chia advanced the state of the art in applied cryptography?
Chia has created three new core inventions and advanced the interest in, and adoption of, a fourth. Firstly, Chia created the first intended for production BLS Signatures library. Second, Chia is the first production use of Verifiable Delay Functions, or VDFs. Third, Chia created Proof of Space and Time for Nakamoto consensus.
Finally, Chia is the first production use of class groups of unknown order which has spawned significant new research into their applicability to cryptography.
Does Chia use Bitcoin's code?
No. Chia is written entirely from scratch with a custom form of Lisp called Chialisp.
Chia also advanced applied cryptography as described above.
Isn't Bitcoin good enough?
When Bitcoin was developed, it was not foreseen that specialized hardware could vastly outperform the computers that everyone owns. What was intended to be a decentralized network is now controlled by a small number of miners with access to chip fabrication plants and wholesale electricity purchasing (or worse). The miners who currently control the Bitcoin Network feel they have a competitive advantage as is and oppose changing the protocol even when it’s clear that it should be changed. Chia has had ten years to study the new digital money ecosystem and believes we can make cryptocurrency more decentralized, more secure, and easier to use.
What is Chia's inflation?
After the Chia pre-farm, Chia offers farming rewards of 64 chia every 10 minutes. Over the first 12 years the farming rewards will be halved at the end of each 3rd year. From year 13 to infinity, the rewards will remain constant at 4 chia every 10 minutes leading to ever decreasing inflation rates. Chia’s inflation falls through the 0.50% rate 22 years after mainnet launch. More information can be found in our halving schedule
Where is the Chia source code?
The Chia Blockchain comes together from a few different repositories:
Repository | Contents |
---|---|
chia-blockchain | Consensus code, networking, and reference Chialisp implementations. |
chia-blockchain-gui | An Electron/React graphical user interface to the plotter, node, and wallets. |
clvm | Chialisp Virtual Machine in Python |
clvm-rs | Chialisp Virtual Machine in Rust for security and performance. |
chiapos | Creating plots and verifying Proofs of Space. |
chiavdf | Proofs of time/VDFs and Timelords. |
bls-signatures | IETF standard BLS-12-381 signature scheme. |
clvm_tools | Tools for Chialisp and CLVM. |
Chia Network Organization | Contains all of the public Chia repos released by Chia Network |
When did Chia launch mainnet?
Chia launched mainnet on March 19, 2021. You can follow along with code updates across our many repositories outlined here
What is the Chia Strategic Reserve?
Chia has a novel business model to both, lower volatility of the coin and increase adoption. By loaning Chia and managing the interest rates of those loans as well as other tools like buying our stock with chia coins, we hope to lower the quarter to quarter volatility of the coin. To drive adoption, we intend to loan Chia to Global 5000 companies who will use it to pay their international vendors quickly, less expensively, and more securely. We also intend to use the strategic reserve to aid development and adoption. We plan to do things like invest in promising startups in the Chia ecosystem, potentially increase farming rewards during limited periods of time to spur additional farming, and fund corporations paying 105% of the value of their international payables in Chia instead of fiat currency.
Chia Network Inc created 21 million chia at mainnet launch. This is known as the Strategic Reserve. For details on the Company’s plans for the Strategic Reserve, see page 20 of the Business Whitepaper.
Did Chia have an ICO?
No. Chia did not have and is not planning an ICO. Instead, our goal is to take the company’s equity public on an American stock exchange. This way, shareholders can share risk and return with management with transparency and disclosure while we use well understood corporate controls to make binding statements about how Chia Network intends to use the Strategic Reserve. The chia coin (XCH) is meant to be a useful payment instrument and not an investment opportunity. Chia intends to complete a fully compliant SEC registered equity IPO and will come to market as market-timing is amenable.
Why do I want to farm Chia?
You can farm Chia on the unused storage of your laptop, desktop, or corporate network and, in return, you have the chance to receive rewards in chia for helping secure the blockchain. Our software allows you to allocate a certain amount of unused disk space to create plots. Since the only resource intensive step is the initial plotting, once you download the Chia node software, your drives will be plotted in the background. Once plotting is complete, your computer will begin farming on your behalf and the software does all the work and tracks your rewards for you. Ongoing farming uses very little network bandwidth and almost no resources other than storage. By making the farming process available to anyone with unused disk space, we are moving towards our goal of a truly decentralized blockchain that will also serve as a cross subsidy to the storage and cloud industry. Visit our Farming Basics doc to get started.
What is the Chia Network Strategy?
It is our belief that the blockchain industry is still led by developers. We intend to be the superior chain for deploying new applications and services as well as being the only serious and secure choice for applications like sovereign backed stable coins. The Chia Network business will be the first for profit company that manages a pre-farm and we intend to be the first publicly tradable “near ETF” cryptocurrency. We believe that - as Redhat and MySQL AB were necessary to drive corporate adoption of linux and mysql - we will be the source for support and training as sovereigns, financial institutions, and corporations look to use cryptocurrency in daily commerce. Finally, we believe that we will be able to leverage the storage ecosystem to drive adoption at corporations and end users as hard drive manufacturers and storage server sellers are likely to bundle space farming into their offerings.
Our Business Whitepaper is the definitive document on our strategy and approach.
Where can I learn more about the technical details of your consensus algorithm?
Details can be found on the Consensus page of our docs site.
Additionally, we maintain a list of academic papers and presentations about Chia on our references page.
What is the difference between mining and farming?
Mining requires expensive single use hardware that consumes exorbitant amounts of electricity. We are mitigating this problem through a fair, eco-friendly, and better blockchain that uses farming to leverage existing empty hard disk space distributed on nodes around the globe. Farming remains decentralized because anyone that has installed our software and has plots can win the next block. Mining requires expensive custom single use hardware and access to electricity at wholesale or better prices which only purpose built corporations can afford to mine. Farming is more decentralized because it relies on empty hard disk space and anyone with a mobile phone, laptop, or corporate network tends to have extra space not currently being used. Unlike mining, once you’re done farming your storage you can repurpose it to, for example, store your family photos.
For more information we have this blog article, or you can refer to our Farming and Plotting docs.
Where can I learn more about Chialisp?
Documentation can be found at Chialisp.com.
Why is Chia better?
Chia has a new innovative Nakamoto consensus algorithm, Proof of Space and Time, that removes the energy demands of Proof of Work from the system. Compared to other cryptocurrencies, Chia has significantly better security due to its more decentralized blockchain by Nakamoto Coefficient. Chialisp is Chia’s new smart transaction programming language that is powerful, easy to audit, and secure and will unlock the security, transparency, and ease of use that cryptocurrencies promise. Chia is also adopting more modern cryptographic tools to enable richer smart transaction capabilities. Chia is taking a new and superior approach to funding, building, and supporting a blockchain via an eventually public, for-profit, open source development company that holds a pre-farm. Chia will use its Strategic Reserve to ease the volatility of the coin to mitigate bubbles and crashes and to drive adoption of chia.
What is Proof of Space and Time?
Chia developed a new innovative Nakamoto consensus algorithm, Proof of Space and Time, that eliminates the energy demands of Proof of Work while maintaining and in some cases enhancing security.
Proof of Space is a cryptographic technique where provers show that they allocate unused hard drive space for storage space. In order to be used as a consensus method, Proof of Space must be tied to Proof of Time. PoT ensures that block times have consistency in the time between them and increases the overall security of the blockchain.
What is Chialisp?
Chia has a newly developed, innovative blockchain programming language called Chialisp.com, which is powerful, easy to audit, and secure. Chialisp is a superior on-chain smart transaction development environment that will unlock the security, transparency, and ease of use that cryptocurrencies promise.
How does Proof of Space and Proof of Time work?
Proof of space can be thought of as a way to prove that you are keeping some storage unused on your hard-disk drive. Users of the Chia blockchain will “seed” unused space on their hard-disk drive by installing software which stores a collection of cryptographic numbers on the disk into “plots.” These users are called “farmers.” When the blockchain broadcasts a challenge for the next block, farmers can scan their plots to see if they have the hash that is closest to the challenge. A farmer’s probability of winning a block is the percentage of the total space that a farmer has compared to the entire network.
Proof of time requires a small period of time to pass between blocks. Proof of time is implemented by a Verifiable Delay Function that takes a certain amount of time to compute, but is very fast to verify. The key idea of a VDF is that they require sequential computation, and since having many parallel machines does not yield any benefit, electricity waste is minimized. There will likely be relatively few VDF servers (“Timelords”), as the fastest one will always finish first and it takes only one fast and fair Timelord on the network to complete a block and move the chain forward.
More information can be found in the Green Paper.
Where can I get answers to questions about running Chia?
You should first read through the Chia Introduction and docs FAQ, check out the wealth of information on our docs site and join us on discord in the #support or #general channels. We have also created a good summary of the basics of creating plots for Chia.
What is Chia?
Chia was incorporated in August of 2017 to develop an improved blockchain and smart transaction platform. We are building the Chia Network to improve the global financial and payments systems. Chia is the first enterprise-grade digital money. Chia is using the first new Nakamoto consensus algorithm since Bitcoin. Called Proof of Space and Time, it was created by Bram Cohen, the best network protocol engineer alive and the inventor of BitTorrent. Chialisp is Chia’s new smart transaction programming language that is powerful, easy to audit, and secure. Reference smart transactions currently available are: atomic swaps, authorized payees, recoverable wallets, multisig wallets, and rate-limited wallets.
What is the official Chia Network DID used for NFTs?
From time to time, Chia Network may release NFTs for a variety of reasons, such as our inaugural Chia Friends collection. Any NFTs minted by Chia Network will use our official DID: did:chia:19qf3g9876t0rkq7tfdkc28cxfy424yzanea29rkzylq89kped9hq3q7wd2
. Always check the provenance of an NFT purportedly to be official from us by looking for this DID as the minter. Fortunately, the majority of 3rd party platforms are designed to automatically show the Chia Network name and/or logo with these NFTs, but it never hurts to double check!
What makes Chia different from proof of work blockchains?
One core difference is the consensus algorithm called proof of space and proof of time. Basically as after the farmer creates a proof of space and a block, other computers called timelords add proofs of time to the block, which is a cryptographic proof that says that a certain amount of time (like 30 seconds) has passed. So instead of the whole world mining at the same time, only a few computers are "mining" for each proof of space that won. Since these are all cryptographic proofs, they cannot be forged or broken, making the consensus extremely secure.
In Chia, the only electricity required is the electricity to create the plots, and to run the hard drives, which is on the order of 10 watts to power, plus CPU power required to run a full node (which is very light). In comparison Blockchains like Bitcoin and Ethereum rely on huge farms of GPUs ( 300W each GPU), or ASICs (hundreds or thousands of watts per machine) to secure the blockchain. You can think of proof of work, as millions of computers "making" lottery tickets by using electricity, but each ticket can only be used once. Chia will use vastly less electricity as each plot will last over 5 years, and the only electricity required is the initial setup (plotting) and 10W for farming a drive.
For more information on the power utilization of Chia please read through the Chia power site.
What is Chia's burn address?
Mainnet Burn Address
xch1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqm6ks6e8mvy
Testnet Burn Address
txch1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqm6ksh7qddh
The Burn Address Explained
Chia addresses are puzzle hashes encoded into the "xch" prefix address format using the bech32m encoding scheme.
A traditional bech32m puzzle hash for a burn address is all zeros ending in "dead": 0x000000000000000000000000000000000000000000000000000000000000dead
Converting this to an address, you end up with the burn address for mainnet: xch1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqm6ks6e8mvy
The testnet burn address is different: txch1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqm6ksh7qddh
You can use a puzzle hash converter to verify these burn addresses for yourself.
What is a burn address?
A burn address is an address whose private key (24 words) is unobtainable. There's no feasible way to determine the key for the above burn addresses. This means anything sent to a burn address is inaccessible forever, aka "burned."
Thank you to r/chia member juraj for this information.
How does the transactions_generator work?
Some important changes went into the transactions_generator
code with the 2.1.0 hard fork. These changes are detailed in the Block Format page.
Plotting
What is k?
"k" is the space parameter that controls the size of plots. It is an integer for the following equation: plot_size_bytes = C1 * 2^k(k + C2)
where C1 is constant 1 and C2 is constant 2. In practice this means that final size is roughly ((2 * k) + 1) * (2 ** (k - 1)) * 0.78005
though that constant is estimated. You can examine the Space Required section of the Chia Proof of Space Construction document for the calculation of how much space is required for a given k.
Prior to Chia 2.0, the estimated space constant factor of 0.762 slightly incorrect. This led to a netspace calculation that was lower than the actual netspace. To correct this, we have updated the constant factor to 0.78005.
How big are plot sizes (k)?
You can see some example plot sizes, times to plot, and working space needed based on various k's in these k size tables. Current working space needed for the default plotting options of a k=32 is 239 GiB and the final file is approximately 101.4 GiB. There is small natural variation in temp space needed and the final file size of each plot. Note that 239 GiB is 256.6 GB.
What k-size should you plot?
The minimum plot size is k=32. There is only one reason why you might want to plot larger than k=32: to maximize the total utilization of a given drive or space. A couple of k=33 plots with a majority of k=32 plots can reduce the amount of leftover unused space on a drive.
The reason k=32 was chosen as the minimum plot size was to prevent a short-range replotting attack, which is detailed in our consensus doc. The gist of the attack is that if someone can create a plot in less than ~30 seconds, they could create a new plot that passes the filter for each signage point, and then delete the new plot immediately afterward. This would effectively emulate storing 512 plots, thus turning Chia into PoW.
- Note that this attack does not create a winning plot; it only creates a plot that passes the filter.
This attack won't be economically feasible for some time, if ever. Two potential mitigation techniques are to lower the plot filter (thus reducing the benefit of the attack), or to increase the minimum plot size (thus making the attack more difficult to perform).
k=32 is expected to be the minimum plot size until at least 2026. If and when that size is increased, you will be given ample notice to replot before the change is made effective.
What is recommended for plotting?
We think you will want to use used Data Center grade NVMe SSD drives to create your plots. Regular consumer NVMe SSD generally has too low of a TBW rating. One of our community members keeps this handy SSD Endurance page up to date so you can compare various SSDs. You should never use your root/OS SSD to plot as it can lead to drive failure and loss of booting. You can plot directly to hard drives and get good results, especially if you plot in parallel to different drives. You can use non-root SSD over Thunderbolt 3 and migrate your plots off to whatever storage you want to keep them on long term. You could even load them on a Raspberry Pi 4 with outdated USB 2.0 drives attached and they will harvest and farm just fine. PC World offers this great background on current storage technologies but this graph gives you a quick view of why we recommend NVMe SSD:
Can I plot more than one plot at a time?
Yes, using either the GUI or CLI. Over the short run you have a bit more control of plotting using the CLI. You can read the Installation page to learn more. You may have better results if you stagger the start time of parallel plotting processes depending on your hardware setup.
Can I make plots on one machine and move it to another machine?
Yes. The Moving Plots page gives you the details. You may also want to consider running a remote harvester. You can also use the same private key set to plot on more than one machine at a time but be aware of the uPnP issues.
What is the secondary temp directory -2
, and how should I set it?
-2
is in use during phase 3 and 4. It is the file being built into the resulting .plot file. As it is done compressing tables during phase 3, it will move them into the .plot.2.tmp
file (-2
), and phase 4 will scan through the entire .plot.2.tmp
(-2
) file, and write table headers for easy access by the harvester. When phase 4 is done, if -2
= -d
, it will simply rename the .plot.2.tmp
to .plot
. If -2
!= -d
, it will copy the file into place, then rename, and finally remove the -2
file. The amount of writing is about 110% of the resulting .plot
file size. It is a setup dependent option - is your setup faster at moving the compressed tables into the .plot.2.tmp
file, and then scan through the entire file, and write table headers during phase 4 - and then copy to -d
(-2
= -t
) - or is it faster to send the compressed tables directly into the -d
(-2
= -d
) directory, and then in phase 4, scan through the entire file, and write table headers inside -d
(-2
= -d
) thereby skipping the final copy into place. The -2
directory can be set in the Advanced Options for Step 3 in the GUI.
My plotting attempt got "Caught plotting error: Not enough memory..."?
If you see something like Caught plotting error: Not enough memory for sort in memory. Need to sort X.XXGiB
then you need to either select more memory buffer or more buckets. More buckets require less memory but will create more temp files and more sporadic disk writing. You will almost always want to use 128 buckets and you should try increasing the RAM max usage/-b
to 4608MiB.
My plotting attempt ended with "RuntimeError: bad allocation"?
This is a RAM problem with your machine. It can be how your swap file is configured. It is often your overclock, or XMP settings and even can be a faulty RAM stick. Chia plotting is better than memtest at surfacing broken or mis-configured RAM.
Can I resume plotting if my computer or drive reboots or enters power save mode while plotting? ?
Unfortunately, resuming a plot is not supported. We suggest that you disable power saving mode - especially for external drives - and try to limit other possible causes of interruptions. Plotting a k=32 could take multiple hours, depending on your hardware, so these interruptions can be painful. They are also a part of why we don't recommend plotting plots larger than k=32 as each increment in k generally doubles the time to complete a single plot.
Do I have to be connected to the internet or synced to plot?
No. Plotting can be done entirely offline and needs nothing from the blockchain to complete. The only time you have to be online and synced is when you're farming so that you receive new challenges for the next blocks and transactions to include in a transaction block if you're lucky enough to win one of them and get the transaction fees. Note that one farmer winning is independent of other farmers winning at the same time. All farmers can "win" at nearly the same time. That is why sometimes there are 10 blocks in one minute, and sometimes there is only 1 block per minute, etc.
Is there any advantage in plotting larger k sizes?
No. As long as you plot at least k=32, those plots will be eligible to win on mainnet. In a decade or more, k=32 may become too small, but that's speculative. Usually the only reason to plot larger than k=32 is to optimize using all of the space on a given drive. For example, it may make sense to have two k=33's and the rest k=32 so that you only leave 10 GB free on a given drive.
Is the final size of the plotted space the only variable in how often I can win block rewards?
Yes.
How do I know if my plots are OK?
Run chia plots check -n 30
to try 30 sample challenges for each plot. Each of your plots should return a number around 30, which means it found around 100% of the attempted proofs of space. If you're still worried try -n 100
as more random attempts will give you a more valid assessment that the plots is fine. It really is ok if your plot is within 80%-120%. If some of your plots are missing for some reason you may need to add the directory they are in to your config.yaml file. That can be done in the GUI with the MANAGE PLOT DIRECTORIES button or on the command line with chia plots add -d [directory]
.
Can I use USB 3.0 cable connected to SSD/NVME running the Temp files?
On Windows, it has not worked well since the communication speed is not fast enough, sometimes the usb turns off, then the plot is not valid. It's possible to run 1 plot, but limiting when trying to process multiple plots. Most are installing PCIe adapters to SSC/NVME and that solves the issue. The mac has very fast communication to do the first plot, many others are saying that they can do 2 plots but process time increases dramatically. Technology is constantly changing so continue to do research and ask in the chat rooms.
Full Node
What is this UPnP Error?
UPnP is an optional setting that allows users to open a port in their router and therefore allow other nodes to connect to them. This is not required, since your node can still make outgoing connections without UPnP.
For some routers, UPnP is enabled automatically, but for others, you might have to go into your router settings and enable UPnP manually. Sometimes restarting the router is also necessary.
Another option is port forwarding, where you tell your router/NAT to forward requests on port 8444 or 58444 for testnet to your machine.
Why should I not run more than one node on a home network and what's this about UPnP?
First, running more than one node with the same private keys on your home network is wasting bandwidth by syncing two copies of the blockchain over your download link. You can get the same results by running one node and using multiple harvesters on multiple computers. Second, if you have uPnP enabled on both nodes and your home router supports uPnP (and most do) it will cause both of your nodes to not sync the blockchain. You need to disable uPnP on all or all but one node behind a uPnP enabled router. The CLI command chia configure --enable-upnp false
will turn uPnP off on a node. It requires a restart of the node to take effect. If you disable UPnP on all but one of your nodes then your local router will forward inbound 8444 traffic to the one node and the rest will now be able to connect to the network but just will not accept inbound connections from the network.
Why does my node have no connections? How can I get more connections?
Step 1. Make sure you are running the most recent version of the Chia software. Check out the Installation page.
Step 2. If your node has no connections, it could be one of many reasons. The most likely reason is that there are no users with space to have new connections, so you cannot connect to them. To solve this, you should try opening port 8444 on your router so other peers can connect to you. Follow the steps in the Node Syncing page.
Port 8444 is the port through which other Chia computers can communicate with your PC. When you set up port forwarding on port 8444, the Chia software on your computer can quickly talk to other PCs, link up, and start downloading and syncing with the Chia blockchain.
The network is undergoing rapid growth and expansion. Many of the newly arrived Chia peers (computers) do not open up port 8444. It makes it very hard for the network. So please port forward on port 8444!
Use this link to check if your router's port 8444 is closed: https://portchecker.co/
Step 3: You might need to disable UPnP in the config file (~/.chia/mainnet/config/config.yaml) or by using the cli command chia configure -upnp false
. You might have multiple nodes running on the same machine, or in the same wifi network. Make sure to close all Chia applications on your computer. Also check your firewall or antivirus software, which might be blocking connections.
Step 4: Try deleting your peer DB which is located at ~/.chia/mainnet/db/peer_table_node.sqlite
. Close then restart Chia.
Step 5: Edit ~/.chia/mainnet/config/config.yaml
, search for weight_proof_timeout
and increase it from 180 to 400. If that value is not there, you can add it under the full_node
section.
It can take a few minutes to start receiving peers and several hours to completely sync.
I am seeing blocks and connections but my node says "Not Synced"
This is usually a system clock issue, which is causing the display of "Not synced", even though you are. Your clock must be set to the exact time, and cannot be more than 5 minutes off. Check your phone and your computer and ensure the time is the same.
What is the new database?
Chia began using version 2 of its blockchain database in 2022. Version 1 has since reached its end-of-life.
About version 2
Version 2 of the database is still written in SQLite, but it has undergone a series of optimizations from version 1, such as storing hashes in binary, rather than human-readable hex format. It also is more compressed than version 1. These two factors combined have resulted in an approximately 45% reduction in the size of the database, as well as a slight improvement in its performance.
When you install a brand new full node, version 2 of the database will be created when you run chia init
.
If you are upgrading from Chia 1.x to 2.1 or later (which is required due to the hard fork), you will no longer be able run with version 1 of the database. In this case, your options are to download a database checkpoint or to upgrade to version 2 manually, as described below.
About the upgrade process
If you still have a copy of version 1 of the database, you can upgrade it to version 2. This upgrade will not happen automatically. The command to perform the upgrade is chia db upgrade
. This is documented in detail in our CLI reference. Be sure you have enough free space on the disk that contains your database file to write the new file.
The upgrade could take several hours. After it has completed, run chia start farmer -r
to restart your farmer and switch to the new database.
Note that the new database will have the same peak as version 1 at the time you initiated the upgrade. Your node will still need to run a short sync to fetch the remaining blocks that had gotten added while the upgrade was being performed.
Because the upgrade from version 1 to 2 of the database is time-consuming, most users will likely only perform it on one of their systems and copy the new database file to their other systems afterward. If you choose this option, be sure to either copy the file before running chia start farmer -r
, or stop Chia altogether if it is already using the new database. Once the database is swapped from v1 to v2, you also need to update your config.yaml
to reflect the new v2 database change. Under the full_node:
section set database_path: db/blockchain_v1_CHALLENGE.sqlite
to database_path: db/blockchain_v2_CHALLENGE.sqlite
If you copy your database file to another computer while Chia is currently using it, you'll risk corrupting it, which will necessitate a full sync from genesis.
Technical details
If you're interested in learning more technical details of the new database, see the first Github Pull Request that introduced the changes:
And there were two follow-up Pull Requests with additional improvements, along with some benchmarks.
- https://github.com/Chia-Network/chia-blockchain/pull/9454
- https://github.com/Chia-Network/chia-blockchain/pull/9455
Finally, here is the Pull Request that added the upgrade functionality:
What is the difference between Wallet Mode and Farming Mode?
When you load Chia's client GUI for the first time, you'll be asked to choose whether to run in Wallet Mode or Farming Mode. Here are the main features of each mode:
Wallet Mode:
- This mode runs a Chia wallet, but not a full node.
- The wallet will sync by connecting to external peers.
- You'll be able to send and receive Chia and/or CATs.
- Farming will be disabled.
Farming Mode:
- This mode runs a full node, so farming will be enabled.
- The wallet will also sync by connecting to external peers, unless specific conditions are met (see below).
- You'll be able to send and receive Chia and/or CATs, just as while running in Wallet Mode.
To switch between Wallet Mode and Farming Mode, click the gear icon on the upper-right side of your client. The settings menu will appear. Click the desired mode.
Note that in both modes, the light wallet protocol is always used. This protocol will sync your wallet by only downloading information from a subset of the blocks. The more transactions your wallet has had, the longer this process will require.
The following are situations when your wallet will NOT connect to external peers:
connect_to_unknown_peers = false
is set in config.yaml, underwallet:
.- Your wallet is connected to a trusted node (typically this is your local host) AND that node is fully synced.
For example, let's say you're running Chia for the first time and you have not modified connect_to_unknown_peers
. Here is one potential workflow:
- Start the GUI and select Wallet Mode.
- Your wallet will sync by downloading relevant information from external peers.
- Change to Farmer Mode. Your full node will be started. Your wallet will continue to download relevant information from external peers.
- After your full node has synced, your wallet will automatically connect to your full node in order to stay synced. It will terminate its connections with external peers.
- Change to Wallet Mode. Your full node will continue to run in the background, and your wallet will remain connected to your full node in order to stay synced.
- Stop and restart Chia. You will return to Wallet Mode, and your full node will no longer be running. Your Chia client is now in state 2.
Depending on how you are using your Chia client, we recommend the following:
- Casual users who are not farming or running a business such as a DEX can use Wallet Mode.
- Farmers need to run in Farming Mode.
- Anyone running a business, as well as anyone who frequently trades XCH or CATs, should do one of the following:
- Run in Farming Mode. Only transact when your node is fully synced.
- Set
connect_to_unknown_peers = false
. Run in either Wallet Mode or Farming Mode.
What are trusted peers and how do I add them?
There are two types of peer nodes -- trusted/known and untrusted/unknown. By default, your local node is your only trusted node. It is possible to add other nodes to the trusted list, for example if you personally run more than one full node. One reason to add a trusted node is to speed up the sync time of your light wallet.
The light wallet protocol has two techniques to sync:
- If you have access to at least one trusted node that is fully synced, then your wallet will sync by downloading blocks only from your trusted node(s)
- Otherwise, your wallet will sync by connecting to, and downloading from, multiple untrusted nodes, and verifying that the information downloaded from each node is the same
Typically, it is much faster to sync a wallet by connecting to a trusted node. Therefore, if you have access to a synced node that you trust, you may want to add that node to your trusted peers list. We recommend that you only add your own full nodes to this list.
How can I connect to a community node instead of farming with my own full node?
Unfortunately, connecting to a community node is not secure, and we therefore never recommend doing so. See our node syncing guide for more info.
Prerequisites
- Chia needs to be version 1.3.0 or later on all computers
- Have a full node running on version 1.3.0 or later
Steps to add a trusted node (peer)
- You'll need your trusted node's ID. From your trusted node, run
chia show -s
. Copy the value ofNode ID
, which will appear near the beginning of the output. For example:
~$chia show -s
Network: mainnet Port: 8444 Rpc Port: 8555
Node ID: 0ThisisanexampleNodeID7ff9d60f1c3fa270c213c0ad0cb89c01274634a7c3cb9
- Edit config.yaml. This file is located in
~/.chia/mainnet/config
on Linux and MacOS, andC:\Users\<username>\.chia\mainnet\config
on Windows.
Search for the wallet:
section. It should be near the end of the file. Edit the following values from within this section:
connect_to_unknown_peers
- Default istrue
; change it tofalse
target_peer_count
- Default is3
; change it to1
(assuming you only have one trusted full node)trusted_peers
- Default is
0ThisisanexampleNodeID7ff9d60f1c3fa270c213c0ad0cb89c01274634a7c3cb9: Does_not_matter
- Change to
<Node ID>: Does_not_matter
- Note 1: Replace
<Node ID>
with the actual Node ID you obtained above - Note 2: It doesn't matter what you enter on the right side of the colon. The argument will be ignored. Just make sure to enter something
- Default is
Optional (this setting ensures the node is automatically used while starting the client)
full_node_peers:
the defaulthost:
islocalhost
. Change this to the IP address of the trusted full node (local IP if the node is on the same LAN and public IP if it is not).- Note 3: The IP address can be found by reviewing your full nodes network connection information (local IP) or by searching "What's my IP" in your favorite search engine.
- Restart Chia on the computer you are connecting to the trusted node to pick up the changes.
- Note 4: If you did not add the full node peer in the optional step you will need to run
chia peer wallet -a <trusted_node_ip>:8444
to manually connect to the node peer.
- To verify that the changes are working, run
chia wallet show
. The last line of the output should contain-Trusted: True
How does light wallet syncing work?
This response will give a non-technical overview of Chia's light wallet syncing process. For technical info, see our docs site, as well as the FlyClient White Paper, which details the process from which Chia's light client is based.
First, a bit about addresses in Chia. A single Chia wallet can use up to four billion (2^32) addresses. Hopefully, you won't need more than that! Using multiple addresses can help provide anonymity. Rather than having to sign up for a new account each time you want to receive money, you can simply click "NEW ADDRESS" and presto -- a new address appears. Additionally, each time you receive change from sending money, a new address is automatically generated. Your wallet keeps track of each of the addresses that have been used. As long as your wallet is synced, it always knows how much money you have.
One important thing to remember is that your wallet addresses will always be generated in the same order. When you generate a "new" address, you're actually calculating the next address in the sequence. Your wallet doesn't know what the next address will be until it's generated, but the sequence will always be the same. For example, if you generate 50 new addresses (and write them down), and then install Chia on a new computer and import the same wallet, the first 50 addresses you generate will exactly match those from your original computer.
Next, we'll introduce a setting called initial_num_public_keys
. This setting is part of config.yaml
, located in ~/.chia/mainnet/config
on Linux and MacOS, and C:\Users\<username>\.chia\mainnet\config
on Windows. The default value of this setting is 100. The majority of users should not change it.
You can think of initial_num_public_keys
as the number of future addresses to examine. It's a window that expands with time (and never contracts). Here's how it works:
The first time you run Chia's software, your wallet will attempt to sync. It does this by checking the first address in the sequence. If that address has ever received money, your wallet will account for that transaction history and examine the next address, and so on. It would take a very long time to examine all four billion addresses, so your wallet will stop looking at some point. This is where initial_num_public_keys
comes in.
By default, your wallet will stop after it has examined 100 straight addresses that have never received money. If it examines 50 empty addresses and then finds a transaction on the 51st address, the number left to examine is reset back to 100. Because the addresses always appear in the same sequence, it will be rare to have even a single address without any transaction history. But there is one exception: if you click "NEW ADDRESS" twice, then one address will remain unused. If you click "NEW ADDRESS" 101 times without receiving money at any of those addresses, then you'll have 100 consecutive unused addresses in the sequence. Let's say you receive money at the 101st address. When your wallet attempts to sync, it will stop looking after the 100th blank address. Transactions from subsequent addresses will remain undiscovered, and your balance will be incorrect.
The default setting for initial_num_public_keys
is quite conservative -- it should be rare for anyone to click "NEW ADDRESS" more than 100 times without actually using any of those addresses. That said, you might have a legitimate reason to do this, for example if you're running an exchange. In that case, feel free to set initial_num_public_keys
to a higher number, stop your wallet, delete your wallet database, and start your wallet again to begin a fresh sync.
Why not set initial_num_public_keys
to a higher number by default? Because it would take longer for your wallet to sync. Why not set it lower? If the default setting were 2, most wallets would likely still show the correct balance and the sync time would be faster. However, we set the default to 100 to prioritize showing the correct balance over syncing as fast as possible.
How does your wallet know it has the correct info for each address? It polls one or more of its peers. These peers can be either trusted or untrusted, as explained in the previous question. By default, your own node is the only one you trust. If your node is fully synced, then your wallet only needs to query your node to determine your transaction history for each address. If your node is not fully synced, then your wallet will query a number of peers about this info. If any of them lie, omit info, or disconnect in the middle of a query, your wallet will know because the responses won't all match.
If you believe your balance is incorrect, changing initial_num_public_keys
is unlikely to fix the problem. If at all possible, you should sync a full node, stop Chia, delete your wallet database, and start Chia again. This time, Chia will sync based on your own node alone. If this is not an option, then resyncing from untrustred nodes might fix the problem as well.
Where is the Chia blockchain database located?
The Chia database (db) is located in the db/
directory inside the .chia/mainnet/
directory. The .chia/
directory will be found in your user's home directory. You will find the testnet database in the same db/
directory if you are using testnet.
- mainnet database filename:
blockchain_v2_mainnet.sqlite
- testnet database filename:
blockchain_v2_testnet11.sqlite
Windows Systems
To show hidden files on Windows file explorer click View \ Show \ Hidden items
C:\Users\<YOURUSERNAME>
└─ .chia/
└── mainnet/
└─ db/
macOS and Linux Systems
To show hidden files on Mac finder click "COMMAND"+"SHIFT"+"." (period), on linux GNOME explorer click the carrot (small down arrow in top right) then select Show Hidden Files
/Users/<YOURUSERNAME>
└─ .chia/
└── mainnet/
└─ db/
How do I use the Official Chia Blockchain snapshot torrent?
- Download the torrent file from https://www.chia.net/downloads/#database-checkpoint
- Use a torrent client to download the full db (I have used bittorrent and qbittorrent)
- Unpack/reassemble the torrent file that was downloaded (on windows I used 7zip, Mac and linux have built in tools that work for this)
- Move the db to the correct folder (~.chia\mainnet\db) and update the name to "blockchain_v2_mainnet.sqlite" (removing the date information in the name)
- Verify the config file (~.chia\mainnet\config\config.yaml) has the correct value under the full_node section for
database_path: db/blockchain_v2_CHALLENGE.sqlite
(should only need to change the v1 to v2) - Launch chia and wait for a bit (the height to hash and peers files need to be built so this can take upwards of 30 minutes)
How do I move the Chia blockchain database to another drive?
The Chia blockchain database will continue to grow as new blocks are farmed creating the ever-growing need for additional space. In some cases this requires users to move their database to a different drive.
We strongly urge using a fast ssd to store the blockchain database. Using a slow drive can create issues with maintaining sync with the network.
- Stop all chia processes.
- Locate the database file you want to move.
- Blockchain db:
~/.chia/mainnet/db/blockchain_v2_CHALLENGE.sqlite
- Wallet db:
~/.chia/mainnet/wallet/db/blockchain_wallet_v1_CHALLENGE_KEY.sqlite
Note:CHALLENGE
will either be mainnet or testnet based on your selected network.
Note:KEY
will be the fingerprint of your wallet.
- Blockchain db:
- Copy the database file(s) you want to move to their new location.
- Update the applicable config.yaml parameters from the table below.
- Config file:
~/.chia/mainnet/config/config.yaml
- Config file:
Database | Config.yaml Parameter | Default | New Location |
---|---|---|---|
Blockchain | full_node: database_path: | db/blockchain_v1_CHALLENGE.sqlite | <NEW_LOCATION_PATH>/db/blockchain_v1_CHALLENGE.sqlite |
Blockchain peer table | full_node: peer_db_path: | db/peer_table_node.sqlite | <NEW_LOCATION_PATH>/db/peer_table_node.sqlite |
Wallet | wallet: database_path: | wallet/db/blockchain_wallet_v1_CHALLENGE_KEY.sqlite | <NEW_LOCATION_PATH>/wallet/db/blockchain_wallet_v1_CHALLENGE_KEY.sqlite |
Wallet peer table | wallet: wallet_peers_path: | wallet/db/wallet_peers.sqlite | <NEW_LOCATION_PATH>/wallet/db/wallet_peers.sqlite |
Note: This information has been adapted from the Spacefarmers guide.
Chia versions 2.1.0 and newer no longer support the version 1 (v1) blockchain database. Please refer to the upgrade instructions if your database is version 1.
How do I upgrade my version 1 blockchain database to version 2?
Chia versions 2.1.0 and newer no longer support the version 1 (v1) blockchain database. There are two method for updating the database to version 2, either using the upgrade cli command or downloading the official database snapshot torrent.
CLI command:
- Stop the chia client (this can be done while chia is running but stopping the client saves from any potential issues).
- Run the command
chia db upgrade
(you do not need the input or output paths if these are still default). Upgrade command context.- This process will take some time and requires additional space as the v1 db is compacted into the v2 db which leaves the v1 db intact.
- Remove any
-wal
or-shm
files that are present in the directory (these are temporary files that should only be removed when all chia processes are stopped).
- Verify the config file (~.chia\mainnet\config\config.yaml) has the correct value under the full_node section for
database_path: db/blockchain_v2_CHALLENGE.sqlite
(should only need to change the v1 to v2) - After the above completes start the chia client.
- If all loads up properly (might take ~5-10 minutes to load) then you can safely delete the v1 db found here
~\.chia\mainnet\db\blockchain_v1_mainnet.sqlite
.
Official torrent:
- Download the torrent file from the official database snapshot torrent.
- Use a torrent client to download the full db. Bittorrent is recommended but any torrent client will work.
- Unpack/reassemble the torrent file that was downloaded (on windows one can use 7zip, Mac and linux have built in tools that work for this).
- Stop all chia processes if you have not already.
- Move the db to the correct folder
~\.chia\mainnet\db\
and update the name toblockchain_v2_mainnet.sqlite
(removing the date information in the name).- Remove any
-wal
or-shm
files that are present in the directory (these are temporary files that should only be removed when all chia processes are stopped).
- Remove any
- Verify the config file (~.chia\mainnet\config\config.yaml) has the correct value under the full_node section for
database_path: db/blockchain_v2_CHALLENGE.sqlite
(should only need to change the v1 to v2). - Launch chia and wait for a bit (the height to hash, sub-epoch, and peers files need to be built so this can take 5-10 minutes).
How can I connect to the same full node peers whenever I start Chia?
This functionality was first made available in Chia version 2.2.0, in PR #17369. Special thanks to Felix Brucker for creating it!
By default, when you start a Chia full node, it will attempt to connect to a random set of peers. This is normally fine, but there are some cases in which you might want to connect to the same peer(s) every time, such as if:
- You are a pool operator who wants to establish consistent groups of nodes to support your pool
- You are running a small, private testnet where all peers are known
- You are connecting to a larger testnet which nonetheless has an insufficient number of nodes to locate your first peer immediately upon starting a full node
Steps to connect to the same full node peers:
- Edit your config file; the default location is
~/.chia/mainnet/config/config.yaml
- In the
full_node:
section, you should see the following line:full_node_peers: []
- If you do not see this line, you can either add it manually, or rename your config file and run
chia init
to create a new copy, which will contain this line.
- If you do not see this line, you can either add it manually, or rename your config file and run
- Remove the square brackets (
[]
) and add add new lines with- host
andport
. Be sure to indentport
, even though it does not have a hyphen. For example, to add two mainnet peers, use the following syntax:full_node_peers:
- host: <Peer 1 IP address>
port: <port>
- host: <Peer 2 IP address>
port: <port>- Typically,
<port>
will be either 8444 (for mainnet) or 58444 (for most testnets).
- Typically,
These are not trusted peers (for more info, see the question on connecting to trusted peers). Instead, these are normal peers that you happen to want to connect to on an ongoing basis. If you lose your connection to one of these peers, your node will automatically attempt to reestablish the connection.
Farming
What is the difference between a Farmer and a Harvester?
A harvester can be thought of as a node that is an extension of your farmer. The harvester checks the plots and reports the results to the farmer, the farmer then submits the results to the blockchain. If setting up harvesters it is important to review the proper way to farm on many machines
How do I tell if I'm farming correctly?
If you see plots in the Plots section of the Farm page in the GUI - your plots are being farmed. You will see challenges and proof attempts as they come through in the Last Attempted Proof section however you usually will not have a proof worth sending to the network due to the plot filter. You can additionally see the Total Size of Plots on the Farm view and it will tell you how much unique space is being farmed and statistically how long it should take - on average - to win a block.
Also, your node needs to be synced for you to farm properly. In the GUI, check the Full Node page. On the cli, do chia show -s -c
.
Does it matter how fast my internet connection is?
No. You have 30 seconds to respond to challenges.
I have only 10 TB, will I ever win XCH?
ChiaCalculator.com does a good job at running the numbers.
First, the bad news. Statistically, it would take multiple years to win a reward with a 10-TB farm. ("So you're saying there's a chance...")
Now, the good news. You can join a pool and collect regular rewards, no matter your farm's size! See the Pool Farming page for more info.
What is the plot filter and why didn't my plot pass it?
Farmers compute a plot filter based on the signage point, their plot id, and the sub-slot challenge - which are hashed together to create the plot filter bits. If the plot filter bits start with 9 zeroes, that plot passes the filter for that signage point, and can proceed. This disqualifies around 511/512 of all proofs of space on the network, for each signage point. There are 4608 * 2 or 9216 signage points per day so the average plot should pass the filter 18 times per 24 hours on average. Once a plot passes the plot filter it then competes for the best proof of space with every other plot that also passed that plot filter for that signage point. For reasons that aren't super simple to intuit, the only thing each plot is competing on is to have the best proof of space and thus the chances of getting a reward depend on total size of plots on the farm - even with the plot filter in place.
As long as the plot passes the filter, and do not have any internal file errors, the plot will always be eligible to compete for the best proof of space. Moving the plot to another directory or server will not change its eligibility.
Please note that the speed of your lookups when passing the plot filter should be below 5 and preferably below 2 seconds. When you actually win a reward, your drive will have to do more lookups than these, so it's important that the the lookups are happening fast.
Why does my Chia farm say Missing signage points
?
This means that your harvester did not respond to one or more signage points in time to be eligible to win a reward. However, if you miss fewer than 100 signage points per day, it is not a serious issue.
On average there are 9216 signage points per day, or one every 9.375 seconds. If your harvester misses 9 signage points per day, then your farm was operational 99.9% of the time. This would be considered normal, even for a farm with a stable internet connection. If you are consistently missing more than 1% of the signage points, or around 100 per day, then it is probably worth investigating the cause.
Some reasons your harvester might miss more than 100 signage points per day:
- Your harvester can't handle its required compute load -- typically this will happen if you are farming with compressed plots. However, even with uncompressed plots, if your harvester sometimes requires more than five seconds to perform its lookups, it may miss some signage points. See our plotting documentation for more info on how determine the maximum number of plots your harvesters can handle.
- Lost connections to peers -- check your peer count by clicking the
FULL NODE
icon in the upper right corner of your farmer GUI. If you only have a few peers, your local network might have a UPNP issue. See our question on obtaining more peer connections. - Changed external IP address -- some ISPs will change the IP address of their customers frequently and without warning. This may be happening to your home network. Your ISP might be able to provide you with more info. Unfortunately, if this is happening, often the only recourse is to pay for a dedicated IP address.
- Changed internal IP address -- your home network might also have changed the IP address of your harvester(s). Your router's settings might provide you with more info.
- Temporary loss of internet -- you don't need a fast internet connection to run a Chia node. But you do need a stable one. If your local network loses internet connectivity for a few seconds, you might miss a signage point.
- Bad wifi connection -- we recommend that you run your farmer with a wired internet connection. If you need to use wifi, try to keep your farmer as close to your router as possible. While wifi tends to be consistent enough to run a Chia farm, if your farmer is in a different room than your router, you might occasionally miss a signage point.
Can I join a farming pool?
Yes you can. Please check the Pool Farming page.
I have heard that it's recommended that a winning plot be deleted on mainnet?
This was our advice in 2020, long before the launch of mainnet. However, we no longer advise anyone to delete their winning plots.
Some background: The consensus Chia originally used during the testnet phase contained the possibility of an attack where an attacker who could co-ordinate N deep from the tip of the chain could try to coerce a winning farmer to re-write a historical transaction block. However, before the launch of mainnet, the consensus was updated; this attack is no longer viable. See the link for more details.
Do my plots "wear out" or "go bad"/"go stale" over time? Will I have to regularly re-plot?
No, your plots are virtually unaffected by the passage of time, aside from hardware errors. Even in the presence of bit flips due to aging hardware, plots remain mostly effective. The only cases where you would need to re-plot are: 1. if you are using solo plots (not NFT plots) and wish to join a pool (please see note below) or 2. if hardware speeds advance to the point of a certain k value becoming obsolete (e.g., k=32
becomes too fast to plot and we ban them, forcing you to replace them with k≧33
plots). For case 1., you are free to have any mix of solo plots and pool plots if you do not want to re-plot. For case 2., k=32
is not expected to become outdated until sometime between 2026-2031.
- Note on case 1: We have added a Pooling Protocol that replaces the hard-coded "Pool Public Key" of a plot, with a plotNFT's "Pool Contract Address" - more on this subject can be read here: https://docs.chia.net/reference-client/farming/pool-farming/#pooling-faq
Is it possible to have a proof but not get a reward?
It is unlikely, but it is possible. There are multiple reasons why this might be the case. The most common is that due to network delay, or drive speed delay (for example using a slow NAS), you missed the time for inclusion into the blockchain, which is 28 seconds. This time is from when the timelords create the signage points, to when the timelords infuse your block. Check to make sure that you are connected and synced to multiple peers, and that your quality lookup are fast (<2 seconds, definitely less than 5). Another reason might be that the signage point where you won did not get included into the blockchain. This can sometimes happen, since timelords may publish signage points that don't end up on chain.
Wallet
How do I use the Chia faucet?
To use the chia faucet or testnet11 faucet you will need to identify your Master Public Key (also referred to as the Public Key). You can use either the GUI or CLI to identify the Master Public Key by following these steps:
GUI
Never share your private / secret keys or mnemonics with anyone. These give access to spend funds from your wallet.
- In the top right corner select logout:

- Using the desired keys menu, select details:

- View and copy the Public Key to the field on the Faucet page:

CLI
NEVER share your private / secret keys or mnemonics with anyone. These give access to spend funds from your wallet.
In order to view your keys from the cli, run chia keys show
, optionally including the -f <fingerprint>
flag to show only the info for the key you just generated:
- From terminal (mac/linux) or powershell (windows) run
chia keys show
:
chia keys show
- View and copy the Master Public Key to the field on the faucet page:
Showing all public keys derived from your master seed and private key:
Label: Demo Wallet
Fingerprint: 2281896037
Master public key (m): 96ce91d974daa0990e6681ac2de3e3f49142f6b655a081817832265c143e658a6e60a5dec856f292f45fe2d04c7856f6**
Farmer public key (m/12381/8444/0/0): a9e366b26f155491af9a903c0ed9717bfd09a71cbe283eeda825128fd7c6b9ac60e1608f9f008adcfbf66e233d5b4ce8
Pool public key (m/12381/8444/1/0): 9566fa434f342dd5f9380a6bfc59dd7d1abd22869a425a8ca09cf27200eaa6aad5bc8fc00db90af832eb8028b0c6e3f0
First wallet address: xch1kr3zf7dqw5q953ex6zt33lndj90q0zlh68404tsntnljthnwqs2qvjmwrg
For more security best practices please review the Securing Your Chia – How to Be a Hard Target blog article.
How do I send or receive a transaction?
The Wallets page in the GUI will display your receive address and provide an interface for you to spend your chia funds. You can also obtain a new wallet receive address any time you would like and those funds will all come to the same place as they are based on HD Keys.
There is growing wallet functionality available on the command line. Try chia wallet -h
. Wallet software also provides features related to CAT's, and trade offers. You can get a receive address on the cli with chia keys show
.
What is the Coin model?
The coin (or UTXO) model is a Bitcoin-style transaction model which is also used in Chia. Your wallet keeps track of a set of coins, where each coin can be any amount of XCH. When spending a coin (making a transaction), you have to spend the entire amount, and split that coin into multiple outputs, called coin additions. One addition is to the recipient of the transaction, and the other one is to you, as change. The change usually goes to a new address, so you will not see it in your normal address on Chia explorer, but your wallet will keep track of it and include it in the balance. Each block in Chia is a list of removals (coins spent) and additions (coins created). There are no transactions in the blockchain, which is why you cannot lookup transactions in the block explorers.
What are HD Keys?
HD or Hierarchical Deterministic keys are a type of public key/private key scheme where one private key can have a nearly infinite number of different public keys (and therefor wallet receive addresses) that will all ultimately come back to and be spendable by a single private key.
How many confirmations do I need to trust that a chia transaction is final?
Small reorgs in Chia are possible, though rare. In order to be confident that your transaction won't be reorged, you should wait around six blocks, or two minutes, after the first confirmation. More details are available in our consensus documentation.
Why is my wallet not synced? Why can I not connect to wallet from the GUI?
Try the following options:
- GUI may not be fully refreshed. Try the "force reload" option under View to force the GUI to refresh.
- It's possible the wallet DB may be corrupted. Deleting the wallet DB will resolve this, but will also cause you to lose any Offer history and you will need to setup your CAT wallets again.
To delete your wallet DB follow these steps:
- Shut down Chia and all Chia processes, check the task manager to see if they are all shut down. Note that this will cancel running plots, so be careful.
- Restart your computer (if there are still running processes and you can't get those processes to quit)
- Delete the
~/.chia/mainnet/wallet/db
folder - Restart Chia
Why do I have a negative balance? Why is my pending transaction not confirming?
Your pending transaction can take a few minutes if blocks are full. If it's not confirmed after a while, your pending transaction might be stuck. Try the following steps:
- Shut down your wallet and node
- Delete your wallet db files: located at
~/.chia/mainnet/wallet/db
. This will require syncing up your wallet, but not your node. And then you can resubmit the transaction. - Make sure you have upgraded to the latest version
- Start the application and wait for the wallet to sync up
- After your wallet is fully synced to the same height as the Full Node, your Wallet Balance will be correct.
Known problem: After your wallet is resynced, any previous outgoing transaction will appear as incoming transaction at the block height you made the outgoing transaction.
Where can I buy Chia?
Visit chia.net/buy-xch for instructions on buying Chia. Visit offers to learn more about peer-to-peer trading on Chia.
There are several exchanges that offer XCH, you can see a list of exchanges supporting XCH on chialinks a community created website. This list is for informational purposes only. It is up to the reader to do their own research on the best exchange for their needs.
I was running the light wallet beta app and I upgraded to the latest beta and my offer history disappeared. How do I get that back?
If you were running the light wallet beta app (v1.2.11 dev 265) and you've upgraded to the latest beta (v1.2.12+), you can get your offer history and your CAT wallets back by following these instructions:
- Close the Chia app
- Check the following directory:
~/.chia/mainnet/wallet/db
if it's not empty, then be sure to delete all the .sqlite files that match the key (e.g.,blockchain_wallet_v2_mainnet_1123456789.sqlite
) - copy the file(s) from
~/.chia/standalone_wallet/wallet/db/blockchain_wallet_v1_mainnet_123456789.sqlite_new
to~/.chia/mainnet/wallet/db
- rename the file
~/.chia/mainnet/wallet/db/blockchain_wallet_v1_mainnet_123456789.sqlite_new
toblockchain_wallet_v2_mainnet_123456789.sqlite
- launch the Chia app
Why does the wallet tab tell me that it's synced, but when I look at the full node tab, it still shows that I'm syncing?
This is because of the newly integrated light wallet client sync. The wallet will sync through the light wallet sync while the full node syncs up in the background. Once the full node is synced up, then the wallet will sync primarily through the local trusted full node.
I lost my offer history, and I have open offers. How do I cancel those offers since I can't access the open offers through the wallet?
If you've lost your offer history and want to cancel those offers but can't access them, then the only way to cancel the offer would be to send yourself a transaction with the CAT tokens that were part of the offer.
Why don't new CAT tokens automatically show up in my wallet anymore?
The wallet no longer automatically adds unknown CATs wallets for CATs that may have been airdropped to your wallet. This is to help ensure that syncing doesn't slow down with all the additional CATs that could suddenly show up. It is recommended that you use a tail database to look up and add. We understand that this will add some extra work to know which CATs to add wallets for and set them up manually. We do hope to improve upon this experience Soon™