> For the complete documentation index, see [llms.txt](https://base-tech.gitbook.io/base/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://base-tech.gitbook.io/base/10.-building-a-marketplace/10.2-listing-and-cancelling.md).

# 10.2 Listing & cancelling

Our marketplace acts as an escrow contract, holding someone's NFT and releasing it when certain conditions are met. One of these conditions is the provision of the correct payment tokens. As tokens are central to the functionality, it is useful to create helper functions that transfer NFTs and fungible tokens. These functions will take a trait reference (either BIP009 or BIP010) and then execute the proper contract call to transfer the token.
