Wallet Guide
So you want to set up and use a chia wallet? You've come to the right place!
This guide will take you through each of these steps. We will set up a Chia wallet, which includes syncing a wallet node and learning about offer files.
This guide is intentionally light on technical details. It is only intended to help new users set up a basic wallet. Subsequent pages on this website will go into the concepts introduced in this guide in much greater detail.
Ready? Let's get started!
Install Chia
Head to the official download page; download and run the installer for your Operating System. The default settings are fine for most setups.
Two check boxes will be shown on the last screen after the install has completed. It's a good idea to check both of them. Doing so will allow you to type chia
in a terminal window without requiring the full path, and it will automatically start the application.
Run and configure Chia
The first time Chia starts, you will be given the option to run in either Wallet Mode or Farming Mode. You will be setting up a Chia wallet, so click CHOOSE WALLET MODE
:
Create a wallet
Assuming you don't have a wallet yet, click CREATE A NEW WALLET KEY
(If you already have a wallet, you can import it by clicking the green ADD WALLET
button):
You will be presented with a list of twenty-four words. This is your wallet's recovery phrase. These words are all that are needed to recover your wallet on a new computer. Write them down and store them in a safe place. The order of the words is also important.
You can also choose a custom name for your wallet. Click NEXT
when you are finished.
If someone obtains a copy of these words, they can steal your entire wallet, including all of its funds. Be sure to store your recovery phrase in a safe place.
You will be taken to your wallet, which will show a zero-XCH balance. There will be a round icon in the upper-right corner for the wallet sync status:
- Wallet -- this icon will appear yellow at first. Your wallet will attempt to connect to three peers for syncing. It should be synced within a few seconds, at which point the icon will turn green.
Use the Chia Wallet
This tutorial demonstrates using Chia Offers with the reference wallet GUI.
See also our command line tutorial and our Offers standard reference.
Chia Asset Tokens (CATs) are fungible assets on Chia's blockchain. In Chia parlance, "CAT" and "token" are often used interchangeably. Each CAT must come with its own Token and Asset Issuance Limiter (TAIL), a program that dictates how the CAT may be issued. For more information, see our CAT standard documentation.
Add a new CAT
- If you would like to acquire a CAT from an Offer, your wallet will need to recognize the CAT first. Click
MANAGE TOKEN LIST
in the lower-left corner of the reference wallet GUI:
- The Chia reference wallet comes with a few included CATs, but most will need to be entered manually. If you want to add one of the included CATs, click the slider next to the CAT you would like to add.
Otherwise, click the
+
button:
- If your new CAT is not included in the reference wallet, you will need to obtain its Asset ID (TAIL). There are multiple websites that provide a listing of CATs and their IDs. One such site is spacescan.io. Simply browse to the website, then search for your CAT. For example, here is a search for "dexie bucks":
In addition to CATs, Spacescan provides a listing of NFTs. In certain cases, such as with Dexie Bucks, there are CAT and NFT collections with the same name. In this case, be sure to click on CAT2
, as in the above image.
The result will show you the details of the CAT you selected, including its ID. Copy this ID by clicking the icon as shown here:
It is recommended that you check with another source of truth to make sure you have the correct ID. Another website that provides a listing of CATs and their IDs is taildatabase.com. Browse to this site, click the Explore
menu, and search for your CAT. The name should appear in the search results:
Some information about the CAT will appear, including its Asset ID, as highlighted here:
Copy this ID and continue to the next step.
If someone sends you an Asset ID (TAIL), do not assume it is correct. Instead, double-check with spacescan.io or taildatabase.com (or preferably both) to verify that you have the correct ID.
- Enter the name and asset ID for your new CAT, then click
ADD
:
Your new CAT will now appear in the "Tokens" list in your wallet.
Create an XCH-CAT offer
For our first example Offer, we will offer 1 XCH in exchange for the new CAT.
- Click the
Offers
icon, then clickCREATE AN OFFER
to get started:
- Next, fill in the details of the Offer. By default, the Offer will be set to expire after 7 days. This is likely fine in most cases. (If an Offer never expires, there is a chance it will be taken as arbitrage long after the maker has forgotten about it.) However, feel free to enter a different expiration time if desired.
In this example, we will offer 1 XCH for 1000 tokens, and include a small blockchain fee, which will only be applied when the Offer is taken.
After all of the details have been filled in, click CREATE OFFER
:
- If anyone acquires this Offer and it is still valid, they will be able to take it. Click the
I UNDERSTAND
button and the Offer will be created:
- At this point, the Offer has been created locally. However, until you share it, it is unlikely that anyone will know it exists. Feel free to email the Offer file, share it on social media, etc. The Offer file does not contain any sensitive data. Whoever sees it will only have two options: take it or ignore it.
You can also use the panel that appears to share your Offer in a few default locations:
_ Dexie -- a bulletin board that acts as a Decentralized EXchange (DEX)
_ Hashgreen -- another DEX, as well as an Automated Market Maker (AMM)
_ Offerpool -- a bulletin board for sharing offers
_ Spacescan -- an explorer and bulletin board * Finally, you can save the file to your local computer and share it however you want
- The Offer will now appear as
Pending Accept
, and the amount of time (if any) until it expires will also be shown:
Congratulations! You have created an Offer. A few things to note:
- Your wallet has reserved the coin(s) necessary to complete the Offer.
- The blockchain has not recorded this Offer.
- You can distribute the Offer file wherever you want.
- Anyone who sees the Offer file can attempt to accept it.
Accept an offer
This example will use a different computer to accept the Offer that was created in the previous example. Keep in mind, offers are accepted on a first-come, first-served basis.
- Prior to accepting the Offer, this wallet has 1,000,000 CATs:
- Click
Offers
, then view the Offer by either loading, dragging/dropping, or pasting the file:
- In this case, the Offer will expire in 6 days. The Taker must give 1000 CATs in exchange for 1 TXCH. The Maker has included a blockchain fee, and the Taker has the option of adding to this fee if desired. If the terms are acceptable, click
ACCEPT OFFER
:
- You will need to confirm that you actually want to accept the Offer, which will initiate an on-chain transaction:
- The Offer has been accepted. Click
OK
:
- While the blockchain transaction is pending, you will see this status in the
Offers you accepted
panel:
- Meanwhile, the
Tokens
screen will show the pending XCH and CAT amounts:
- After the transaction has been confirmed (typically 1-3 minutes), the Offer's status will be updated to
Confirmed
:
- The final XCH and CAT balances will then be reflected in the
Tokens
screen:
Cancel an offer
You can cancel any Offer you created, as long as it has not already been accepted.
- In the "Offers" dialog, locate the Offer you want to cancel. It must be in the "Pending Accept" state.
Click the three dots in the "Actions" column:
- Click "Cancel Offer".
- The "Cancel Offer" dialog will appear. The default option is to cancel on the blockchain, as shown in the red circle in the image below.
This option will use your wallet to spend the coin(s) you had offered, and create new coins of the same type and value. This process does not involve taking the other end of the Offer, so you will not receive any funds of the type you had requested. The end result is that your wallet's balance will be the same as it was before you made the Offer (minus any transaction fees).
The advantage of canceling in this manner is that it ensures that nobody can accept your Offer in the future. The disadvantages are that you will need to wait a few minutes for your transaction to be processed, and that you may have to pay a transaction fee.
- If you uncheck the checkbox, your wallet will un-reserve the coins for your Offer. However, nothing will be recorded on the blockchain. If you have copied your Offer file elsewhere, someone could still accept it.
The advantages of this option are that it will cancel your Offer instantly, and there's no need to include a fee.
- If you left the checkbox checked in the previous step, your Offer will enter the "Pending Cancel" state while the cancellation is being recorded on the blockchain. This could take several minutes.
- When your order has been successfully canceled, it will enter the "Cancelled" state. Your funds are now available in your wallet.
NFT Offers
You can also create Offers to buy or sell NFTs. While it is possible to select NFTs from the Offers
dialog, this example will demonstrate how to do so directly from the NFTs
dialog.
- Enter the
NFTs
dialog and select the NFT(s) to offer. If you would like to offer more than one NFT, click the checkbox (as shown below) to enter multi-select mode. To offer all of your NFTs, clickSELECT ALL
:
- In this case, both of the NFTs are selected. Next, click
ACTIONS
andCreate Offer
:
- The
Offer Maker
dialog will appear. Fill in any additional details for your Offer (be sure to request something!), and clickCREATE OFFER
:
- Share the Offer as you would with a CAT Offer. After the Offer has been created, the NFTs being offered will appear in the Offer summary:
NFT Swaps
You can also swap NFTs for other NFTs, just like trading cards.
- From the
Offers
dialog, select the NFT(s) you would like to offer and request. You can mix and match the Offer with a combination of XCH, CATs, and NFTs:
- When you are satisfied with terms of the Offer, click
CREATE OFFER
:
- After the Offer has been created, the assets to be trade will be displayed in the summary, just as with other Offers:
Offer notifications
It is also possible to send a peer-to-peer notification to the owner of an NFT you would like to buy. You don't even need to know who owns the NFT; the notification will figure it out for you.
This example will continue with the same NFT-NFT Offer from the last section.
- After creating an Offer to acquire an NFT, share it to Dexie, Mint Garden, etc:
- Be sure to verify that the Offer is correct; after it is shared publicly, someone could accept it:
- Click
NOTIFY CURRENT OWNER
:
- You have the option to add a transaction fee for the notification. You can also choose whether to allow counter offers:
- A new offer coin will be created. If the owner of the NFT you would like to acquire is using the reference wallet, the wallet will notice this new coin and examine its contents. A new notification will appear in the owner's wallet. Click the notification bell:
- A summary of the Offer will appear. Click the summary to see the details of the Offer:
Default expiration time
By default, all Offers will expire seven days after being created. However, you can modify the expiration time on individual Offers, and you can also modify the default expiration time. From the GENERAL
tab in the Settings
menu, scroll down to Offer Expiration Time
. From here, you can modify the default, or even disable expiring Offers altogether:
You can also access this setting from the Offer Builder
menu by clicking Change default timing
:
Potential issues
This section will detail a non-comprehensive list of issues you might encounter while making or taking offers.
Contents:
- Maker doesn't have enough money
- Taker doesn't have enough money
- Taker accepts an unknown CAT offer
- Taker attempts to accept an invalid offer
- Maker cancels an Offer locally, Taker accepts the offer
- Whole coins must be reserved
- Offer involving a CAT1 is invalid
Maker doesn't have enough money
Let's say a Maker has wallets for XCH and CKC, with no money in either of them.
The maker attempts to make an ambitious offer: 100 XCH for 1 million CKC.
However, the Maker does not have enough money to create this Offer. As a result, an Error is displayed:
Taker doesn't have enough money
Let's say the Taker has a wallet with no money in it:
And there's an outstanding Offer requesting 0.1 XCH for 10,000 CKC:
However, the Taker does not have enough money to accept this Offer. As a result, an Error is displayed:
Taker accepts an unknown CAT offer
You should be extra careful before accepting offers for unknown CATs. This is because the Offer might be a scam where a different -- and worthless -- token is actually being offered.
Here's how the scam would work:
Let's say a potential Taker has 0.1 XCH in their wallet.
There is an Offer of 0.25 Shibe (an unknown CAT) in exchange for 0.1 XCH.
Here's the Offer from the Taker's perspective:
The Taker decides to accept the Offer.
There is a warning dialog about the unknown cat, after which the Offer is confirmed successfully:
Notice that the Offer file was named 0.25_Shibe_for_0.1_XCH.offer
, but the file name itself does not dictate the contents of the Offer. The Taker may have inadvertently accepted an Offer for a worthless token!
Luckily, it is easy to avoid this scam by cross-referencing the unknown CAT's ID before accepting the Offer. In this case, the Taker should verify from a trusted source that 4ac6a35e5fecb50d85604b19250a942afdc81876fe11db1f9d970c95dcf2c43f
indeed corresponds to Shibe.
Chia does install a list of known CATs by default, so this scam should be rare, but you should always be diligent in scrutinizing offers for unknown CATs.
Taker attempts to accept an invalid offer
If the Maker has canceled the Offer on the blockchain, or a Taker has already taken the Offer, it is no longer valid.
Any potential Takers will be conveyed this information upon viewing the Offer. For example:
Maker cancels an Offer locally, Taker accepts the offer
This example will demonstrate that if you need to cancel an Offer, you should always do so on-chain unless you are certain the Offer file has not left your computer.
Let's say a Maker has 0.1 XCH and 1 USDS:
The Maker offers 0.1 XCH in exchange for 10 USDS:
The Maker then decides to cancel the Offer, and unchecks the "Cancel on blockchain" checkbox:
The offer's state is immediately changed to "Cancelled".
After the Offer has been canceled, a Taker notices the Offer file and decides to accept it:
Later, the Maker notices that the Offer has gone through, despite having been canceled:
If the Offer had been canceled on-chain, the reserved coins would have been spent. At that point, even if someone else had gotten access to the Offer file, the Offer itself would've been invalid.
The lesson here is do not uncheck the "Cancel on blockchain" checkbox unless you're certain the Offer file has never left your computer.
Whole coins must be reserved
Under the coin set model, coins can be of any value. When an Offer is created, the Maker's wallet must reserve enough coins to meet the requirements of the Offer.
The coin set model has many advantages over the account model, but it can create some situations that take time to understand.
For example, let's say a Maker has 1 XCH and 0 USDS:
The Maker creates an Offer of 0.1 XCH for 10 USDS.
The Maker received the XCH in one lump sum, so there is a single coin worth 1 XCH in the Maker's wallet.
This is viewable in the offer's details:
While the Offer is pending, the Maker attempts to send 0.1 XCH to another address.
Notice that while the Total Balance is 1, the Spendable Balance is 0.
This should be possible -- the Maker has 0.9 XCH, even after taking the Offer into account. The reason for the Exception is because the Maker only has a single coin worth 1 XCH, and that coin has already been reserved for the Offer.
It's similar to using a 1. Before you receive your change, you can't buy anything else. On the other hand, if you had started with two 1 item, you could've purchased something else while waiting for your change.
The Maker can work around this issue by canceling the Offer, then breaking the single large coin into multiple small ones. One simple way to do this would be to send money to him/herself:
The Maker can then recreate the same Offer. The new offer's details show a coin worth 0.9 XCH being reserved:
The Maker's wallet shows a Total Balance of 1 XCH. This is the same as before, but there are now two coins that sum to 1 XCH.
Because there are now two coins in the Maker's wallet, and only one (worth 0.9 XCH) has been reserved for the Offer, the Spendable Balance is 0.1 XCH:
The Maker can now send 0.1 XCH to another wallet, even while the Offer is still pending:
One of the Maker's coins has been reserved for the Offer, and the other has been sent to another wallet. The Maker can further break apart the large coin as needed.
Offer involving a CAT1 is invalid
The CAT1 Standard reached its end of life (EOL) with block 2,311,760 in July 2022. Any offers that include a CAT1 on either side of the trade will result in an invalid offer error.