Skip to main content

Unlock Token (UDT)

The Unlock DAO Tokens — previously known as Unlock Discount Tokens — (UDT) are the governance tokens for the Unlock Protocol. Holders of UDT collectively form the Unlock DAO.


UDT are perfectly optional. Creators can deploy locks without knowledge of UDT and their members can similarly purchase membership without knowing about UDT.

UDT tokens were created on Ethereum, and have also been bridged to multiple side-chains and networks such as Polygon, Gnosis Chain and others. The DAO may decide to add support for more networks:

ChainAddressBridge Address
Gnosis Chain0x8C84142c4a716a16a89d0e61707164d6107A98110x41a4ee2855A7Dc328524babB07d7f505B201133e
Base Sepolia0x68a8011d72E6D41bf7CE9dC49De0aeaEBAAC9b39

On Ethereum Mainnet, the contract uses OpenZeppelin's ERC20 libraries. It was initally deployed to be upgradable but the proxy admin renounced its role, making the contract not upgradable anymore.

UDT can optionnaly be distributed by the protocol itself when membership tokens are purchased or renewed. Please see below for details.

As of April 2023, the supply of UDT is fixed and no new UDT can be minted. Additionnaly, no UDT is currently being distributed by the protocol.


  • Gross Network Product This is the protocol's equivalent to a country's gross national product or income. It is the sum of all the value excchanged on a network. Since locks can be priced in any ERC20, the Unlock contract will consult local oracles (Uniswap) and convert the ERC20 price into the networks's native currency
  • Referrer an account address that can be set on any purchase (or renewal) transaction. This address should be considered to be the "implementer's" address but can be left up to the user.

Earning UDT

The protocol aims at being governed by its implementers and users. As such, it automatically distributes UDT tokens on every purchase of a membership, on applicable networks. When making a key purchase, the application sending the transaction can optionally add a referrer address to its transaction. This address will receive UDT, if applicable.

Example: Alice has deployed a lock (membership contract). Bob wants to purchase membership key from that lock. Bob uses an application created by Carol. The application will prompt Bob to submit a transaction through their wallet. This transaction has been constructed by Carol's application and Carol includes an address of hers as the referrer. After the transaction, Alice will receive the price of the membership paid by Bob, Bob will receive a membership NFT from Alice's contract and Carol will receive UDT tokens to join the protocol's governance.


The amount of tokens distributed is calculated by the Unlock contract based on several factors, including the gas consumed by the purchase transaction and the contribution to the gross network product (the gross network product or GNP is the sum of the value of all transactions sent to the network).

On the most popular networks on which the Unlock protocol has been deployed the Unlock contract owns a share of the governance tokens. These have been transfered from the DAO (or allocated by the Unlock Labs team as a way to boostrap adoption). These tokens are the ones that are distributed on each transaction.

On each purchase (or renewal) transaction, the membership contract will invoke the Unlock contract. The Unlock contract will then consider the value of the transaction (using an on-chain oracle if needed) relative to the sum of the values of all previous transactions (the gross network product). The Unlock contract also considers its own balance of tokens to determine exactly how many tokens should be distributed to the referrer address.

Formula: If N is the amount of tokens owned by the Unlock contract. For a GNP (gross network product) growth of 𝝙, the reward is N * 𝝙/(2*(1+𝝙)). This number is between 0 and 0.5 for any 𝝙 between 0 and Infinity, which means that even if the GNP where to grow by an infinite amount (which is impossible of course), the Unlock contract would only distribute half of its tokens...

Example: if the Unlock contract owns 10,000 tokens, if the previously recorded gross network product is 1,000,000 and the value of the transaction is 10, then, 𝝙 is 1/100,000 and the amount of tokens distributed is about 0.05.

One of the risks of this approach is that a malicious actor could create a lock with a very higth value and buy memberships for themselves, yielding large rewards of UDT tokens. In order to mitigate that, the amount of UDT paid by the Unlock contract is also capped by the gas spent by the transaction (the Unlock contract uses and Oracle to determine the price of UDT tokens).

This design achieves the following characteristics:

  • Higher value transactions yield a larger amount of UDT tokens, everything else being equal,
  • Earlier transactions yield a larger amount of UDT tokens, everything else being equal,
  • The cost of buying UDT on a decentralized exchange is always lower than the cost of sending "fake" transactions to the network in order to collect UDT.

Another way to earn UDT and join the DAO is to apply for grants.

Protocol Fee

As of Unlock version 13, the protocol includes a "fee switch" but the fee was initially set to be 0%. This value has been changed by DAO members through an onchain proposal and approved through votes to 1% in May 2024.

If the fee amount is larger than 0%, on every transaction for which there is a payment (purchase, extend or renewMembershipFor), the lock contract will send a portion of the payment to the Unlock contract.

Swap and Burn

At that point, the collected fees can be "swapped and burned" by calling the swapAndBurn function on the Unlock contract. This function will swap the collected fees for UDT tokens on a decentralized exchange and then burn them.