not a bridge
With IBC, trust the chains you already use instead of a vulnerable third party. Easy, direct implementation with IBC is secure even in Byzantine environments where relayers can be faulty or malicious.
The Inter-Blockchain Communication Protocol (IBC) is an open-source protocol to handle authentication and transport of data between blockchains. IBC allows heterogeneous chains to trustlessly communicate with each other to exchange data, messages, and tokens.
Cross-chain communication enables increased and seamless scalability
Billions of transactions executed using IBC
IBC reduces transaction costs and transaction confirmation finality issues between app-specific chains
Enables inter appchain communication, creating create greater utility than the sum of its parts.
Natively integrate with chains built on Cosmos SDK
Built to your specs, while being able to connect with a wide range of chains & state machines.
IBC Eureka is the main implementation of IBC v2. Eureka offers seamless
bridging and interoperability to hundreds of chains, with one IBC
connection to the Cosmos Hub.
Access 120+ chains from Cosmos to Ethereum and beyond, with
faster-than-finality transfers, low fees, and native asset issuance.
Using Skip Go Fast, users get their assets in seconds — paying as little as $1 for transfers from Ethereum.
IBC Eureka uses the v2 of the Inter-Blockchain Communication Protocol. IBC v1 has never been exploited since its launch in 2021.
The go.cosmos.network widget delivers easy 1-click transfers across 50+ of your users' favorite wallets and front-ends across Cosmos and Ethereum.
function sendFungibleTokens(
denomination: string,
amount: uint256,
sender: string,
receiver: string,
sourcePort: string,
sourceChannel: string,
timeoutHeight: Height,
timeoutTimestamp: uint64): uint64 {
prefix = "{sourcePort}/{sourceChannel}/"
// we are the source if the denomination is not prefixed
source = denomination.slice(0, len(prefix)) !== prefix
if source {
// determine escrow account
escrowAccount = channelEscrowAddresses[sourceChannel]
// escrow source tokens (assumed to fail if balance insufficient)
bank.TransferCoins(sender, escrowAccount, denomination, amount)
} else {
// receiver is source chain, burn vouchers
bank.BurnCoins(sender, denomination, amount)
}
// create FungibleTokenPacket data
data = FungibleTokenPacketData{denomination, amount, sender, receiver}
// send packet using the interface defined in ICS4
sequence = handler.sendPacket(
getCapability("port"),
sourcePort,
sourceChannel,
timeoutHeight,
timeoutTimestamp,
data
)
return sequence
}
With IBC, trust the chains you already use instead of a vulnerable third party. Easy, direct implementation with IBC is secure even in Byzantine environments where relayers can be faulty or malicious.
Unsubscribe at any time. Privacy policy↗