MYKEY Docs
中文English
English
English
  • Introduction
  • Sign in with MYKEY
    • Verify signature at backend server
    • More detailed tech and process of MYKEY login
  • Integrate with MYKEY
    • Multiple ways to integration with MYKEY
    • Mobile Dapp with H5 pages
      • ETH
      • EOS
      • JS Extensions
    • Integration via MYKEY Android SDK
      • Preconditions
      • Initiate SDK
      • Authorize
      • Sign
      • Transfer
      • Call contracts
    • Integration via MYKEY iOS SDK
      • Preconditions
      • Initiate SDK
      • Authorize
      • Sign
      • Transfer
      • Call contracts
    • Web application with scanning qrcode
    • SimpleWallet Protocol Compatible
    • Deeplink Protocol
  • Dive into MYKEY
    • Dive into MYKEY account
    • Classes and methods
      • Android Classes
      • iOS Classes
    • Error Code
    • Identify MYKEY deposit transaction
      • ETH deposit
      • EOS deposit
    • MYKEY Whitepaper
  • KEY ID
    • KEYID ETH Contracts introduction
      • Account Module
      • Account Storage Module
      • Logic Management Module
      • Logic Module
    • Account recovery mechanism
    • KEYID contract upgrade process
    • KEYID contract upgrade records
      • ETH
        • KEY ID Ethereum Contracts Upgrade Pending Time Adjustment
        • KEY ID Ethereum logic contract module upgrade announcement
        • KEY ID Ethereum Contracts Upgrade Pending Time Adjustment
        • KEY ID Ethereum AccountLogic/DualsigsLogic Contracts Upgrade
        • KEY ID Ethereum DappLogic Contract Upgrade
  • Development Resources
    • Ethereum
    • EOS
  • Join Us
    • DApp submit
    • Developers Community
Powered by GitBook
On this page
  • MYKEY Account Structure
  • Key Permissions
  • Account Freezing
  • Emergency Contacts
  • Account Management Proposal
  • Account Recovery

Was this helpful?

  1. Dive into MYKEY

Dive into MYKEY account

PreviousDeeplink ProtocolNextClasses and methods

Last updated 4 years ago

Was this helpful?

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.

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

MYKEY has re-designed the native EOS account by KEY ID Smart Contracts that split two parts on EOS mainnet.

On EOS, MYKEY supports features like key recovery, privilege level, free account, free usage, authentication, sub account and so on. MYKEY tries to hide technical concepts for end users. In MYKEY App, user do not have to care about CPU/NET/RAM of their EOS account.

But at the same time, user's account still stays self-sovereign, authority belongs to users. More details will be disclosed in coming documentation and open-source plan.

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

From this url:

For example, account mykeyhulu521:

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 .

https://etherscan.io/address/0xadc92d1fd878580579716d944ef3460e241604b7#readContract
mykeymanager
mykeylogica1
https://bloks.io/account/mykeymanager?loadContract=true&tab=Tables&table=keydata&account=mykeymanager&scope=mykeyhulu521&limit=100
Account recovery mechanism