Skip to main content
Running payroll pays many contractors at once, with each amount hidden on-chain. It is a four-step wizard: Select, Review, Run, Done. Your browser encrypts and proves each payout, you approve each in your wallet, and Confiroll fee-bumps every settlement, so you pay 0 XLM.

1. Select recipients and amounts

Choose who gets paid and how much. You can pick everyone, a saved group, or a manual multi-selection, and you set amounts from saved pay rates, inline edits, or an imported CSV.

All contractors

Add every Ready contractor to the run in one click.

A saved group

Select a group you defined earlier, such as a team or a region.

Manual multi-select

Check individual contractors to build a one-off batch.
Set amounts three ways: pull each contractor’s saved pay rate automatically, edit any amount inline in the selection table, or import a CSV of amounts and map it to your recipients.
Only Ready contractors are selectable. Anyone still in Invited or Onboarding appears in the selector as blocked, with the reason shown and a resend-invite shortcut, because a confidential payout needs the recipient’s viewing key, which exists only after they register. See Contractors.

2. Review

A full summary before anything settles. You see the batch in the clear. On-chain, each line stays hidden.

What you see

The payout count, the batch total, and every line with its recipient and amount, all rendered on your device from your private ledger.

What is hidden on-chain

Each individual amount. The chain records that the payouts settled. The amount is never a visible argument.

Funding check

A comparison of your available balance against the batch total, shown as “you have X available; this batch needs Y.”

Fees and time

Fees are 0, because every payout is fee-sponsored, alongside an estimate of how long the run takes.
If the batch total is more than your available balance, Confiroll blocks the run and shows an Add funds shortcut to Fund your balance. Once your balance covers the total, the run unblocks.

3. Run

Each payout moves through its own states live, one row at a time, so you always know exactly where the batch is. You approve each payout in your wallet as the transaction source. Because every payout is a transfer you authorize, a run of N payouts is N quick approvals, sequenced by the run screen so you sign them in order without losing your place. A running counter tracks progress, for example “4 of 12 settled,” and failed rows stay listed with a Retry action that rebuilds and resubmits just that payout.
You approve each payout as the sender, which is what keeps Confiroll non-custodial: it fee-bumps your signed transfer without ever holding your key. The run screen paces the prompts so a large batch stays manageable.

4. Done

A summary of the finished run, ready to prove, document, and export.

Settled versus failed

A count of what settled and what failed, with any failed rows retriable in place.

Proof links

An explorer link for every settled payout, so anyone can confirm that it settled. The amount stays hidden.

Generate payslips

Issue per-cycle payslips for the run, end-to-end encrypted to each contractor and anchored on-chain. See Payslips.

Export

Export the run for your records, matched against your private ledger.
The mapping of amount to contractor lives in your private ledger, kept encrypted on your side. On-chain confirms that each payout settled. The amounts are yours to see and to prove, and you can produce a verifiable disclosure later from Compliance.

FAQ

Each payout is a separate confidential transfer that you sign as the transaction source. Signing per payout is what keeps the flow non-custodial: Confiroll fee-bumps your signed transfer but never holds your key and never signs on your behalf. The run screen sequences the prompts so twelve payouts are twelve quick approvals in a row.
A failed payout does not stop the batch. The other rows continue, and the failed row stays listed with a Retry action that rebuilds the proof and resubmits just that one. The Done summary shows the settled count and any remaining failures so nothing is lost.
Payouts that already settled are on-chain and final. Any row that had not settled is safe to resume: reopen the run and the remaining rows pick up from their last state, because your keys and the batch definition are on your device and the ledger records what settled.
Once a payout settles it is final and cannot be changed. Rows that have not settled yet can be retried or left out, and you can start a follow-up run for anyone you want to add or adjust. Amounts and recipients are locked per payout at the moment you sign it.