Hop is a scalable rollup-to-rollup general token bridge. It allows users to send tokens from one rollup to another almost immediately without having to wait for the rollup’s challenge period.
Hop does not have a governance token. Any official announcements about the protocol will come directly from the Hop team on the official Hop channels.
What are hTokens (ie hETH, hUSDC, hDAI, etc)?
The “h” tokens are a cross-network bridge token that is transferred from rollup-to-rollup and are claimed on the layer-1 for the underlying asset. It is an intermediary bridge token that allows trustless swaps.
The end user doesn't need to deal with “h” tokens directly, they only deal with the respective rollup’s canonical token.
What is a “canonical token”?
The canonical token (also called "native token") is the Layer-1 token that is being bridged on Layer-2. For example, DAI token on Layer-2 is the canonical token of DAI token on Layer-1. Users can send back and forth between Layer-1 token and Layer-2 representation of that token using the Layer-2’s official token bridge.
Why is an AMM needed?
The AMM dynamically prices liquidity and incentivizes rebalancing liquidity on each rollup.
What is a “bonder”?
A bonder providers up-front liquidity on the destination rollup to allow instant transfers, and are incentivized by transfer fees.
What does a transfer consist of?
Destination chain id, destination recipient address, and transfer amount.
What is a “transfer root”?
A transfer root object represents a bundle of transfers. A transfer root is composed of a merkle root of the transfer IDs and list of total amounts for each destination rollup chain.
What is a “transfer bond”?
A transfer bond is the bonding of a transfer root which distributes the transfer root from Layer-1 to Layer-2 destination rollup chains. Only the bonder role can do this and requires positive credit balance. Someone may challenge this transfer root if it is believed to consist of invalid transfers.
What is bonder “staking”?
A bonder must stake (lock up) collateral to be used as credit for transfers in order to guarantee liquidity on the destination rollup. The stake is treated like credit. The credit is subtracted when individual transfers are bonded and re-credited when transfers are settled. Transfers are settled when the bonded transfer root is propagated from Layer-2 to Layer-1 after the rollup challenge period).
Can a bonder steal funds?
No, a bonder cannot steal any funds. The bonder can only speed up cross-domain transfers by providing liquidity. Worst case scenario is the bonder going offline then your transfer will take as long as the rollup's exit time.
What are “liquidity providers”?
AMM’s require liquidity providers to contribute passive liquidity to the liquidity pool. LPs are rewarded with a small fee from each swap (“h” token <> canonical token).
Can you send ETH with Hop?
ETH transfers are converted to WETH and are treated as any other ERC20 token.
Can arbitrary contract calls be made over Hop?
At the moment Hop doesn't support arbitrary contract calls but may in the future after security risks are more understood.
What’s an “arbitrageur”?
Arbitrageurs perform arbitrage which is buying a token on one exchange and selling on a different exchange for a profit when there’s a slippage in price. In the context of Hop, arbitrageurs swap between “h” tokens and canonical tokens on one Hop rollup AMM and trade the token on a different rollup for a profit. Eventually the price stabilizes because the liquidity is rebalanced across AMMs.
What happens if the bonder is offline?
When bonder is offline then a fallback bonder will bond the transfers. If there are no fallback bonders, then the transfer will be settled after the rollup’s challenge period.
What rollups does Hop Protocol support?
Supported rollups on mainnet are xDai, Polygon (formerly Matic), and soon will support Optimism, and Arbitirum.
What happens when I "send" tokens from rollup A to rollup B?
The "hTokens" will be burned on rollup A and the Bonder will use collateral to mint hTokens on rollup B. The hTokens are immediately available to the sender.
How does the Bonder get their collateral back?
The Bonder gets their collateral back on rollup B after they provide proof that hTokens were burned on rollup A (see above question for more context).
How are transfers aggregated and passed to other rollups?
Transfers out of rollup A are merklelized into a "Transfer Root". The Transfer Root acts as proof that "hTokens" were burned on rollup A. The Transfer Root is sent to layer-1 (this takes ~1 week). After it's been commited on layer-1 then the Transfer Root is distributed to rollup B. At this point the Bonder can reclaim their collateral using the Transfer Root on rollup B as proof.
How do I become a Bonder?
Currently Bonders must be allowed by the Hop Bridge smart contract governed by the Hop team. We are working on decentralizing the Bonder role completely. Reach out to the Hop team on discord if you are interested on becoming a Bonder.
Do I need to expose any ports for the Hop Node?
No, only outgoing connections need to be allowed but all incoming connections can be disallowed.
What are the risks of becoming a Bonder?
The risks of becoming a bonder are software bug risks on the Hop node software or smart contracts. The Hop node software has been running in production for months and the code is completely open source. The smart contracts have been audited by multiple firms.
Do I need to run my own RPC server when becoming a Bonder?
It is not a requirement to run your own RPC server on chain supported chain. You can use an existing RPC provider like Infura when running the Hop node.
How can I rescue my transfer that appears stuck?
You can withdraw any unbonded transfers on Withdraw page
Bonders and liquidity providers earn fees from transfers in exchange for providing liquidity. Other than that, there is no concrete business model detailed yet.
Why don't I see my funds after transferring to a centralized exchange?
Make sure that the centralized exchange supports reading internal transactions. For example, transferring ETH to a Binance address on Arbitrum could result in loss of funds because Binance doesn't support internal transactions and won't recognize the transaction.