# 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](https://ourzora.gitbook.io/zoraos/dev/smart-contracts/whitepaper).

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 %}
