This document explains how to add “LockupSettings” to a candy machine.
LockupSettings allows for specifying a time-based lockup after mint. It supports duration, locking the token for X seconds after it is minted, or expiration allowing for a set datetime for all tokens to be released.
This makes use of a different protocol called token-manager to handle the lockup and release. More info can be found here: https://github.com/cardinal-labs/cardinal-token-manager.
There are a few use cases for this:
PR to Metaplex: https://github.com/metaplex-foundation/metaplex-program-library/pull/511/files
Deployed Candy Machine: https://explorer.solana.com/address/ccmpgw68x3NJmNPePFrTm6TsKCEYUVhF8rEAVL9rSDd
JS Package for using Freeze Authority CM: @cardinal/mpl-candy-machine-utils
https://www.npmjs.com/package/@cardinal/mpl-candy-machine-utils
Example code snippets and scripts
https://github.com/cardinal-labs/mpl-candy-machine-utils
High level steps
The candy machine can be created in the same exact way but the programId should be as specified above.
https://github.com/cardinal-labs/mpl-candy-machine-utils/blob/main/create-candy-machine-with-lockup-settings.ts