Your salary. Nobody else’s business.
KavachPay is the first private payroll protocol on Solana with automatic tax deduction. Salary amounts are encrypted inside MagicBlock’s Private Ephemeral Rollup TEE (Intel TDX hardware). Solana Explorer shows one settlement transaction. Nothing else. Ever.
Every payment on Solana is 100% public.
When your company pays your salary in USDC — your colleague can search your wallet on Solana Explorer and see exactly how much you earn. Your competitors can see every vendor payment. Your employees can see each other’s salaries.
This is why enterprises refuse to use Solana for real business payments.
KavachPay fixes this.
Employer enters: gross salary for 5 employees
Inside Private ER TEE (Intel TDX):
-> TDS (10%) calculated privately
-> PF (12%) calculated privately
-> Net salary calculated privately
-> Three private transfers executed
On Solana Explorer:
-> One settlement transaction
-> Amount: [hidden]
-> Recipients: [hidden]
-> Memo: [hidden]
-> Nothing else
The innovation: Automatic TDS + PF deduction computed inside TEE. No crypto payroll app does this anywhere. Not on Solana, not on Ethereum, not on Aleo.
| Technology | How KavachPay Uses It |
|---|---|
| Private Ephemeral Rollup (TEE) | Salary amounts + memos encrypted in Intel TDX hardware. Nobody reads this — not MagicBlock, not validators, not anyone |
| Ephemeral Rollup | Real-time payroll session at 10ms block time. Batch execution of all employee payments |
| Permission Program | Employer gets AUTHORITY + TX_LOGS. Each employee gets TX_BALANCES for their account only. Auditor gets temporary TX_LOGS access |
| Magic Router | Single RPC endpoint auto-routes delegated accounts to ER, undelegated to Solana |
| Magic Actions | Automatic settlement triggered on ER commit. Payroll finalizes without manual intervention |
Remove Private ER -> every salary becomes public on Solana Explorer -> product has zero value. Private ER is not optional. It IS the product.
For each employee (e.g. India):
Gross: 1,00,000 USDC
TDS: - 10,000 USDC -> Tax wallet (private)
PF: - 12,000 USDC -> PF wallet (private)
Net: 78,000 USDC -> Employee (private)
All three transfers execute inside Intel TDX.
None of these amounts ever touch Solana mainnet.
Only the final settlement proof is recorded on-chain.
This is what Solana Explorer shows after a full payroll batch for 5 employees:
Transaction: 5dKm8Nu2mdoa6PlH9nBKFeF...
Timestamp: Mar 22 2026 · 11:38:37 UTC
Amount: [hidden]
Recipients: [hidden]
Memo: [hidden]
Salaries: [hidden]
That is the entire public record. Nothing else is visible. Ever.
No existing crypto payroll app calculates and splits tax automatically inside a TEE.
| Country | TDS / Income Tax | PF / Social Security |
|---|---|---|
| India | 10% TDS | 12% PF |
| United States | 22% Federal | — |
| United Kingdom | 20% Income Tax | 12% NI |
Three private transfers per employee:
All computed and executed inside Private ER TEE. No amounts ever visible on-chain.
┌─────────────────────────────────────────────────────┐
│ EMPLOYER │
│ Adds employees + gross salaries │
└──────────────────────┬──────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────┐
│ SOLANA MAINNET │
│ init_payment() — locks USDC in escrow PDA │
│ delegate_payroll() — sends to Private ER │
└──────────────────────┬──────────────────────────────┘
│ delegation
▼
┌─────────────────────────────────────────────────────┐
│ MAGICBLOCK PRIVATE ER (Intel TDX) │
│ │
│ ┌──────────────────────────────────────────────┐ │
│ │ TRUSTED EXECUTION ENVIRONMENT │ │
│ │ │ │
│ │ • Receives encrypted salary amounts │ │
│ │ • Calculates TDS + PF privately │ │
│ │ • Executes three transfers per employee │ │
│ │ • Permission Program enforces access │ │
│ │ • Hardware attestation via Intel TDX │ │
│ │ │ │
│ │ NOBODY CAN READ THIS — not even MagicBlock │ │
│ └──────────────────────────────────────────────┘ │
│ │
│ Validator: FnE6VJT5QNZdedZPnCoLsARgBwoE6DeJNjBs │
└──────────────────────┬──────────────────────────────┘
│ commit + Magic Action
▼
┌─────────────────────────────────────────────────────┐
│ SOLANA MAINNET │
│ finalize_payroll() — Magic Action auto-triggers │
│ One settlement transaction recorded │
│ Amount: hidden · Memo: hidden · Recipients: hidden│
└─────────────────────────────────────────────────────┘
Four instructions deployed on Solana Devnet:
| Instruction | Layer | Purpose |
|---|---|---|
init_payment |
Mainnet | Locks USDC in escrow PDA |
send_private |
Private ER | Stores encrypted PaymentRecord in TEE |
claim_payment |
Private ER | TEE decrypts for authenticated recipient |
settle |
Mainnet | USDC transfer, emits zero-detail Settlement event |
Blockchain
Frontend
Privacy Infrastructure
solana --version # 2.3.13
anchor --version # 0.32.1
node --version # 24.10.0
rust --version # 1.85.0
# Clone the repo
git clone https://github.com/BLOCK-PROGRAMR/kavachpay
cd kavachpay
# Install Anchor dependencies
npm install
# Install frontend dependencies
cd app && npm install
# Set up environment
cp app/.env.example app/.env.local
cd app && npm run dev
# -> http://localhost:3000
KavachPay is not a mixer and not anonymous rails.
This is payload confidentiality, not anonymity. Legally clean for enterprise use.
Built for MagicBlock Solana Blitz v2 — March 20–22, 2026
Theme: Privacy — building real-time and private apps on Solana
Why KavachPay wins the Private ER track: Remove Private ER -> every salary becomes public -> product is worthless. Private ER is not a feature. It is the entire foundation.
कवच — Indestructible armor. Your payments. Nobody else’s business.