An Open, Transparent & Scalable Taxation System
OpenTax is a decentralized taxation platform built on Ethereum blockchain that aims to transform how taxes are levied, paid, tracked, and audited in India.
The system replaces fragmented, opaque, and centralized tax portals with a single transparent blockchain-based ecosystem, enabling citizens, government admins, and auditors to interact with taxation data in a trustless and verifiable manner.
This project was developed as an academic project for Blockchain Technology course.
Motivation & Background
India’s taxation infrastructure faces several systemic issues:
- Multiple tax portals for GST, Income Tax, etc.
- Centralized databases prone to manipulation
- Limited visibility into government fund allocation
- High dependency on intermediaries for tax compliance
- Lack of real-time auditing for citizens
Citizens pay taxes but cannot verify how funds move once collected.
Audits are post-mortem and controlled by a limited authority.
OpenTax was conceptualized to solve this using blockchain.
Problem Statement
The core problems addressed:
Fragmentation
- Separate infrastructure for each tax type
- Poor user experience and repeated compliance effort
Lack of Transparency
- Citizens cannot track fund allocation
- Government accounts are opaque
Centralized Trust Model
- Data integrity depends on central authorities
- Susceptible to corruption and tampering
Complex Tax Compliance
- Requires third-party services
- Increases cost and reduces trust
Proposed Solution
OpenTax introduces a decentralized taxation ecosystem using:
- Ethereum blockchain as a public ledger
- Smart contracts for automated tax logic
- Tokenized INR (RupeeToken) for value exchange
- Web3-based DApp for user interaction
Core Idea
Every tax payment, bill generation, fund transfer, and refund is executed and recorded on-chain, making the entire taxation lifecycle transparent, immutable, and auditable.
High-Level System Overview
Actors in the System
- Normal Users (Citizens / Businesses)
- GST Admins
- Income Tax Admins
- Privileged Admins
- Token Minters
- Public Auditors (read-only)
Key Capabilities
- Unified tax payment interface
- Role-based access control
- Real-time auditability
- Automated fund splitting (CGST/SGST/IGST)
- On-chain record of government accounts
System Architecture
Architectural Layers
Client Layer
- Browser-based React DApp
- MetaMask wallet integration
- Web3 provider injected into browser
Application Layer
- ReactJS + Material UI
- useDApp & ethers.js for blockchain interaction
- Role-based UI rendering
Smart Contract Layer
- Multiple modular Solidity contracts
- Deployed on Ethereum (Ganache for testing)
Blockchain Layer
- Immutable transaction ledger
- Public auditability
The system architecture ensures separation of concerns, modularity, and future scalability.
Access Control & Security Model
Access is enforced using a Privileges Smart Contract, which defines:
- Privileged Admins
- GST Admins
- Income Tax Admins
- Token Admins
- Authorized Minters
Each sensitive function across contracts checks:
msg.sender role- Explicit permission mapping
This ensures:
- No unauthorized minting
- No illegal fund transfers
- No privilege escalation
Smart Contract Architecture
OpenTax uses five core smart contracts that work together:
Privileges Contract
Purpose
- Centralized role & permission management
Responsibilities
- Add/remove admins
- Verify role permissions
- Enforce access control
Why it matters
- Prevents unauthorized access
- Enables governance-level control
- Used by all other contracts
RupeeToken Contract (ERC20-based)
Purpose
- Tokenized representation of Indian Rupees
Key Features
- 2 decimal precision (paise)
- Mint & burn controlled by authorized minters
- Used for all tax payments and refunds
Why Tokenization?
- Enables atomic transfers
- Ensures transparent fund movement
- Simplifies on-chain accounting
Interactions Contract
Purpose
- Central coordination contract
Responsibilities
- Government account creation
- Fund transfers between accounts
- Fiat ↔ token ledger mapping
- Admin request handling
Key Design Decision
Acts as a single source of truth for:
- Government accounts
- Requests
- Fiat transaction verification
GST Contract
Purpose
- Handle GST-specific logic
Admin Capabilities
- Create GST user accounts
- Generate GST bills
- Transfer refunds
User Capabilities
- View bills
- Pay GST
- Automatic CGST/SGST/IGST split
Notable Feature
- Interstate vs Intrastate GST handled automatically via smart contracts
Income Tax Contract
Purpose
- Handle income tax lifecycle
Admin Capabilities
- Add taxpayers
- Add yearly tax liabilities
- Update outstanding amounts
User Capabilities
- View tax history
- Pay partial or full tax
- Automatic outstanding balance updates
Transaction Flow Examples
GST Payment Flow
- GST Admin generates bill
- User views bill via DApp
- User pays bill using RupeeToken
- Smart contract - Splits funds (CGST/SGST or IGST), Transfers to government accounts
- Transaction is publicly auditable
Token Minting Flow
- Token Admin verifies incoming fiat payment
- RupeeToken is minted to user wallet
- Ledger entry stored on-chain
- Balance immediately reflected in DApp
DApp Implementation
Frontend Features
- Wallet connect & auto-detection
- Dynamic UI based on user role
Separate modules for:
- Privileged Admin
- Minter
- GST
- Income Tax
UI Highlights
- Admin dashboards
- Form-based interactions
- Real-time balance updates
- Transaction confirmation via MetaMask
Tech Stack
Blockchain & Smart Contracts
- Ethereum
- Solidity
- Remix IDE
- Ganache
Web3
- MetaMask
- ethers.js
- useDApp
- web3.js
Scalability & Extensibility
The platform is designed to support:
- Additional tax types (Road Tax, Stamp Duty, etc.)
- Generic tax modules
- Central & state-level expansion
- Automated banking integrations
- Public fund tracking (relief funds, schemes)
My Role & Contributions
- Designed entire system architecture
- Implemented all major smart contracts
- Built React-based DApp
- Integrated Web3 wallet & contract logic
- Led end-to-end development & testing
Key Takeaways
This project demonstrates my ability to:
- Design complex Web3 systems
- Write secure, modular smart contracts
- Build full-stack decentralized applications
- Apply blockchain to real-world governance problems
OpenTax reflects my interest in transparent public infrastructure and decentralized finance systems.