# Offers

## Link Offers

The following sections describe the offer functionality. These functions allow a user to place an offer on an asset which can then be accepted by the owner to create a trade.

The three flows are:

* `makeOffer` - making an offer on a specific asset
* `cancelOffer` - cancelling an offer previously made on a specific asset
* `acceptOffer` - creating a trade by accepting a valid offer on your asset

If a user wants to change their offer on an asset, they must first cancel the existing offer and then make a new one.

Offers are the equivalent of active buy orders from the v3 orders API. The buy side token type is ERC721 (an NFT) and the sell side token type would be ETH or ERC20 (currency). To retrive a list of offers for a particular asset you will need to make a request to the `/v3/orders` public API and pass parameters to filter for `active` buy orders on the asset. For example to filter for active offers (buy orders) on a particular asset, the parameters to pass would include:

```
{
  status: 'active',
  buy_token_id: '2002',
  buy_token_address: '0x2ca7e3fa937cae708c32bc2713c20740f3c4fc3b',
  buy_token_type: 'ERC721'
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://xpansionchain-1.gitbook.io/xpansionchain/advanced-guides/link-sdk/offers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
