> For the complete documentation index, see [llms.txt](https://docs.artinals.com/artinals-protocol/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.artinals.com/artinals-protocol/market-module/functions-and-entry-points/create-buy-offer.md).

# Create Buy Offer

Function:

```
public fun cancel_offer<CURRENCY>(
    ledger: &mut TradeLedger,
    offer_id: ID,
    collection_cap: &CollectionCap,
    clock: &Clock,
    ctx: &mut TxContext
)

```

**Description:**

* Allows a **seller** to cancel their active offer.
* The NFTs are **returned** to the seller’s wallet.
* The offer status is updated to **CANCELLED**.

**Validations:**

* Only the **offer owner** can cancel.
* The offer must **be open**.
