Core Concepts
Terminology
Some important technical terminology is used below. Please reference this section for clarification.
General
- Porting Execution - An action of projecting a native token (e.g. HBAR) onto a foreign network (e.g. Ethereum), to be validated and processed by the validator swarm as requested by a User.
Networks
- Foreign Network - The destination ("to") network that a native token is projected onto via a Porting Execution. For example, Polygon is the Foreign Network when a User submits a Porting Execution from Hedera to Polygon in order to receive HBAR[0x].
- Domestic Network - The "from" network which the underlying assets that are being locked or burned via a Porting Execution to received the projected assets. For example, Polygon is the Domestic Network when a User submits a Porting Execution by sending HBAR[0x] from the Polygon network to Hedera.
Assets
- Foreign Token - The projected representation of a Native Token onto a Foreign Network via hashport (also referred to as "projected token/asset" or "minted token/asset").
- Hedera Network
- Avalanche Network
- BNB Chain Network
- Ethereum Network
- Matic Network
Name | Token ID |
---|---|
WETH[hbar] | 0.0.541564 |
DOV[hbar] | 0.0.624505 |
USDC[hbar] | 0.0.1055459 |
WBTC[hbar] | 0.0.1055483 |
USDT[hbar] | 0.0.1055472 |
AAVE[hbar] | 0.0.1055498 |
DAI[hbar] | 0.0.1055477 |
LINK[hbar] | 0.0.1055495 |
OM[hbar] | 0.0.1080694 |
WBNB[hbar] | 0.0.1157005 |
WAVAX[hbar] | 0.0.1157020 |
Name | Contract Address |
---|---|
HBAR[ava] | 0xCDe4aBef67e3E9463e6e58e293021a0Be8D0BEc6 |
Name | Contract Address |
---|---|
HBAR[bnb] | 0x6DE8738696D4cfd407830151c716A00d74877eeB |
Name | Contract Address |
---|---|
JAM[eth] | 0x2F3AFd7373F6dD960Afd083FB2F0AC2303285ef7 |
CLXY[eth] | 0x23CCe5Bc29d30CB69eAA4F6cd58b4B912C520546 |
HBAR[eth] | 0x14ab470682Bc045336B1df6262d538cB6c35eA2A |
HST[eth] | 0x13ceaf35d3C48Bc63a26361852eE6D229c503369 |
Name | Contract Address |
---|---|
JAM[0x] | 0xB98cE6b4c3148f30C24012ab5Fc83C16eBceE369 |
CLXY[0x] | 0x28dBa92350A099D7e43fFc63043073733EBD6D34 |
HBAR[0x] | 0x1646C835d70F76D9030DF6BaAeec8f65c250353d |
HST[0x] | 0x59C43ED0C7D85cBdA8683D89D4eB40c72B7e2441 |
- Native Token - The token that already exists on the Domestic Network. Generally, this would be a token that already has a minted supply, token holders outside of the hashport ecosystem, and other indicators that identify that the token is already in use.
- Hedera Network
- Avalanche Network
- BNB Chain Network
- Ethereum Network
- Matic Network
Name | Token ID | Supported Foreign Network(s) |
---|---|---|
JAM | 0.0.127877 | Ethereum, Polygon |
CLXY | 0.0.859814 | Ethereum, Polygon |
HBAR | HBAR | Ethereum, Polygon, Avalanche, BNB Chain |
HST | 0.0.968069 | Ethereum, Polygon |
Name | Contract Address | Supported Foreign Network(s) |
---|---|---|
WAVAX | 0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7 | Hedera Hashgraph |
Name | Contract Address | Supported Foreign Network(s) |
---|---|---|
WBNB | 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c | Hedera Hashgraph |
Name | Contract Address | Supported Foreign Network(s) |
---|---|---|
AAVE | 0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9 | Hedera Hashgraph |
DAI | 0x6B175474E89094C44Da98b954EedeAC495271d0F | Hedera Hashgraph |
DOV | 0xac3211a5025414af2866ff09c23fc18bc97e79b1 | Hedera Hashgraph |
LINK | 0x514910771AF9Ca656af840dff83E8264EcF986CA | Hedera Hashgraph |
OM | 0x3593D125a4f7849a1B059E64F4517A86Dd60c95d | Hedera Hashgraph |
WBTC | 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 | Hedera Hashgraph |
WETH | 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 | Hedera Hashgraph |
USDC | 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 | Hedera Hashgraph |
USDT | 0xdAC17F958D2ee523a2206206994597C13D831ec7 | Hedera Hashgraph |
Name | Contract Address | Supported Foreign Network(s) |
---|---|---|
WMATIC | 0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270 | Hedera Hashgraph |
Is your project looking for an interoperability solution? Contact us.
Actors
- Users - end-users who want to transfer HBAR or HTS tokens from Hedera to an EVM-based chain or their native or projected assets from an EVM-based chain to Hedera.
- Validators - entities that are running the hashport validator node. They provide authorization for the minting and burning of projected tokens on the EVM-based chain, as well as transferring projected tokens back to Hedera.
- Validator Swarm - A governing body responsible for approving porting executions, as well as operating and keeping hashport secure. The validator swarm is composed of validator nodes, wherein each node has entered into an agreement with hashport to participate in the swarm.
- hashport Portal - the user-interface (UI) in which Users can interact with to move their assets from one supported network to another. Each user accessing the Portal will have their own instance.
Accounts
- Portal Account - A Hedera threshold account where funds are transferred through the Portal (Hedera -> EVM) are sent to the Portal Account. The funds are transferred back to Hedera (EVM -> Hedera) are sent from the Portal Account to the recipient's account.
- Fee Account - A Hedera threshold account where the
service fee
is proportionally distributed to each validator node aftern/m
signatures are collected. - Hedera Account ID - A Hedera account that is represented by an account ID. More details can be found here.
- EVM Address - A EVM-compatible wallet address.
- User Account(s) - One or more accounts that a user has control over, represented by either an EVM Address or a Hedera Account ID.
n
- threshold value (number of keyholders in consensus)m
- number of validators in the validator set
Governance
The Portal Account and Fee Account are Hedera threshold accounts (n/m
), where each validator has a Hedera compatible private key - 1 out of m
that has 1/m
control over the accounts.
Gnosis MultiSig is used with the same n/m
configuration to set up the multi-signature accounts on the EVM chain. Each validator has an EVM compatible private key - 1 out of m
that has 1/m
control over the multi-signature accounts.
The Gnosis MultiSig is configured as owner of:
- Wrapped assets deployed on the EVM chain
- The Router smart contract
Adding / Removing Members
Validators can add or remove members from the validator set by executing two transactions in the following order:
- On Hedera, a
Crypto Update
transaction that modifies then/m
threshold accounts - On the EVM chain, an
updateMember
transaction that modifies the list of members in theRouter
contract
Validators should have an off-chain communication channel to discuss the current setup and vote on adding or removing validator nodes.
Fees
Validators receive a service fee paid by the user. The fee is a percentage of the transferred amount, paid on the native asset. This percentage is configurable in config/bridge.yml
as fee_percentage
and determined by the validator set.
The service fee is distributed to the list of validators equally, simply service fee
divided by m
.