How do companies run crypto payroll without exposing salaries?

How do companies run crypto payroll without exposing salaries? They pay each salary from a private company balance into a private balance that the employee's existing wallet controls, so the run never appears on-chain as a list of wallets and amounts. Hinkal Prime does this as one batch: a finance team uploads a CSV of up to 500 rows, an Owner approves and signs once, and every deposit into Hinkal is screened against Chainalysis.

What a public payroll run exposes

On a public chain, a salary is a transfer anyone can look up. The people who look are the ones you already deal with: a colleague, a contractor, a vendor, the next person an employee pays.

A salary payment exposes who was paid, how much and when.

The payroll wallet exposes every colleague's pay and the balance left after the run.

The employee's wallet exposes their pay history to everyone they pay from it later.

Pay is recurring, so one known address plus a regular cadence is enough to read a full compensation history. The 2026 exposure report on public crypto payroll walks through what each transfer reveals.

Crypto industry professionals paid in crypto, 2024
9.6%
Crypto salaries paid in USDC or USDT
Over 90%
Independent workers who would accept stablecoin payouts
57%
Stablecoin supply on Ethereum and Tron, 16 October 2026
Over 79%

The first two figures come from Pantera Capital's Blockchain Compensation Survey 2024: 9.6% of respondents were paid in crypto, and USDC (63%) and USDT (28.6%) made up over 90% of crypto salaries. The 57% comes from a Stripe survey of more than 2,300 independent workers in 20 countries, published August 2026. On 16 October 2026, Ethereum held $144.5 billion and Tron $95.0 billion of the $302.9 billion in stablecoins tracked by DefiLlama.

Most crypto salaries are paid in USDC and USDT, and most stablecoins sit on Ethereum and Tron. Both are public ledgers. More figures are in 20 crypto payroll statistics for 2026.

How Hinkal Prime pays salaries privately

Hinkal Prime is the organization dashboard for private payouts. The company's private balance sits inside the Hinkal smart contract and is controlled by the organization wallet.

A payout with Confidential Settlement deposits funds into the Hinkal smart contract and associates the deposit with the employee's public address. Nothing arrives at the employee's address on-chain. The employee sees a private balance by connecting that same wallet to Hinkal Pay.

Paid from the private balance, the payout has no visible origin either. Observers see deposits into the Hinkal smart contract without attribution to the wallets behind them. A batch settles as one authorized run, so the organization signs once for the whole file.

Owner

Connects the organization wallet. Signs payouts, shields and unshields. Approves or rejects what Members prepare, and invites the team.

Member

Works without a wallet. Prepares single and batch payouts for approval, creates receive requests, and sees balances, history and analytics. Cannot sign or move funds.

Delivery is chosen per row. Confidential pays into a private balance. Direct is a standard on-chain transfer. Prime runs on Ethereum, Arbitrum, Polygon, Base, BNB Chain, Tempo, Robinhood Chain, Arc, Solana and Tron.

What stays public: the organization wallet balance behaves like any other address, rows sent with Direct delivery are ordinary transfers, and a payout from the public balance leaves from the connected wallet. Shield first, pay from the private balance and use Confidential delivery to keep both ends of the run private.

A payroll run, step by step

1

Top up the private balance

The Owner shields stablecoins from the organization wallet into the private balance, or collects funds into it with a Receive request link. The deposit is screened against Chainalysis on the way in.

2

Build the CSV

Four columns: recipient, amount, token, delivery. One employee per row, up to 500 rows in a single batch. Delivery is Confidential or Direct.

3

Upload and validate

Every row is checked before anything is signed: address against network, amount against the minimum, token symbol, delivery value. A problem in one row does not block the rest. Fix the file and upload it again.

4

Submit for approval

A Member who holds no keys submits the batch. It lands in Pending Payouts as one entry containing every row, with the description the preparer left.

5

Approve and sign once

The Owner reviews the recipients, totals per token and the Confidential and Direct split, approves, and signs once with the organization wallet. The payout is marked Completed.

6

Employees see their pay

Each employee connects the wallet they were paid to at Hinkal Pay. No Hinkal account and no new wallet. From there they can hold the balance, send from it, or withdraw to their wallet.

7

Reconcile

Transaction History records batch payouts per recipient, so reconciliation works row by row, and a Member can reconcile without wallet access. Analytics shows volume, payouts, active recipients and the confidential and public split.

For a chain-specific walkthrough, see how to execute confidential payroll payouts on Ethereum.

Book a demo

One-off payouts: Prime single payouts and Hinkal Pay

A contractor invoice or a one-off bonus goes through Single Payout in Prime. Pick the public or private balance, the recipient or a saved contact, the token, network, amount and delivery. A Member's single payout goes to the same approval queue as a batch.

