Skip to main content

Wallet Guide

So you want to set up and use a chia wallet? You've come to the right place!

  1. Install Chia
  2. Run and Configure Chia
  3. Create a Wallet
  4. Use the Chia Wallet

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.

info

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.

Check both boxes

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:

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):

Create a new wallet key

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.

warning

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.

Wallet seed phrase

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.
Zero wallet balance


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

  1. 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:
manage token list

  1. 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:
add token

  1. 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":
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:

copy dexie bucks ID

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:

taildatabase dexie bucks search

Some information about the CAT will appear, including its Asset ID, as highlighted here:

taildatabase dexie bucks asset ID

Copy this ID and continue to the next step.

warning

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.

  1. Enter the name and asset ID for your new CAT, then click ADD:
One Meeellion CATs

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.

  1. Click the Offers icon, then click CREATE AN OFFER to get started:
create an offer

  1. 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:

fill in offer details

  1. 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:
confirm offer

  1. 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

distribute offer

  1. The Offer will now appear as Pending Accept, and the amount of time (if any) until it expires will also be shown:
offer pending status

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.

  1. Prior to accepting the Offer, this wallet has 1,000,000 CATs:
One Meeellion CATs

  1. Click Offers, then view the Offer by either loading, dragging/dropping, or pasting the file:
view offer

  1. 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:
accept offer

  1. You will need to confirm that you actually want to accept the Offer, which will initiate an on-chain transaction:
verify acceptance of offer

  1. The Offer has been accepted. Click OK:
offer accepted

  1. While the blockchain transaction is pending, you will see this status in the Offers you accepted panel:
offer pending confirm

  1. Meanwhile, the Tokens screen will show the pending XCH and CAT amounts:
1 XCH incoming

1000 CATs outgoing

  1. After the transaction has been confirmed (typically 1-3 minutes), the Offer's status will be updated to Confirmed:
plus 1 XCH

  1. The final XCH and CAT balances will then be reflected in the Tokens screen:
minus 1000 CATs

offer pending status


Cancel an offer

You can cancel any Offer you created, as long as it has not already been accepted.

  1. 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:

Pending Accept

  1. Click "Cancel Offer".
Cancel Offer

  1. 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.

Cancel on blockchain

  1. 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.

Cancel off chain

  1. 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.
Pending Cancel

  1. When your order has been successfully canceled, it will enter the "Cancelled" state. Your funds are now available in your wallet.
Cancelled


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.

  1. 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, click SELECT ALL:
Cancelled

  1. In this case, both of the NFTs are selected. Next, click ACTIONS and Create Offer:
Cancelled

  1. The Offer Maker dialog will appear. Fill in any additional details for your Offer (be sure to request something!), and click CREATE OFFER:
Cancelled

  1. 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:
Cancelled


NFT Swaps

You can also swap NFTs for other NFTs, just like trading cards.

  1. 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:
Multi NFT swap

  1. When you are satisfied with terms of the Offer, click CREATE OFFER:
Cancelled

  1. After the Offer has been created, the assets to be trade will be displayed in the summary, just as with other Offers:
Cancelled


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.

  1. After creating an Offer to acquire an NFT, share it to Dexie, Mint Garden, etc:
Share on Dexie

  1. Be sure to verify that the Offer is correct; after it is shared publicly, someone could accept it:
Share Offer

  1. Click NOTIFY CURRENT OWNER:
Notify current owner

  1. You have the option to add a transaction fee for the notification. You can also choose whether to allow counter offers:
Send message

  1. 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:
Incoming notification

  1. A summary of the Offer will appear. Click the summary to see the details of the Offer:
View 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:

Change default from general settings

You can also access this setting from the Offer Builder menu by clicking Change default timing:

Access default settings from Offer creation


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

Let's say a Maker has wallets for XCH and CKC, with no money in either of them.

0 XCH wallet
0 CKC wallet

The maker attempts to make an ambitious offer: 100 XCH for 1 million CKC.

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:

Amount exceeds spendable balance

Taker doesn't have enough money

Let's say the Taker has a wallet with no money in it:

0 XCH wallet

And there's an outstanding Offer requesting 0.1 XCH for 10,000 CKC:

Accept offer

However, the Taker does not have enough money to accept this Offer. As a result, an Error is displayed:

Insufficient funds

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.

0.1 XCH 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:

Offer shibe for XCH

The Taker decides to accept the Offer.

There is a warning dialog about the unknown cat, after which the Offer is confirmed successfully:

Unknown CAT warning
Unknown CAT success

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:

Invalid offer

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:

0.1 XCH in wallet
1 USDS in wallet

The Maker offers 0.1 XCH in exchange for 10 USDS:

Offer 0.1 XCH for 10 USDS

The Maker then decides to cancel the Offer, and unchecks the "Cancel on blockchain" checkbox:

Cancel offer off chain

The offer's state is immediately changed to "Cancelled".

Canceled offer off chain

After the Offer has been canceled, a Taker notices the Offer file and decides to accept it:

Accept a canceled offer
Confirm a canceled offer

Later, the Maker notices that the Offer has gone through, despite having been canceled:

Post-offer 0 XCH
Post-offer 11 USDS

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:

1 XCH in wallet
0 USDS in wallet

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:

Offer in Pending Accept state
Show offer's details
One coin used for offer
Scroll to the bottom to view coins reserved for the Offer.

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.

Can't send while Offer pending

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 10billtobuysomethingfor10 bill to buy something for 1. Before you receive your change, you can't buy anything else. On the other hand, if you had started with two 5billsandboughtthesame5 bills and bought the same 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:

Maker sends 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:

New details of Maker's offer

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:

Maker has 0.1 XCH available

The Maker can now send 0.1 XCH to another wallet, even while the Offer is still pending:

Successful send while Offer 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.


Further reading