HOME CONCEPT GRANTS BLOG COMMUNITY

Account Transfer Protocol (ATP): Syncronizing State Machines

Account Transfer Protocol enabling direct native token exchange between blockchains through secure key ownership transfer, compatible with ECDSA and EDDSA blockchains

By Mycel - 2025-05-21

TL;DR

  • ATP enables direct exchange of native tokens between different blockchains through key ownership transfer
  • Compatible with all blockchains using ECDSA and EDDSA, including Bitcoin, Ethereum, Solana, Sui, Monero, and more
  • Advanced security and efficiency leveraging TSS and Canisters
  • Supports diverse use cases including DEX, lending, OTC, and privacy-preserving applications

What is Account Transfer Protocol (ATP)?

Account Transfer Protocol (ATP) adopts an approach that differs from conventional bridges and wrapped tokens by exchanging key ownership in a secure environment. This protocol enables the exchange of native tokens between any state machines, establishing a new approach to cross-chain interoperability. ATP is currently being developed using Canisters on the Internet Computer, combining advanced security with efficiency. By utilizing ATP, tokens on any blockchain that supports ECDSA and EDDSA key generation can be exchanged.

For more details, check the our document link:

Account Transfer Protocol - Mycel Docs

Why do we need ATP?

To execute cross-chain asset exchanges with atomicity, the current mainstream approaches include smart contract-based methods and atomic swaps. Atomic swaps provide a convenient way to exchange assets between parties with atomicity, but the difficulty in finding counterparties for transactions makes them impractical for general use cases, with some exceptions.

In smart contract-based approaches, AMM mechanisms have transformed the approach, making it easier to find counterparties. However, developers need to deploy smart contracts on all blockchains to support Layer2 and new EVM-compatible chains. With over 50 EVM-compatible blockchains already in existence, the high maintenance costs and complexity when trying to increase the number of supported chains make this approach particularly inconvenient and specific between different VMs.

Account Transfer Protocol provides a mechanism that maintains atomicity while keeping counterparty discovery costs low for asset exchanges across all blockchains by controlling “account ownership” rather than creating new state machines.

Features

Transferable Account Generation Using TSS (Threshold Signature Scheme)

TSS technology, which distributes cryptographic keys among multiple parties, eliminates single points of failure while securely generating transferable accounts. Transferable Account is the central concept in ATP, referring to accounts that can be transferred using TSS. ATP users lock assets in a Transferable Account and transfer ownership of the Transferable Account to the counterparty to transfer assets.

Secure Account Owner Transfer Using Canisters

Using Internet Computer’s Canister technology, the ownership transfer process of Transferable Accounts is executed securely and transparently. This reduces the maintenance costs of Dapps, which has been a challenge in conventional cross-chain technologies.

ATP

Supported Blockchains

  • All blockchains utilizing ECDSA for account generation (examples below):

    • Bitcoin
    • Ethereum (including all EVM-compatible sidechains and Layer2)
    • Optimism
    • Arbitrum
    • Base
    • BNB Chain
    • Polygon
    • Avalanche
    • Cardano
    • Polkadot
    • Litecoin
    • Tron
  • All blockchains utilizing EDDSA for account generation (examples below):

    • Solana
    • Near Protocol
    • Flow
    • Algorand
    • Tezos
    • Stellar
    • Cosmos (including all IBC-compatible chains)
    • Hedera Hashgraph
    • Aptos
    • Sui

Technical Specifications

In ATP, an Account is called a Transferable Account, which is generated with the premise of transferring ownership. The account owner deposits assets into the account and transfers ownership to the counterparty. The basic data structure in ATP is as follows:

// ATP Account Data Model
#[derive(CandidType, Clone, Serialize, Deserialize)]
pub struct Account {
    id: String,                        // Account identifier
    owner: Principal,                  // Owner's Principal ID
    public_key: Vec<u8>,               // Public key in SEC1 format
    algorithm: SignatureAlgorithm,     // Signature algorithm (ECDSA/EDDSA)
    curve: Curve,                      // Elliptic curve used (secp256k1/ed25519, etc.)
    account_state: AccountState,       // Account state (Locked/Unlocked/Active)
    approved_address: Option<Principal>, // Approved address (optional)
}

// Account state enumeration
#[derive(CandidType, Clone, Serialize, Deserialize, PartialEq)]
pub enum AccountState {
    #[serde(rename = "locked")]
    Locked,
    #[serde(rename = "unlocked")]
    Unlocked,
    #[serde(rename = "active")]
    Active,
}

For more details, check the Github link:

Account Transfer Protocol v1 - Github

Use Cases

ATP returns the right to conduct any digital transactions to individual sovereignty and presents various use cases:

  • Cross-chain DEX (Decentralized Exchange) It enables the construction of DEXs that can directly exchange native tokens on different blockchains. This allows users to enjoy a more direct and efficient trading experience without using wrapped tokens.
  • Cross-chain Lending Lending services between multiple blockchains can be realized, enabling more flexible collateral token settings and lending.
  • OTC (Over-The-Counter) Trading Large-volume transactions between different chains can be executed more safely and efficiently.
  • Privacy-preserving Decentralized Applications Enables transactions between different blockchains while protecting user privacy.
  • Privacy-preserving File Trading Platform Enables secure exchange of digital content and digital assets.

Contact Information

For detailed information or technical questions, please contact us at: