# Smart Contracts

### Zora Protocol

The Zora Protocol extends the base ERC-721 NFT Protocol, enabling markets to be owned directly by token creators. This extension, known as cryptomedia, is intended to serve as a building block to be composed and built on by the community.&#x20;

{% hint style="info" %}
To learn more about cryptomedia, [read our primer](https://cryptomedia.wtf/).
{% endhint %}

The Zora Protocol is composed of two contracts, which form the basis for cryptomedia. The contracts are deployed on the following networks and addresses:

| Contract | Network        | Address                                       |
| -------- | -------------- | --------------------------------------------- |
| Media    | Mainnet        | `0xabEFBc9fD2F806065b4f3C237d4b59D9A97Bcac7`  |
| Market   | Mainnet        | `0xE5BFAB544ecA83849c53464F85B7164375Bdaac1`  |
| Media    | Rinkeby        | `0x7C2668BD0D3c050703CEcC956C11Bd520c26f7d4`  |
| Market   | Rinkeby        | `0x85e946e1Bd35EC91044Dc83A5DdAB2B6A262ffA6`  |
| Media    | Polygon        | �`0x6953190AAfD8f8995e8f47e8F014d0dB83E92300` |
| Market   | Polygon        | `0xE20bd7dC76e09AEBC2A9A732AB6AEE616c5a17Eb`  |
| Media    | Polygon Mumbai | `0xabEFBc9fD2F806065b4f3C237d4b59D9A97Bcac7`  |
| Market   | Polygon Mumbai | `0xE5BFAB544ecA83849c53464F85B7164375Bdaac1`  |

To read more about the contract architecture, or to view the source code, visit the [Github repository](https://github.com/ourzora/core). The whitepaper is also available [here](/zoraos/dev/smart-contracts/whitepaper.md).

The Zora protocol is available via NPM:

{% tabs %}
{% tab title="Yarn" %}

```bash
yarn add @zoralabs/core
```

{% endtab %}

{% tab title="NPM" %}

```bash
npm i -S @zoralabs/core
```

{% endtab %}
{% endtabs %}

### Auction House

The Zora Auction House is an open and permissionless system that allows any creator, community, platform or DAO to create and run their own curated auction houses.

These auction houses run reserve timed auctions for NFTs, with special emphasis given to the role of curators. If an owner of an NFT chooses to list with a curator, that curator can charge a curator fee and has to approve any auction before it commences with that curators auction house.

Anyone is able to run an NFT auction on the protocol for free by simply not specifying a curator.

The Zora ethos is to create public goods that are either owned by the community or by no one. As such, we have deployed this without admin functionality, and is therefore entirely permissionless and unstoppable.

The Auction House is currently deployed at the following locations:

| Network        | Address                                      |
| -------------- | -------------------------------------------- |
| Mainnet        | `0xE468cE99444174Bd3bBBEd09209577d25D1ad673` |
| Rinkeby        | `0xE7dd1252f50B3d845590Da0c5eADd985049a03ce` |
| Polygon        | `0x48F1C97259Dc7f3900965391651693BaeBfd59A2` |
| Polygon Mumbai | `0x6953190AAfD8f8995e8f47e8F014d0dB83E92300` |

The code is available on [Github](https://github.com/ourzora/auction-house). It can also be installed via NPM:

{% tabs %}
{% tab title="Yarn" %}

```bash
yarn add @zoralabs/auction-house
```

{% endtab %}

{% tab title="NPM" %}

```typescript
npm i -S @zoralabs/auction-house
```

{% endtab %}
{% endtabs %}


---

# 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://ourzora.gitbook.io/zoraos/dev/smart-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.
