A privacy-preserving NFT trading protocol built on the Aztec Network, featuring encrypted ownership, private cross-chain trading, and seamless integration with established L1/L2 collections.
Tezac revolutionizes NFT trading by leveraging Aztec's zkRollup architecture to encrypt ownership data and transaction details. This privacy-focused approach ensures complete confidentiality for trading, auctions, and gaming applications. By bridging established NFT collections from Layer 1 blockchains (e.g., Ethereum) to our protocol, Tezac uniquely combines the liquidity of major ecosystems with the privacy benefits of zero-knowledge proofs.
- Encrypted Ownership Records: All ownership data is fully encrypted on-chain
- Private Note Transactions: Trading occurs through encrypted private notes
- Identity Protection: User identities remain completely obscured during transactions
- Metadata Privacy: Optional encrypted metadata for complete NFT information privacy
2. Hidden Reserve Prices and Blind Auctions
- Confidential Reserve Pricing: Sellers can set reserve prices invisible to buyers
- Sealed-Bid Mechanisms: Participants submit encrypted bids visible only at settlement
- Private Auction Results: Only winning bids are revealed, preserving privacy for all participants
- Fair Settlement Guarantees: Zero-knowledge proofs ensure auction integrity
- Seamless L1 Integration: Bridge system connects with Ethereum, Polygon, and other major NFT ecosystems
- Wrapped NFT Mechanism: Original NFTs are securely wrapped for privacy-preserving transactions
- Cross-Chain Settlement: Complete trades across different blockchains without sacrificing privacy
- Flexible Unwrapping: Return NFTs to original chains when desired
- Verifiable Randomness: Cryptographically secure randomness for fair outcomes
- Private Participation: Join raffles and lotteries without revealing identity
- Transparent Results: Outcomes verifiable through zero-knowledge proofs
- Mystery Box Mechanics: Implement truly surprising reveals with privacy guarantees
- Time-locked Submissions: Prevent miners from exploiting pending transactions
- Encrypted Orders: Transaction details remain hidden until settlement
- MEV Protection: Built-in mechanics to prevent maximal extractable value exploitation
- Fair Market Access: Equal opportunity for all participants regardless of network advantages
Tezac builds on Aztec Network's privacy infrastructure with several key components:
- Smart Contract Layer: Privacy-preserving Noir contracts handling ownership and transactions
- Bridge System: Cross-chain communication protocol for L1/L2 NFT integration
- Frontend Application: User-friendly interface with complete wallet integration
- Privacy Middleware: Handles encryption, proof generation, and verification
Phase | Focus | Status |
---|---|---|
1 | Create Private NFT Contracts | WIP |
2 | Private Listings & Purchasing | WIP |
3 | Cross-Chain Bridge | Roadmap |
4 | Cross-Chain Trading | Roadmap |
5 | Auction Mechanisms | Roadmap |
- Docker: For containerized deployment and testing
- Node.js: >= v18.xx.x and <= v20.17.x (lts/iron)
- Yarn: 4.5.2 for dependency management
- Aztec Sandbox: 0.81.0 for local development
- Nargo: 1.0.0-beta.3 for Noir contract compilation
- Noirc: 1.0.0-beta.3 for zero-knowledge circuit development
-
Clone the repository
git clone https://github.com/0xandee/tezac.git cd tezac
-
Install dependencies
yarn
-
Set up environment
cp .env.example .env # Configure your environment variables
-
Prepare contract artifacts
yarn prep
-
Start development server
yarn dev
tezac/
├── src/
│ ├── components/ # Reusable UI components
│ ├── pages/ # Application pages
│ ├── contracts/ # Smart contract source code
│ ├── hooks/ # Custom React hooks
│ ├── styles.css # Global styles
│ ├── App.tsx # Main application component
│ └── index.tsx # Application entry point
├── artifacts/ # Compiled contract artifacts
├── tests/ # Test suite
├── docs/ # Documentation
└── public/ # Static assets
The React frontend uses TypeScript for type safety and implements form-based interactions for each NFT operation:
-
Local Testing
yarn dev
-
Building for Production
yarn build
Our Noir contracts implement privacy-preserving logic for NFT operations:
-
Compiling Contracts
yarn compile
-
Generating TypeScript Bindings
yarn codegen
The Sandbox is an Aztec network running fully on your machine, and interacting with a development Ethereum node. You can develop and deploy on it just like on a testnet or mainnet.
-
Install the sandbox
bash -i <(curl -s https://install.aztec.network)
-
Start the sandbox
aztec start --sandbox
-
Using the sandbox test accounts
aztec-wallet import-test-accounts
-
Creating an account in the sandbox
aztec-wallet create-account -a my-wallet --payment method=fee_juice,feePayer=test0
-
Deploying a contract
aztec-wallet deploy TokenContractArtifact --from accounts:test0 --args accounts:test0 TestToken TST 18 -a testtoken
-
Minting public tokens
aztec-wallet send mint_to_public --from accounts:test0 --contract-address contracts:testtoken --args accounts:test0 100
-
Checks your public account balance
aztec-wallet simulate balance_of_public --from test0 --contract-address testtoken --args accounts:test0
-
Transfer tokens from public to private state
aztec-wallet send transfer_to_private --from accounts:test0 --contract-address testtoken --args accounts:test0 25
-
Checking your private account balance
aztec-wallet simulate balance_of_private --from test0 --contract-address testtoken --args accounts:test0
We welcome contributions from the community! To contribute:
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Make your changes
- Ensure code quality
yarn formatting:fix yarn test
- Submit a pull request
- Code Style: Follow the project's formatting guidelines
- Commit Messages: Use clear, descriptive commit messages
- Documentation: Update relevant documentation for your changes
- Tests: Add tests for new features or bug fixes
- Telegram: Join our community here
- Discord: Coming soon!
- Issues: Report bugs or request features through GitHub Issues
- Twitter: Follow us for updates @Tezac_xyz
- Aztec Documentation
- Noir Programming Language
- Awesome Aztec
- Aztec Developer Resources
- Aztec Packages
- Aztec Standards by DeFi Wonderland
- Aztec Network: Zero to One!
- Understanding Aztec's Transaction Anatomy
- Transaction Lifecycle Flow Chart
- Privacy-Preserving NFTs: Technical Challenges
This project is licensed under the MIT License - see the LICENSE file for details.