# Contracts

Query smart contracts and collections available in the marketplace

## List smart contracts and collections

> Retrieves smart contract addresses and collection information available in the marketplace.\
> \
> This endpoint returns both marketplace contracts (LAND, Estates, Names, etc.) \
> and collection contracts (primarily wearables) from the database.\
> \
> \*\*Contract Types:\*\*\
> \- \*\*Marketplace Contracts\*\*: Core Decentraland contracts including LAND parcels, Estates, ENS Names, and legacy wearable collections\
> \- \*\*Collection Contracts\*\*: Third-party and creator collections, primarily wearables on Polygon network\
> \
> \*\*Filter Options:\*\*\
> \- Category filtering (parcel, estate, ens, wearable, emote)\
> \- Network filtering\
> \- Pagination (first/skip)\
> \
> \*\*Pagination:\*\*\
> \- Use \`first\` and \`skip\` parameters for pagination\
> \- \`first=0\` returns all results (no limit)\
> \- \`skip\` allows you to skip the first N results\
> \- Pagination is applied after category and network filters\
> \
> \*\*Use Cases:\*\*\
> \- Retrieve contract addresses for specific NFT categories\
> \- List all available collections in the marketplace\
> \- Filter contracts by network\
> \- Paginate through large result sets\
> \
> \*\*Response Structure:\*\*\
> Each contract includes:\
> \- Contract address\
> \- Contract name\
> \- NFT category (parcel, estate, ens, wearable, emote)\
> \- Network\
> \- Chain ID\
> \
> \*\*Performance Notes:\*\*\
> \- Collection contracts are cached for 1 hour to improve performance\
> \- Use category and network filters to reduce response size\
> \- Pagination is applied in-memory after fetching all matching contracts<br>

```json
{"openapi":"3.1.0","info":{"title":"Decentraland Marketplace Server API","version":"1.0.0"},"tags":[{"name":"Contracts","description":"Query smart contracts and collections available in the marketplace"}],"servers":[{"url":"https://marketplace-api.decentraland.org","description":"Production server"},{"url":"https://marketplace-api.decentraland.zone","description":"Development server"}],"security":[],"paths":{"/v1/contracts":{"get":{"tags":["Contracts"],"summary":"List smart contracts and collections","description":"Retrieves smart contract addresses and collection information available in the marketplace.\n\nThis endpoint returns both marketplace contracts (LAND, Estates, Names, etc.) \nand collection contracts (primarily wearables) from the database.\n\n**Contract Types:**\n- **Marketplace Contracts**: Core Decentraland contracts including LAND parcels, Estates, ENS Names, and legacy wearable collections\n- **Collection Contracts**: Third-party and creator collections, primarily wearables on Polygon network\n\n**Filter Options:**\n- Category filtering (parcel, estate, ens, wearable, emote)\n- Network filtering\n- Pagination (first/skip)\n\n**Pagination:**\n- Use `first` and `skip` parameters for pagination\n- `first=0` returns all results (no limit)\n- `skip` allows you to skip the first N results\n- Pagination is applied after category and network filters\n\n**Use Cases:**\n- Retrieve contract addresses for specific NFT categories\n- List all available collections in the marketplace\n- Filter contracts by network\n- Paginate through large result sets\n\n**Response Structure:**\nEach contract includes:\n- Contract address\n- Contract name\n- NFT category (parcel, estate, ens, wearable, emote)\n- Network\n- Chain ID\n\n**Performance Notes:**\n- Collection contracts are cached for 1 hour to improve performance\n- Use category and network filters to reduce response size\n- Pagination is applied in-memory after fetching all matching contracts\n","operationId":"getContracts","parameters":[{"name":"category","in":"query","required":false,"description":"Filter by NFT category","schema":{"type":"string","enum":["parcel","estate","ens","wearable","emote"]}},{"name":"network","in":"query","required":false,"description":"Filter by network","schema":{"type":"string","enum":["ETHEREUM","MATIC"]}},{"name":"first","in":"query","required":false,"description":"Maximum number of contracts to return. Use 0 to return all results (default: 0)","schema":{"type":"number","default":0,"minimum":0}},{"name":"skip","in":"query","required":false,"description":"Number of contracts to skip for pagination (default: 0)","schema":{"type":"number","default":0,"minimum":0}}],"responses":{"200":{"description":"List of contracts with total count","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Human-readable name of the contract or collection"},"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Contract address"},"category":{"type":"string","enum":["parcel","estate","ens","wearable","emote"],"description":"NFT category type:\n- parcel: LAND parcels\n- estate: Estate (group of LAND parcels)\n- ens: Ethereum Name Service names\n- wearable: Avatar wearables\n- emote: Avatar emotes/animations\n"},"network":{"type":"string","enum":["ETHEREUM","MATIC"],"description":"Blockchain network:\n- ETHEREUM: Ethereum mainnet\n- MATIC: Polygon network\n"},"chainId":{"type":"number","enum":[1,137],"description":"Blockchain chain ID:\n- 1: Ethereum mainnet\n- 137: Polygon mainnet\n"}},"required":["name","address","category","network","chainId"]},"description":"List of contracts"},"total":{"type":"number","description":"Total number of contracts matching the query"}},"required":["data","total"]}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Error message"},"code":{"type":"string","description":"Error code"}},"required":["error"]}}}}}}}}}
```


---

# 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://docs.decentraland.org/apis/apis/marketplace-server/contracts.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.
