Back to Projects
Web DevelopmentBlockchain / Web3Database DesignTools and WorkflowDevOps / Cloud

Cardano Payroll System

Blockchain-based payroll platform that automates employee salary distribution through secure, transparent ADA transactions.

Cardano Payroll System

Tech Stack

Languages

JavaJavaJavascriptJavascriptTypescriptTypescript

Database Design

PostgreSQLPostgreSQL

Tools and Workflow

GitGitGitHubGitHubPostmanPostman

Web Development

Next.jsNext.jsSpringBootSpringBootTailwindTailwind

DevOps / Cloud

DockerDocker

🚀 Overview

Cardano Payroll is a production-grade, blockchain-integrated payroll platform designed for enterprises and distributed organizations operating on the Cardano network.

Unlike experimental blockchain payroll tools, this system is integrated into a corporate API ecosystem and deployed through automated CI/CD pipelines. It combines deterministic backend scheduling with on-chain ADA settlement, ensuring reliable, auditable, and repeatable payroll execution.

The platform is now maintained under a company-level Cardano API organization and follows modern DevOps practices including automated image builds, container registry publishing, and versioned deployments.

✨ Key Features

  • Automated ADA Payroll: Scheduled payments sent directly to employee wallets with no manual intervention.
  • Real-Time Transaction Monitoring: Live tracking of confirmations and wallet balances across the Cardano network.
  • Employee & Salary Management: Role-based employee records with configurable salary structures and schedules.
  • Immutable Audit Trail: Blockchain-backed payment history ensuring full transparency and compliance.
  • Flexible Scheduling Engine: Supports daily, weekly, biweekly, or monthly payroll cycles.
  • Spring Boot Backend: Robust REST API with secure authentication and blockchain integration.
  • React Frontend Dashboard: Intuitive interface for payroll management, reporting, and monitoring.
  • CI/CD-Driven Deployment: Automated Docker builds and versioned image publishing through GitHub Actions.
  • Container Registry Publishing: Backend and frontend images pushed to GHCR with SHA-based traceability and semantic version tags.
  • PostgreSQL Database: Reliable relational storage for employee data and payment logs.

⚙️ DevOps & Deployment Engineering

Technical Highlights

kuber-client-js Integration (Open Source Contribution)

As a contributor to kuber-client-js, I implemented it as the core blockchain interaction layer.

💡 Technical Challenges

Challenge 1: Preventing Double Payments in Blockchain Transactions

  • Problem: "If retries occur due to network failures, employees could accidentally receive duplicate payments."
    • Solution: "Implemented idempotent transaction flows with unique payment identifiers and state-tracking tables. Each payment transitions through pending, confirmed, or failed states, ensuring no duplicate settlement."

Challenge 2: Synchronizing On-Chain and Off-Chain States

  • Problem: "Blockchain confirmations are asynchronous, which can leave payroll records out of sync with actual transaction status."
    • Solution: "Built a reconciliation service in Spring Boot that polls blockchain confirmations, updates database states, and triggers event notifications to the frontend when payments are finalized."

Challenge 3: Role-Based Access Without Exposing Sensitive Data

  • Problem: "Different roles require different levels of visibility, but wallet and payroll data must remain secure."
    • Solution: "Implemented JWT-based authentication with Spring Security, role-specific endpoint permissions, and selective response masking so users only see relevant data."

Challenge 4: Scaling Live Payroll Dashboards

  • Problem: "Frequent balance checks and confirmation polling can overload both the database and blockchain RPC endpoints."
    • Solution: "Introduced caching layers, debounced polling strategies, and optional WebSocket updates to reduce RPC calls while maintaining near real-time feedback."

Challenge 5:Production Image Versioning & Release Control

  • Problem: "Manual Docker builds introduce drift and unreproducible deployments."
    • Solution: "Built GitHub Actions pipelines to automate container workflows, including versioned image tagging and publishing backend/frontend images to GHCR. The setup supports both branch- and tag-based releases, with deterministic SHA references for reliable traceability and easy rollbacks."

📈 Outcome / Lessons Learned

Enterprise Impact

  • Reduction in Manual Processing: Automated payroll cycles removed spreadsheet-based workflows.
  • Same-Day Settlement: Employees receive funds immediately after blockchain confirmation, compared to multi-day bank transfers.

Architecture & Engineering Insights

  • Reliable Transaction Design: Learned how to design idempotent systems where financial operations must never duplicate.
  • Blockchain-Backed Audit Trails: Every payroll action is cryptographically verifiable on-chain.

Technical Growth

  • Full-Stack Polyglot Architecture: Designed and deployed a cohesive system integrating Java (Spring Boot), TypeScript/React, PostgreSQL, and blockchain components.
  • Containerized Deployment: Built production-ready Docker environments for scalable enterprise services.
  • CI/CD Automation: Implemented pipelines with automated container publishing to a registry.
  • Release Engineering: Applied semantic versioning strategies for structured, traceable releases.
  • Secure Distribution: Managed registry authentication and ensured secure image publishing workflows.

Real-World Learning

  • Blockchain Timing Is Unpredictable: Systems must handle variable confirmation times gracefully.
  • Separation of Concerns Is Critical: Off-chain systems handle logic and scheduling, while blockchain handles settlement and verification.