Skip to main content

Account Transfer Protocol (ATP)

The Account Transfer Protocol (ATP) represents the foundational stage of Mycel's architecture, focusing on the implementation of Transferable Accounts. This phase is centered on establishing the core functionality that allows assets to move securely and efficiently across different blockchain platforms.

Architecture

ATP introduces a secure and decentralized infrastructure for managing Transferable Accounts on the Internet Computer. The architecture focuses on enabling the creation, transfer, and management of accounts in a transparent and efficient manner.

Key Components

  • Account: The main entity representing a transferable account with properties like owner, public key, and state
  • SignerRepository: Manages cryptographic operations using Internet Computer's threshold signature schemes
  • AccountRepository: Stores and retrieves account data
  • AccountService: Orchestrates operations on accounts

State Transitions

Accounts in ATP go through various state transitions during their lifecycle:

Account States

  1. Locked: The initial state of an account after creation

    • The account is owned by the creator
    • An approved address (usually an application like a DEX) is set
    • Only the approved address can transfer or unlock the account
  2. Unlocked: An intermediate state after transfer

    • The account has a new owner
    • The owner must activate the account to use it
    • No approved address exists in this state
  3. Active: The final state where the account can be used

    • The owner can sign messages and transactions
    • The owner can approve addresses for future transfers
    • Only the owner can perform actions with the account

Get started developing with ATP from here: Getting Started