Back to explore
Season 1 · DeFi & Open Finance

Open Payroll

Stream salaries on-chain. Employees earn every second.

Stage 1, ReviewDeFi & Open Finance

by bacteria_93 · submitted Jun 10, 2026

Community votes

0

Voting opens when this submission reaches the Top 10 stage.

Overall score

/ 100

Weighted average across the 5 judging criteria.

Description

01/03

What the builder said.

Written by the team, rendered as the markdown they typed in the submission wizard.

Open Payroll

Open Payroll is an on-chain payroll streaming protocol built on OPN Chain. It replaces end of month salary cycles with continuous, real-time streams salary accrues every second and employees withdraw whenever they want.

The protocol is fully deployed on OPN Testnet with a live frontend. Every payroll action funding, streaming, pausing, claiming is an on-chain transaction verified by the chain itself.


The Problem

Traditional payroll runs on fixed cycles. Employees wait two weeks or a month to access money they have already earned. For contractors, gig workers, and cross-border teams this creates real financial stress they have done the work but cannot access the value.

Existing Web3 salary solutions are either overly complex, gas-heavy, or built on chains that lack the infrastructure to make this practical at scale. OPN Chain changes that.


How It Works

Open Payroll has two roles employer and employee.

Employer flow

  • Connect wallet and fund the contract with OPN
  • Add employees by wallet address and set a daily salary rate
  • The contract converts daily rate to a per-second stream automatically
  • Pause streams at any time accrued salary is preserved, not lost
  • Resume or permanently terminate streams with one transaction
  • Withdraw unused funds from the contract at any time

Employee flow

  • Connect wallet and enter the employer's address
  • See a live counter ticking up in real time showing claimable balance
  • Claim all vested salary with one transaction
  • Claimable balance survives pauses nothing earned is ever lost

Key Features

  • Per-second salary accrualsalaryPerSec × (now − lastClaimed) calculated on-chain with no off chain dependency
  • Pause with preservation — earned salary is snapshotted into pendingAmount on pause so nothing resets
  • Multi-employee support — one contract manages unlimited salary streams for an entire team
  • Re-hire support — terminated employees can be re added without duplicate entries
  • Clawback protection — employers stay in full control with pause and terminate functions
  • Live frontend — real-time claimable counter updates every second in the browser
  • OPN Chain native — deployed on OPN Testnet, all transactions verifiable on the explorer

Technical Architecture

OpenPayroll.sol
├── depositFunds()           Employer funds the contract
├── addEmployee()            Start a salary stream
├── pauseStream()            Freeze accrual, snapshot earned amount
├── resumeStream()           Restart stream from current timestamp
├── terminateStream()        Permanently end stream
├── withdrawFunds()          Employer reclaims unstreamed funds
├── claimSalary()            Employee withdraws all vested salary
├── getClaimable()           View earned + pending amount
└── getEmployee()            Read full employee stream state

Smart contract

  • Solidity 0.8.24
  • OpenZeppelin ReentrancyGuard and Ownable
  • Pull based claim pattern contract never pushes funds unsolicited
  • Per second accrual with pendingAmount field for pause safety

Frontend

  • Next.js 14 App Router with TypeScript
  • wagmi v2 + viem for contract interaction
  • RainbowKit for wallet connection
  • Live salary counter hook using setInterval against on-chain timestamps
  • Deployed on Vercel with auto-deploy on push

Why This Matters

Payroll is one of the most universal financial primitives every organization that pays people needs it. Open Payroll brings this primitive on-chain in a way that is simple enough for a small team to use today, and extensible enough to grow into a full payroll infrastructure layer.

The per-second streaming model isn't just a technical feature it changes the relationship between work and payment. Value flows as work happens.


Roadmap

02/03

What ships next.

The builder's own next-quarter plan. Use it to gauge follow-through and ambition.

What Ships Next

Season 1 — Core (Shipped)

  • Per-second salary streaming contract on OPN Testnet
  • Pause with pending amount preservation
  • Multi-employee support with re-hire handling
  • Employer dashboard — deposit, add, pause, resume, terminate
  • Employee claim view with live real-time counter
  • Deployed on Vercel

Season 2 — Identity & Reputation

  • On-chain employer reputation scores track payment history and reliability
  • Employee work history as soulbound credentials tied to wallet
  • Verified employer badges via OPN identity layer
  • Employer trust score visible on the frontend before accepting a stream

Season 3 — Real World Assets

  • Multi-token payroll stream OPN and whitelisted ERC-20 tokens
  • Payroll backed by tokenized treasury assets
  • Automatic tax withholding allocation to a separate on-chain vault
  • Invoice generation tied to on-chain stream activity

Season 4 — AI & Compute

  • AI powered payroll analytics team cost breakdown, burn rate forecasting
  • Anomaly detection for unusual stream activity
  • Smart salary suggestions based on on-chain market data

2027 and Beyond

  • Mainnet deployment on OPN Chain
  • DAO payroll — proposal-gated salary adjustments via community vote
  • Mobile PWA — employees track earnings on the go
  • Global payroll infrastructure for cross-border, cross-chain teams
  • SDK for developers to integrate Open Payroll streams into their own dApps

On-chain proof

03/03

1 contract on OPN Chain.

The chain itself confirmed every deployment is valid, signed by the builder's wallet, and inside the season's window.

  • 01OpenPayrollPrimary

    0x9b5856C476E08C66B3523F5ab13dfACB31c266f7

    tx 0x0abae19a45e276fc2082f539b5cda15a71346968f6253fa0a59a48a50aa6292f

    deployed Jun 1, 2026 · block 17692046