📖Technical Overview
Overview
This repository contains ICON's crosschain infrastructure and dapps built on it.

Infra Goals
Any EVM dapp should be able to access any user on any connected chain without changes
Any EVM dapp should be able to access any token on any connected chain without changes
Any token should be able to be bridged to any other connected chain
Crosschain messaging should be simple and reliable with little overhead
App Goals
Build a money market such that we can delegate liquidity to many different products and services
Establish a new HUB for current ICON tokens
Bridging
AssetManager
The AssetManager serves two primary functions:
Value Transfer: It facilitates the transfer of assets between different blockchains, enabling users to move value seamlessly across ecosystems.
Hooks: The bridge can act on behalf of the caller using the transferred tokens, allowing for complex, multi-chain user interactions and actions.
For more detailed specifications regarding the AssetManager, please refer to the full documentation here.
Hub Token Management
With crosschain dapps there is usually lot of fragmentation. Same token represented on many chains or tokens priced very closely together such as wBTC and tBTC. So we need contract and logic to unify this fragmentation in a composable way. This can be done by a Tokenized Vault built to comply with the ICON crosschain token standard. Giving us full flexibility in solving liquidity fragmentation while also being able to take any token crosschain.

For more detailed specifications regarding the Hub Token Management, please refer to the full documentation here.
Wallet Abstraction
The Wallet abstraction module's goal is to map each user on each chain to a wallet on the HUB. Making it a default entry point for users interacting from different ecosystems. This also gives us a flexible tool to integrate other interop solutions or bridges to use in our ecosystem, by giving them access to integrate into the wallet implementation.
For more detailed specifications regarding the Wallet Abstraction, please refer to the full documentation here.
Intents
The Intent infrastructure is another key component of ICON's crosschain capabilities. Built on top of GMP, the Intent system resolves crosschain intents efficiently, enabling swapping and solving across any chain.

For more detailed specifications regarding the Intents, please refer to the full documentation here.
GMP (General Messaging Protocol)
The General Messaging Protocol (GMP) is a fundamental component designed to enable seamless communication between different blockchains and decentralized systems. Its primary objective is to maintain simplicity while offering maximum flexibility for building upon it.
The message structure in GMP contains all essential data:
srcChainId: The identifier of the source blockchain
dstChainId: The identifier of the destination blockchain
fromAddress: The address from which the message is being sent
toAddress: The address to which the message is being sent
data: The payload or data being transferred between the two chains
Connection
The Connection verifies incoming messages and acts as a gateway for chains to send messages to any other connected chain. For more detailed specifications, please refer to the full documentation here.
Relayer
The Relayer verifies and delivers messages across blockchains, confirming events and providing necessary signatures.
Last updated