Skip to content

Offers and trading

Peer-to-peer swaps of XCH, CATs and NFTs without an exchange, and how they look on chain.

4 min read

An offer is a half-finished transaction: the maker signs coin spends that give away something (say 10 XCH) on the condition that something else (say 1,000 of a token) is paid to them in the same bundle. The offer is a file, usually shared through a marketplace such as Dexie. It does nothing on chain until a taker completes the other half and pushes the whole bundle; then both sides settle atomically or not at all.

Why it needs no exchange

Because the maker's coins are only spendable together with the taker's payment, nobody has to trust a middleman. The maker keeps custody until the moment of the swap, can cancel by spending the offered coins themselves, and can set an expiry. This works for XCH, CATs and NFTs alike, which is how Chia has NFT sales, token markets and even multi-asset bundles without a custodial exchange.

What an offer looks like on chain

Once taken, an offer is an ordinary spend bundle: on its mempool and transaction pages you will see it tagged as an offer or swap, with each participant's sent and received assets. Before that, only the marketplace knows it exists; Coinset indexes the offers it sees and this site shows their state on the token, NFT and address pages, and on an offer's own page once you know its id.

Offer lifecycle

  • Open: published, coins still unspent.
  • Taking: a taker's bundle is in the mempool.
  • Taken: confirmed in a block.
  • Cancelled or expired: the maker spent the coins otherwise, or the expiry passed.

Clawbacks

A related idea is the clawback: a payment the sender can pull back for a set time before the receiver may claim it, a safety net against sending to the wrong address. Coins like that show up on an address page with their timelock until they are claimed or revoked.