Advanced ERC-1155 Smart Contract Creation

Job ID: 39848152

Budget: $30 – $250 USD

ERC-1155 Token Smart Contract Development

I am looking for an experienced Solidity developer to build a production-ready ERC-1155 smart contract with advanced features. The contract will serve as the foundation for a token collection, supporting both administrative minting and public minting with flexible sales mechanics.

The goal is to have a secure, audit-style contract that follows best practices and uses OpenZeppelin libraries wherever possible.

Core Requirements

The contract must include:

ERC-1155 standard (using OpenZeppelin)

Supply tracking per token (ERC1155Supply)

Minting and batch minting (admin + public)

Burnable tokens (ERC1155Burnable)

Role-based access control (MINTER, PAUSER, URI_SETTER, ADMIN)

Pausable/unpausable transfers (Pausable)

Updateable base metadata URI with {id} placeholder

Public payable minting with ETH payments and refund of excess

Withdraw function (owner/admin only)

Airdrop functions (multi-recipient and batch minting)

Advanced Features

Whitelist sale with Merkle proof verification

ERC-2981 royalties (default and per-token)

Per-wallet mint limits

Per-token maxSupply enforcement

Sale windows (start and end timestamps)

Emergency function to rescue ERC20 tokens sent by mistake

Reentrancy protection for payable functions

Deliverables

Smart Contract

Fully implemented ERC-1155 with all features above

Written in Solidity ^0.8.x

Using OpenZeppelin contracts (latest version)

Well-structured, maintainable, and gas-efficient

Documentation & Comments

Clear NatSpec comments on all major functions

Explanation of roles, events, and modifiers

Deployment Scripts

Hardhat or Foundry deployment scripts with configurable parameters

Basic Test Suite

Covering minting, whitelist, per-wallet limits, royalties, pausing, and withdrawing

Written in Hardhat, Foundry, or a testing framework of your choice

Optional (nice to have, not mandatory)

Example frontend integration snippet (React + Ethers.js) to interact with minting function

Expectations

Code must follow best security practices (checks-effects-interactions, reentrancy guards, proper access control).

Use OpenZeppelin whenever possible for reliability.

Deliver a clean, production-ready contract that could pass a professional audit.

Freelancer must provide ongoing clarification if any requirements are unclear.
Related categories: Ethereum Solidity Smart Contracts Cryptocurrency