Powered by Wormhole, Hashflow enables users to seamlessly trade their assets natively across Ethereum, Arbitrum, Avalanche, BNB Chain, Optimism, Polygon, and Solana — without the risk and hassle of bridging (or using synthetic assets).
How Does It Work?
Hashflow uses DeFi-native RFQs to fetch quotes from market makers who are responsible for managing liquidity in the pools. Market makers are required to cryptographically sign quotes that remain unchanged for the duration of the trade. This ensures that the price is guaranteed and cannot be front-run or sandwich attacked. It also protects traders against slippage if there is significant price movement between the time it takes to validate the transaction on the source chain and relay the payload on to the destination chain.
Hashflow's RFQ Model
The steps involved in the lifecycle of an example cross-chain swap are detailed as follows:
Trader requests a quote to sell 10 ETH on Ethereum (source chain) and buy 20 AVAX on the Avalanche (destination chain)
Market maker provides a signed quote to the trader
Trader submits the transaction on Ethereum with the signed quote as the payload
The liquidity pool smart contract on the source chain performs security checks, transfers funds from trader's wallet into the pool, sends the payload, and calls the gateway smart contract on the source chain
Once the transaction on the source chain is successful, the gateway smart contract triggers an event
The validators then use the event to validate the transaction and submit the proof along with the payload to the gateway endpoint on the destination chain
The relayers then submit the payload to the destination chain and transfer AVAX to the trader’s wallet on the destination chain
As detailed, the above steps do not rely on external bridges or require users to escrow their assets on the source chain to mint a bridged asset on the destination chain. Users can swap any asset natively by leveraging signature-based pricing and RFQs.
To learn more about Hashflow's native cross-chain swaps, see this FAQ here.