SubKey is a key management layer which allows granting specific permissions to any smart contract. No more private keys sharing! If you need to provide access to your assets to someone - share a SubKey.
SubKey proposes a new model in key management for DeFi, tokens (NFT, ERC20), etc. Share fine grained access to some of your assets to other accounts or apps and let them run transactions on your behalf.
SubKey allows you to construct specific privileges that match your requirements and make sure the third party users use only allowed functions. SubKey allows you to construct specific privileges that match your requirements and grant access according to them.
Subkey offers fine grained permissions:
Subkeys are generated off chain and require zero gas for the owner to create.
SubkeyWallet is a smart contract for EVM. To create a Subkey an owner needs to: Construct a Permission that includes: Third party caller address Predicate and its params. The Predicate params control what the third party is allowed to do. Sign the Permission Share signed Permission with a third party
ZeroGasRoleModule - Subkeys implementation for Gnosis safe Modules.
Permissions In the v1 we supported permissions for whitelisting contract addresses and method names (see PredicateImplV1). More sophisticated implementations can also support: method params, value, budget, expiration.
Zero gas Creating and assigning Permissions does not require onchain interaction. Owner does not need to pay any gas to create a Permission. An owner can easily create millions of subkeys with permissions with zero gas cost.