Core FPT Functionality
- A smart contract (principal) can have multiple FPT contracts
- Shadow Registry only recognizes one FPT smart contract, the first one deployed
- Any wallet can deploy the FPT contract, they do not need to own the principal smart contract
- The owner of the principal smart contract is the ideal owner of the FPT, but there are cases this won’t work:
- Principal smart contract is burned
- Principal smart contract owner private keys are lost
- Supports community take-over of a dead project without impacting the original tokenomics
- On deployment of FPT smart contract through the FPT Deployer, all minted tokens from the principal contract have their FPT created and assigned to the principal NFT owner’s wallet.
- Transaction details are available on the FPT Deployer page with a link to the FPT smart contract.
- As new principal tokens are minted, new FPTs are assigned to the new token owner
- Principal owner is able to use the
setSurrogate
function (or setSurrogates
for bulk action) to assign the FPT to their hot wallet
- Principal owner can recall FPT as needed through the
unsetSurrogate
(or unsetSurrogates
for bulk action) function
- Principal owner must input
tokenID
or tokenIDs
- FPT will be assigned back to the current principal owner wallet in the situation that the owner of the principal token is changed through sale or transfer
- The onchain management functions are available at dashboard.foolproof.xyz
- The address for a deployed FPT is also available on the dashboard
- ERC721Enumberable is available by proxy
- Upgradeable through diamond storage pattern
- Suports
tokenURI()
- Low gas
softSync()
function can be used to invalidate shadow tokens after principal token has been transferred
Features
Shadow Registry
Dashboard
FPT Deployer
Amped FPT/Centralized Moderation
Immutable Control FPT
Foolproof Labs