Individuals and small teams paying from their own wallet can use Hinkal Pay. Send privately from the wallet balance or the private balance, or open Pay several people at once for a payroll or contractor run. A regular wallet address receives a standard transfer that comes from Hinkal, so the sender's wallet does not appear. If the recipient shares a Hinkal Deposit Address, the funds go straight into their private balance.

The same model works for contributor pay. See how DAOs can pay contributors without revealing compensation data.

Compliance and records

Confidential, not anonymous. Payroll stays private to counterparties, and the company decides who else sees it.

1

Screened at entry

Every deposit is screened against Chainalysis before it enters the private balance. It gets a depositId, permanently linked to the wallet that made it.

2

Checked on every move

To deposit, transfer privately or withdraw, a zero-knowledge proof shows the funds are not tied to any depositId linked to a sanctioned or high-risk address. The proof is checked against the current Chainalysis state.

3

Re-screened continuously

If a depositor address is flagged later, those funds lose eligibility for private transfers. They can only be withdrawn publicly, back to the original address.

Viewing keys

Share full transaction history, or specific transactions or a time range, with an auditor, regulator or counterparty.

Downloadable history

Export a complete record of the organization's activity when it is needed.

Per-recipient records

Every batch row is recorded with recipient, amount, token, network, source balance, delivery method and time.

Owner signature on every payout

Members prepare, Owners sign. Nothing moves while a payout sits in Pending Payouts.

Screening covers wallet addresses, not identity, and needs no personal information. The full model is on the Hinkal compliance page.

Four ways to run crypto payroll, compared

Each approach trades privacy, records and employee setup differently.

Approach
What employees and others can see
Compliance and records
Setup for employees
Paying from a public wallet
Every employee wallet, amount and pay date. Any employee can open the company wallet and read colleagues' pay and the balance left after the run.
A full public record. Approvals, roles and reconciliation depend on what the team builds around one wallet key.
A wallet address. Nothing else.
Payroll provider paying out on public chains
Each payout lands as a standard transfer. The sender may be the provider's wallet, but each employee's amount and pay date are public, and their wallet history stays readable to everyone they pay.
Usually the strongest. Contracts, invoices and payout records sit with the provider.
An account with the provider and a wallet address on file.
Privacy-chain payroll (generic)
Amounts and recipients are hidden on that chain. Funds moving on and off it pass through public chains, where those transfers can be seen.
Depends on the chain. Some offer selective disclosure for auditors. Screening and records vary.
A wallet for that network, often chain-specific versions of stablecoins, and a move back to reach apps and exchanges on Ethereum or Tron.
Hinkal Prime
Paid from the private balance with Confidential delivery, no company wallet appears as sender and no employee wallet as receiver. Observers see deposits into the Hinkal contract. Each employee sees their own balance. Direct rows are public.
Chainalysis screening at entry and continuously, a depositId per deposit, viewing keys, downloadable history, per-recipient records and an Owner signature on every payout.
No new wallet and no Hinkal account. Employees connect the wallet they were paid to at Hinkal Pay. Withdrawing to that wallet carries the 25 bps Hinkal fee.

Moving payroll to a separate network has its own costs. The migration tax compares moving a treasury to a privacy chain with adding privacy on Ethereum.

FAQ

Can employees see each other's salaries on Hinkal Prime?

No, when the run is paid from the private balance with Confidential delivery. Employee wallets do not appear as on-chain receivers, the organization balance stays private, and each employee sees only the balance their own wallet controls. Rows sent with Direct delivery are ordinary public transfers.

Do employees need a Hinkal account or a new wallet?

No. For Confidential Settlement they connect the wallet you paid to at Hinkal Pay, and the balance is there. For Direct delivery they receive a normal on-chain transfer.

How many employees can one payroll run pay?

Up to 500 rows per CSV file, one recipient per row, signed once by the Owner. Minimums are 0.00001 of a token, 1 USD of value for private transfers, and 20 USD of value for private transfers on Tron.

What does a confidential payroll run cost?

Batch payouts are charged per recipient at the rate for that send type. A send from the private balance to a private balance is 25 bps, or 0.25% of the amount. Network gas is separate.

How do auditors and accountants see payroll?

Through viewing keys and downloadable transaction history. A viewing key can share full history, or specific transactions or a time range, with an auditor or regulator. Prime's Transaction History records each batch per recipient for reconciliation.

Is confidential payroll anonymous?

No. Every deposit is screened against Chainalysis and keeps a depositId linked to the wallet that made it. Funds from an address flagged later can only be withdrawn publicly, back to the original address.

Run your next payroll on Hinkal Prime

Prime is available at prime.hinkal.io with Google sign-in. See what it does for finance teams on the Hinkal Prime page, or book a demo to walk through a payroll run with the team.

Book a demo