Payroll
For technical documentation, see PayrollManager
Each Mezzanine company comes natively with a way to compensate employees in both cash and equity. Employees will pay cash to employees in the company's denomination asset, while equity compensation will always be in the company's common shares.
When offering a candidate a position, six variables must be determined:
The employee's annual cash salary
The employee's start date, which must be at least 24 hours into the future
The employee's equity payments, if applicable
A vesting duration, if applicable
A vesting cliff, if applicable
A vesting initial unlock, if applicable
The candidate can then accept their offer via a cryptographic signature. If accepted, they will be minted a soulbond, ERC721 NFT upon their hiring. This NFT contains corresponding information on-chain related to the employee's cash salary, equity payments, start date, etc. These NFTs and their corresponding on-chain data are preserved even if the company terminates the employee or the employee resigns. The preservation of this data could subsequently enable future protocol functionality, such as an on-chain credit score.
Once the employee's start date has passed, the employee will earn their salary linearly on a second-by-second basis. For example, if an employee has a $365,000 annual cash salary, they will be able to claim $1,000 every 24 hours, if they desire.
Anyone can claim the employee's cash compensation on their behalf. For example, company Foo may decide to claim employee Alice's cash compensation on her behalf to better reflect their current cash balance.
In the unlikely scenario that a company is unable to pay an employee, any owed cash will be tracked such that the employee can claim it at a future time when the company's treasury has a sufficient cash balance. This remains true even if the employee is terminated or resigns.
Similar to an employee's cash compensation, an employee's equity compensation can be claimed on a second-by-second basis, can be claimed on behalf of the employee by anyone, and begins after an employee's start date. However, an employee's equity payments must contain a vesting duration and may contain an initial unlock and a cliff. Specifically, the employer must decide how many shares the employee will be paid over a specified period. For example, Foo may pay Alice 100,000 common shares over four years with a 1-year cliff and an initial unlock of 25,00 shares.
The amount of common shares used for an employee's equity payments must be available in the company's treasury before their hiring, being given a new vesting schedule, or increasing an employee's equity compensation. If available, these shares will then subsequently be vested. For example, increasing Alice's equity compensation from 100,000 to 200,000 common shares would require a treasury balance of at least 100,000 common shares.
Unlike other parts of the protocol, payroll for a Mezzanine company does not require ERC20 approvals. An employee will be paid according to their specified salary, so long as there is a sufficient treasury balance.
At any point in time, a company can terminate or increase an employee's unpaid time off. The latter is akin to furloughing an employee in cases where the employee is not requesting a leave. Both of these actions will collect the employee's cash compensation before taking effect as a means to impede exploitation by the employer. Notably, an employee's unpaid time off due to a leave or furlough does not have any effect on their equity compensation or vesting. The termination of an employee will immediately end all future cash compensation and transfer any unvested shares to the company's treasury. Any severance in cash or equity should be paid directly to the employee before their termination.
An employee's resignation functions similar to an employee's termination. However, an employee can choose an end date, which can be up to 90 days in the future. After the specified end date, the employee will no longer earn any cash or equity compensation. Any shares that are no longer applicable to the employee's vesting schedule will immediately be transferred to the company's treasury. For example, if Alice has 100,000 shares vesting over 2 years and resigns such that her end date is 1 year from her start date, 50,000 shares will immediately transferred to her employer's treasury upon her resignation. A company cannot resign on Alice's behalf. Rather, she must choose to resign, herself.
Some actions regarding payroll require a 24-hour time delay before they can be executed. This time delay is required since a compromised admin could potentially drain a significant amount of company funds instantaneously due to the lack of ERC20 approvals. A pending action can be canceled by the board of directors, an admin, the Mezzanine team, or a Defender.
Defenders are a set of accounts determined by the Mezzanine team, who are solely responsible for increasing the security of the protocol. They are detailed under the Smart Contract Security section of this documentation
Actions that require a time delay include:
Changing an employee's cash salary
Increasing an employee's equity payments and/or their vesting duration
Setting a new equity payment schedule for an employee
Paying cash directly to an employee
Paying common shares directly to an employee
It should be noted that an employee must cryptographically accept any changes to their equity payments. This is to prevent a company from arbitrarily increasing the employee's vesting duration without sufficiently increasing their equity compensation.
Contractors can easily be hired via Mezzanine's payroll functionality. The process is similar to hiring any employee. However, the contractor's cash compensation and equity compensation should be set to zero. Afterward, the employer can pay the contractor directly in cash or common shares as agreed upon. Again, it should be noted that paying cash or common shares directly to a contractor requires 24 hours to pass.
All of the above admin-like functionality, such as hiring an employee, changing an employee's cash salary, terminating an employee, etc. are executable by the company's board of directors and a set of admins who are set by the board of directors. The board can add or remove admins at any point in time. Admins should be chosen with great care, since, if compromised or malicious, they could potentially steal funds. However, all routes of exploitation, such as hiring themselves with a bogus salary or paying cash directly to themselves, would require a minimum of 24 hours to pass. During this period, the board or other admins could terminate the malicious hire or cancel any malicious pending actions.
The board of directors may decide to assign admins once the company grows significantly and believes that it is no longer feasible for the board to manage the company's payroll.
Last updated