# The contracts behind an edition

The code and art platforms have different responsibilities. Use the contract address together with the token ID when identifying an NFT.

## Immutables Code

The Ethereum mainnet [code contract, 0x499f4943fB86717adcE584927E6AB5a172f03001](https://etherscan.io/address/0x499f4943fB86717adcE584927E6AB5a172f03001#code) manages code-page NFTs and posted content history.

Reserving a page creates its NFT. An artist can hold that page NFT while publishing associated code posts. Each post is not automatically another NFT, and a code-page NFT is not an art edition.

The prospective name `code.immutables.art` would be a frontend branding change; it does not by itself change this contract or its token identities.

## Immutables Art

The Ethereum mainnet [art contract, 0xA8A6CB3978e2c4EdcF5A3d0cB3400E1E5D031479](https://etherscan.io/address/0xA8A6CB3978e2c4EdcF5A3d0cB3400E1E5D031479#code) records projects and issues edition NFTs.

A project references a particular code-post transaction. Each edition has a project, a number within that project and a global ERC-721 token ID. The viewer's `/#/<projectId>/<editionId>` URL uses project and edition numbers. `ownerOf` and `tokenURI` use the global token ID.

Keep the **code-post transaction hash** and **mint transaction hash** separate. The former identifies the referenced program; the latter reaches that edition's renderer as `transactionHash`. See [script inputs](/docs/script-api).

## Artist royalty managers

Each new art project receives a royalty-manager clone. Read `projectIdToRoyaltyAddress(projectId)` to identify the project's manager rather than assuming all projects share one address.

The manager holds incoming mint funds and releases them to configured recipients. Anyone can trigger release, but the caller does not choose new recipients. [Sales and royalties](/docs/royalties) explains artist administration and payee updates.

## Immutable code and project settings

The deployed Solidity is fixed reference material, while the contract exposes project-management functions. A lock covers specified fields and the contract owner can unlock it. Price, pause and other settings have their own rules. Read [project management](/docs/project-admin) for precisely what is fixed or changeable.

Source basis: the linked deployed sources, unchanged frontend deployment artifacts and `BlockchainProvider` in the art client. Read current chain state for live ownership or configuration.
