Unlock Protocol v15: “The Economics Update”
New capabilities for rewards, renewals, and managing memberships and subscriptions in v15 of the Unlock Protocol smart contracts.
The Unlock Labs team has been hard at work adding new capabilities to the core Unlock Protocol smart contracts. This upgrade includes improved mechanics for protocol economics driven by network rewards and subscription renewals.
Additionally, there are several improvements in existing features, gas optimizations and bug fixes.
The new Unlock version (v14) and PublicLock version (v15) will be released using a cross-chain DAO proposal in the coming weeks that, once passed, will deploy the upgrade on multiple chains at once.
What’s in this update
There are two significant upgrades in this release focused on economics:
A significant improvement to the governance token rewards mechanic for lock managers and projects that deploy paid memberships, paid subscriptions, and paid events
Major improvements to the referrer (affiliate) rewards approach and economics included in the protocol around subscription renewals
We’ll look at each of these in more detail.
Governance token rewards are now aligned with an L2-driven world
When Unlock Protocol was initially created, there was only one network — Ethereum mainnet.
To balance the competing requirements of incentivizing protocol usage and to address the reality that some actors would want to try to “game” those rewards, the value of a protocol governance reward for any particular transaction was capped by gas. In other words, the maximum reward that could be earned from a single transaction was capped at the gas fee for that same transaction.
This was to ensure that someone “buying memberships for themselves” couldn’t trigger an infinite money glitch, by acting as both buyer and seller on a transaction with a net-zero cost, and making money off the protocol reward.
At the time, this design decision was rational, because an actor trying to trigger an infinite money glitch in this manner would spend just as much on gas on mainnet to send the transaction as they were receiving in protocol rewards. In a single-chain, Ethereum-mainnet-only world, this design made sense, and it worked.
The landscape has changed since then. Most transactions now happen across the abundance of L2s where Unlock Protocol is deployed, including Base, Arbitrum, Polygon, Optimism, and many others. One trait all these L2s have in common is extremely low gas fees. As such, the economic incentive for deploying Unlock Protocol contracts was reduced if the size of the reward was capped by gas fees paid, since the maximum governance token reward is now capped at pennies or sub-pennies per transaction, since gas fees are so low across these L2s.
To increase incentives and align the protocol governance rewards with the current economics of these networks, the proposed change in this update is instead to cap the governance reward for paid, deployed contracts at half the protocol reward of the protocol itself, rather than capping it at the gas spent for the transaction.
(Today, the protocol reward that gets paid back to the Unlock Protocol DAO itself is set to 1% of any transaction value. With this proposed update, the governance token reward to a referrer would therefore be set to 0.5%, half of the protocol reward that goes to the Unlock DAO.)
Compared to the prior economics, this change has the potential to greatly increase the governance rewards to those building on or referring others to the protocol.
Referrers (affiliates) are rewarded more, and more often
The other main economic updates in this release center around how referrer / affiliate rewards are paid out. Unlock Protocol has had built-in referral and affiliate reward payouts since 2022.
Referrer rewards for both affiliates and protocol referrers
Referrer rewards in this version of the protocol are now two-fold.
An affiliate referrer that will get paid a fraction of the price of each key sold (like an affiliate program)
A (possibly different) protocol referrer will be rewarded with UP tokens for using the protocol.
Prior to this upgrade, both were paid to a single address. Now, one can specify an address for the affiliate reward and another address for the governance protocol reward.
Rewards for recurring subscription purchases
In prior versions of the protocol, a referrer / affiliate was only paid on the initial purchase of a membership or subscription. In this update, referrers / affiliates will now also receive their referrer bonuses for future renewals as well. This can significantly increase the referrer and governance rewards for those who recommend recurring onchain subscriptions that are implemented using the protocol.
Multiple purchases
This upgrade also has a related update where a purchaser can purchase multiple time periods at once. For example, if a purchaser wanted to pre-pay for three months of a subscription that renews monthly, they will now be able to do so.
What else changed in v15?
Burn / disable a lock entirely: “Burning” a lock will disable all features and make existing data inaccessible. At the current time, this can not be reversed (even though nothing is deleted from chain storage).
Add hasRole hook: A new hook can be used to programmatically set a role based on a third party custom contract.
Add the ability to execute more transactions as part of a deployment: Some actions (for instance, set another lock manager) can now be added directly to the transaction where a lock is created.
Use struct to parse purchase args: The protocol now uses a new signature to parse purchase arguments, which is clearer and more flexible.
Emit PaymentReceipt event: A new event has been implemented for payment receipts.
Add ReferrerPaid event: A new event has been implemented for referrer payments.
Replace udt by governanceToken in Unlock contract: Abstract the details of the governance token of the contract to support UP or other future changes (udt has been kept for backwards compatibility reasons).
Upgrading across chains: The DAO proposal
The upgrade will be sent using a cross-chain proposal, following the pattern recently introduced and tested for Unlock Protocol governance across chains.
Through a single proposal, the protocol upgrade will be carried out on the following networks where Unlock Protocol is supported, including Base, Polygon, Ethereum mainnet, and over a dozen others. (You can find the full list here.)
The remaining chains will be upgraded through a secondary workflow using Unlock Labs multisigs.
How the DAO proposal for a protocol upgrade works
The DAO proposal will contain all calls necessary to be executed on the supported chains. Before sending the proposal, we will deploy the implementation contracts for Unlock version 14 and PublicLock version 15. Then the DAO proposal contains the following calls for each chain:
Upgrade Unlock contract to the latest version (through ProxyAdmin contract)
Call addLockTemplate to set v15 template
Call setLockTemplate to update publicLockVersion default version to v15
After/if the voting period ends successfully, the DAO proposal can be executed, sending all calls to their destination chains through Connext bridges. The call will be held for a cooldown period of 7 days. You can read more about the process in this dedicated post.
Timeline for the next steps in the DAO proposal
November 2024: Deploy protocol upgrade on the Sepolia network for testing
December 2024: DAO proposal submitted for production deployment
Upgrading your lock contract
If you are a lock manager, you will need to upgrade your lock contract to take advantage of the new features and improvements. To do so, follow the instructions provided in the Unlock documentation.
If you have any questions or issues with the upgrade process, please reach out in the Discord at https://discord.unlock-protocol.com.