Chainvoice is a decentralized invoicing platform that enables secure, transparent, and tamper‑proof invoice creation, management, and payments on blockchain. Powered by Ethereum-compatible smart contracts, Chainvoice automates payment flows and reduces reliance on intermediaries.
- Overview
- Features
- Project Structure
- Getting Started
- Frontend Setup
- Smart Contract Testing
- Deploy to Ethereum Classic
- Environment Variables
- Community and Support
Chainvoice transforms traditional invoicing by leveraging blockchain technology to create a trustless, automated payment system. Users can create invoices, manage payments, and track transaction history with complete transparency and security.
- Decentralized Invoice Creation - Create and manage invoices on-chain
- Multi-Token Support - Pay using native currency or ERC-20 tokens
- Immutable Records - Verifiable transaction history and status tracking
- Treasury Management - Built-in fee management for platform sustainability
- Privacy Protection - Encrypted invoice data with access control
- User-Friendly Interface - Intuitive web application with wallet integration
Chainvoice/
├── frontend/ # Web application (UI/UX, wallet integration)
├── contracts/ # Solidity smart contracts (core invoicing logic)
├── docs/ # Documentation and guides
└── README.md # This file
- Fork the repository
- Clone your fork
git clone https://github.com/yourusername/Chainvoice.git
cd Chainvoice
-
Navigate to frontend directory
cd frontend -
Install dependencies
npm install -
Start development server
npm run dev -
Open application Navigate to
http://localhost:5173in your browser
Prerequisites: Foundry must be installed
-
Navigate to contracts directory
cd contracts -
Run test suite
forge test -
Run tests with verbosity (optional)
forge test -vvv
- Foundry installed
- Wallet funded with ETC
- ETC RPC URL (e.g., Rivet, Ankr, Chainstack)
-
Configure environment variables
cp contracts/.env.example contracts/.env
Edit contracts/.env with your actual values -
Compile contracts
cd contracts
forge build -
Load environment variables
source .env -
Deploy to Ethereum Classic
forge create contracts/src/Chainvoice.sol:Chainvoice --rpc-url $ETC_RPC_URL --private-key $PRIVATE_KEY --broadcast -
Configure frontend
cp frontend/.env.example frontend/.env
Edit frontend/.env and set:
VITE_CONTRACT_ADDRESS=your_deployed_contract_address_here -
Restart frontend development server
cd frontend
npm run dev
#Ethereum Sepolia (11155111)
VITE_CONTRACT_ADDRESS_11155111=0x54a542dCDC306eE281b5De4613EcEfe6e6ABc562
#Ethereum Classic (61)
VITE_CONTRACT_ADDRESS_61=0xD044A85a5daC307217B9bF313A90E8a60AF7DdCe
#Polygon Mainnet (137)
VITE_CONTRACT_ADDRESS_137=0xD044A85a5daC307217B9bF313A90E8a60AF7DdCe
#Project ID
VITE_WALLETCONNECT_PROJECT_ID=Your Project ID can be obtained from https://dashboard.reown.com/
⚠️ Security Note: Never commit.envfiles to version control. Keep your private keys secure.
Join our community for support, updates, and discussions:
- Telegram - t.me/StabilityNexus
- Discord - discord.gg/YzDKeEfWtS
- X (Twitter) - @StabilityNexus
- Medium - news.stability.nexus
- LinkedIn - linkedin.com/company/stability-nexus
- YouTube - youtube.com/@StabilityNexus
We welcome contributions! Please read our contributing guidelines and submit pull requests for any improvements.
Before making or updating any smart contract changes, please review the Smart Contract Contribution Guidelines to ensure compliance with testing, design, and review requirements.
Built with ❤️ by Stability Nexus.

