Making Sense of the Cosmos Ecosystem
What is the difference between Cosmos SDK and Cosmos Hub? When do I have to use the Axelar bridge, IBC or the standard send transaction on Keplr wallet?
Here’s the overall summary in flowchart form, but let’s unpack it below.
First, the Cosmos Software Development Kit (SDK) is NOT a blockchain. Rather, it’s a toolkit to “build your own blockchain”. Multiple independent blockchains have been built with Cosmos SDK, starting with Cosmos Hub (also known as Gaia) as the first, but also THORChain, Terra, Osmosis, Kujira, among others.
All these blockchains have different address format, e.g.
- cosmosxxxxxx for Cosmos Hub (main token is ATOM)
- thorxxxxxx for THORChain (main token is RUNE)
- terraxxxxxx for Terra (main token is LUNA/LUNC)
- osmoxxxxxx for Osmosis (main token is OSMO)
- kujiraxxxxxx for Kujira (main token is KUJI)
The discussions below are from a Kuijra user point of view, but is applicable across most Cosmos SDK blockchains.
Standard Send Transactions
If you have some KUJI that you want to send to another Kujira address (kujiraxxxxxx), then you can use the wallet functionality on https://blue.kujira.app/wallet, or more generally, use the standard send transaction on Keplr wallet.
Inter-Blockchain Communication (IBC) Transactions
Most (but not all) of the blockchains built with Cosmos SDK can be connected with each other via the Inter-Blockchain Communication (IBC) protocol. However, sending tokens from one blockchain to another via IBC makes a wrapped version on the recipient blockchain. E.g. sending ATOM from Cosmos Hub (cosmosxxxxxx) to Kujira (kujiraxxxxxx) via IBC will result in a Kujira-wrapped ATOM on the Kujira blockchain, although usually they are just displayed as ATOM.
IBC can be accessed via https://blue.kujira.app/ibc , or for advanced users, the IBC function on Keplr (see https://crypto-university.medium.com/ibc-cross-chain-transfers-on-easy-mode-500a0b1d88fb).
Once the ATOM is on Kujira, you can send it to any other Kujira address (kujiraxxxxxx, similar to KUJI token), but they will remain as Kujira-wrapped ATOM. You cannot use the standard send transaction to send it back to a Cosmos Hub address (cosmosxxxxxx) — for that, you will need the IBC again.
IBCs between two blockchain should only be used to send the native assets of those two blockchain to each other. E.g. we can use IBC to send ATOM from Cosmos Hub to Kujira (receiving Kujira-wrapped ATOM), or sending KUJI from Kujira to Cosmos Hub (receiving Cosmos Hub-wrapped KUJI), or vice versa. But if you use IBC to send Kujira-wrapped ATOM straight to Osmosis (osmoxxxxxx), you are creating a double wrap: a Osmosis-wrapped-Kujira-wrapped ATOM. This is different from sending ATOM from Cosmos Hub to Osmosis directly via IBC, which will result in a single wrapped Osmosis-wrapped ATOM.
Only single-wrapped tokens are generally used in all the blockchains, e.g. trading ATOM or OSMO on Kujira FIN; or trading ATOM or KUJI on Osmosis Dex.
Axelar-bridged Stablecoins/USDC (axlUSDC)
What about stablecoins? The most popular “stablecoin” in Cosmos ecosystem currently is the Axelar-bridged USDC, or axlUSDC. This is usually bridged from Ethereum, Avalanche, Polygon or Fantom. You should NOT use IBC to move axlUSDC from one Cosmos SDK blockchain to another (e.g. from Kujira to Cosmos Hub), since again, you are now double wrapping: a Cosmos Hub-wrapped-Kujira-wrapped axlUSDC. Instead, always use the Axelar Bridge itself (satellite.money) to move axlUSDC from one blockchain to another. Here is a good explainer about using axlUSDC on Kujira: https://medium.com/team-kujira/withdrawing-assets-from-fin-a3e6e3e53709. Of course, if you just want to move axlUSDC from one Kujira address to another, please use the standard send transaction on Keplr wallet.
Centralized Exchanges (CEX)
Finally, a word for depositing and withdrawing from centralized exchanges (CEX). Most CEX only enables deposits/withdrawals from the main chain (ATOM to/from Cosmos Hub, OSMO to/from Osmosis, KUJI to/from Kujira). You can check the deposit/withdrawal address format in the CEX to confirm. As such, IBC wrapped assets need to be IBC-ed back to their origin chain first, before depositing into CEX.
Feel free to hop into the TC University Discord to chat about this, or any other THORChain questions that you may have.
Explore THORChain: Website, X, Telegram, Developer Discord.
Explore Maya Protocol, the first friendly fork of THORChain: Website, X, Discord, Telegram.
Decentralized, permissionless, non-custodial, trust-minimized, open-sourced, economic-secured, non-wrapped, native-to-native cross-chain swaps, savings and soon, lending!