HOT Bridge
Abstract
HOT Bridge is a protocol for minting omni-assets within the HOT OMNI Balance smart contract, backed 1:1 by assets locked on native networks (e.g., Solana, Ethereum, TON). These assets can be transferred and swapped within inside HOT OMNI Balance, and redeemed for their original native tokens at any time.
Architecture
Omni bridge consists of:
Locker contracts, one per each supported chain
Store native assets
Implement api for deposit validation by HOT Protocol validators
Process deposit/withdrawals of native assets
HOT OMNI Balance, contract on NEAR Protocol
Store, Mint and Burn omni-assets.
Implement api for withdrawal validation by HOT Protocol validators
Implement NEP-254 Multitoken standard, so omni-assets can be used by any smart contract on NEAR Protocol. This is useful in a higher level tools like Near Intents
HOT Bridge - list of instructions within client sdk for depositing and withdrawing assets on HOT Omni Balance.
HOT Protocol - MPC networks of validators that validate cross-chain messages.
Deposit flow

Transfer liquidity to the locker contract How this done exactly depends a specific chain. It can be either token transfer to the contract address, or tokens attached to the call.
After deposit, locker contract save deposit data into the contract state generate a unique
nonce.Generate Proof The user call HOT MPC networks, providing nonce and deposit arguments. Each MPC node call view method of locker contract to verify that this deposit actually exist.
Mint omni-token The user execute
depositmethod on Omni Balance contract, providing nonce, signature and deposit arguments. The Omni Balance contract verify that signature is valid and nonce have never been used before and mints omni-tokens.
Withdraw flow

Burn omni-asset After withdrawal, omni balance contract burns omni-token, save withdrawal data into the contract state and generate a unique
nonce.Generate Proof The user call HOT MPC networks, providing nonce and withdrawal arguments. Each MPC node call view method of omni balance contract to verify that this withdrawal actually exist.
Get token on target chain The user execute
withdrawmethod on locker contract, providing nonce, signature and withdrawal arguments. The locker contract verify that signature is valid and nonce have never been used before and transfers native tokens to receiver.
Omni Bridge API
deposit method on v2_1.omni.hot.tg contract on NEAR Blockchain
deposit method on v2_1.omni.hot.tg contract on NEAR BlockchainArgs:
signature- MPC ECDSA signature ofhash(rlp_encode(receiver, chain_id, token_address, amount, nonce))receiver- 32 bytes =hash(receiver_data). Some smart contracts work with a fixed par memory size, so receiver_id is always 32 bytes. The receiver_data format can be extended to work with the intents contract without requiring the data format on the locker contracts to be changed.nonce- nonce, that have been generated inside Locker Contractamount- deposit amountcontract_id- token contract address bytes in base58on TON:
Cell(address).to_bytes()on Stellar:
Asset("USDC", "PUBLIC_NETWORK_PASSPHRASE").to_xdr_bytes()on EVM:
bytes.from_hex(contarct address)on Solana: Token Mint Address
chain_id- chain idEVM chain id for all EVM Chain
TON = 1111
SOLANA = 1001
STELLAR = 1100
TRON = 999
Last updated