Dive into MYKEY account

MYKEY is a smart contract wallet based on KEYID protocol and deployed on multiple blockchains, providing users with one-stop blockchain services, including asset storing, exchanging and interacting with DApps, etc. MYKEY is designed with main characteristics like separated permissions, recoverable account and meta-transaction etc. MYKEY accounts execute all operations via one or more authorized logic modules, which verify user identity by signatures. Besides, logic modules can be upgraded with delay.

MYKEY Account Structure

There are two types of key in MYKEY account structure: Admin Key and Operation Key. In SmartContract, Admin Key cannot sign any general transaction except sign transaction to replace Operation Keys with time-lock.

The private key of Admin Key generated by mobile device which can be cold-backup through recovery code or hardware wallet during registration. The private keys of Operation Keys generated and secure stored by mobile device.

The public keys of Admin Key and Operation Keys are used to signup account and stored in SmartContract for further on-chain signature verification.

With those novel design principle, MYKEY can help dapp build their own native dapp without any explicit sign between dapp and 3rd party wallets. What's more, users can safely manage their asset, vault account, dapp accounts, data by different operation keys which is in one single account, we call it Self-sovereign Identity.

Key Permissions

Every MYKEY account has an Admin Key and a set of Operation Keys. Admin Key (index 0) is the highest authority, managing all keys. While Operation Key (index above 0) manages a specific function.

Various action permissions are owned by separated keys, as listed below.

Index

Key Name

Function

Comment

0

Admin

Highest authority, no specific operational permission

Created by default

1

Asset

Asset transfering

Created by default

2

Adding

Add additional operation keys

Created by default

3

Reserved

All other unspecified permissions

Created by default

4

Assist

Propose or approve a proposal as emergency contact

5

Modify

For sub-account modification

The private Admin Key (known as "Recovery Phrase" in mobile APP) can be exported from mobile device and stored o!ine, while the private Operation Keys are stored encrypted in mobile device.

From this url: https://etherscan.io/address/0xadc92d1fd878580579716d944ef3460e241604b7#readContract

you can find the permissions of MYKEY accounts, such as the Reserved Key with index 3 of account 0x67913A00a459fCd41CbF4124a887e8d8dE0742c0

Account Freezing

In emergency situations, a user can freeze his account immediately (by freezing all the operation keys), in which case, all operation key permissions (Asset, Adding, Reserved, Assist and Modify) are disabled until the user unfreezes his account or changes all operation keys.

Emergency Contacts

MYKEY account can add other MYKEY accounts as his emergency contact to protect account security. Every account can have at most 6 emergency contacts.

Adding someone as emergency contact requires his consent (emergency contact's signature) and will take effect after 21 days. However, users can choose to add initial emergency contacts when creating account, in which way it takes effect without delay. In MYKEY APP, the initial emergency contact is MYKEY Lab.

A user can also remove an emergency contact. Also, it will take effect in 21 days.

Account Management Proposal

A multi-sig proposal can be proposed by a user's emergency contact or both the user and emergency contact together, then waiting for other emergency contacts to approve, if needed.

The number of signatures needed to execute a proposal is 60% of the total number of emergency contacts rounded up.

Once the multi-sig threshold is met, anyone can execute the proposal.

Account Recovery

All keys in MYKEY account are alterable. Therefore, a user's account can be recovered in emergency situations like private key losing or leaking. Different cases are listed in this page Account recovery mechanism.

Last updated