User Journeys
Balary separates institution administration, HR preparation, Finance funding and employee settlement.
Institution admin
- Connect wallet and authenticate.
- Create a local institution record.
- Prepare the on-chain registration transaction.
- Broadcast exactly the transaction returned by the backend.
- Confirm the transaction hash so the backend can validate the receipt.
- Add HR and Finance role wallets through the same prepare/confirm pattern.
The backend checks role membership before exposing privileged actions.
HR
- Create or import employee records.
- Create a payroll run with funding and withdrawal windows.
- Upload the payroll CSV.
- Validate the file.
- Encrypt the payroll for the selected TEE.
- Prepare and broadcast the payroll draft.
- Prepare and broadcast the FCC computation request.
- Track the instruction until the signed confidential result is verified.
- Open funding when the payroll reaches the correct on-chain state.
Finance
- Open the funding context.
- Review the exact remaining payroll amount, balance and allowance.
- Approve only the amount currently required.
- Fund the payroll vault.
- Wait for receipt synchronization and activation evidence.
Employee, core payroll lane
- Authenticate using the wallet registered for the employee.
- List eligible payrolls.
- Request withdrawal preparation using only the payroll ID.
- The backend authorizes destination, amount, nonce, root and expiry.
- Sign the returned authorization digest.
- Submit the signature.
- The approved relayer submits the encrypted withdrawal request.
- FCC/TEE verifies the private balance and signs the state transition.
- The gateway/vault validates the result and settles.
The current serializer rejects client-supplied authorization fields at withdrawal preparation time.