> For the complete documentation index, see [llms.txt](https://cluster-protocol.gitbook.io/whitepaper/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cluster-protocol.gitbook.io/whitepaper/technical-architecture/smart-contracts-on-base.md).

# Smart Contracts on Base

<figure><img src="https://2560886960-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fo8bW2LCw3s9Oq1VIQ85p%2Fuploads%2FoiCT4vzRPriheksrUrXv%2Fimage.png?alt=media&amp;token=22ba4ddf-b121-4925-8d96-b52f1dbfc244" alt=""><figcaption></figcaption></figure>

Four smart contracts are deployed and verified on Base mainnet (Chain ID: 8453):

**DatasetNFT (ERC-721, UUPS Proxy)**&#x20;

Represents ownership of tokenized datasets. One NFT is minted per dataset. The NFT holder is the revenue beneficiary for all future purchases of that dataset.

**DatasetRegistry**&#x20;

Maps human-readable dataset slugs to on-chain token IDs. Enables discovery and lookup of datasets by name rather than raw contract addresses.

**PaymentRouter**&#x20;

Handles all dataset purchase transactions. When a buyer pays for a dataset, the PaymentRouter:

1. Verifies the payment amount
2. Transfers 85% to the dataset creator (NFT holder)
3. Transfers 10% to the protocol treasury
4. Transfers 5% to the referrer (if applicable)
5. Grants the buyer download access
6. Emits a PurchaseCompleted event

**ClusterToken (ERC-20)**&#x20;

The native protocol token on Base. Used for inference payments, dataset purchases, compute provisioning, staking, and governance.

`All contracts use OpenZeppelin libraries and the UUPS (Universal Upgradeable Proxy Standard) pattern for safe upgradeability.`
