Limonata / docs ← back to site

Limonata docs

Connected by IBC

Move test LIMO to the Osmosis testnet and back — permissionless, no bridge operator, live today.

IBC: move LIMO between chains (Testnet, live today)

Limonata is connected to the wider Cosmos ecosystem over IBC (Inter-Blockchain Communication), the standard, permissionless transfer protocol used by the Cosmos SDK chains. A live channel links the Limonata testnet to the Osmosis testnet, so you can move test LIMO off the chain, bring it back, and try it against other test assets. Everything on this page is testnet: the tokens have no value. This is an infrastructure rehearsal, documented so anyone can reproduce it.

The facts

ProtocolIBC (ibc-go v11), ICS-20 transfers
Limonata channeltransfer/channel-0
CounterpartyOsmosis testnet osmo-test-5, transfer/channel-11808
Connectionconnection-0 (Limonata) / connection-4584 (osmo-test-5)
LIMO on osmo-test-5ibc/63FA8DC3426FEDEA61E47FB273E0D68FCC5201B9E3A99EBD42BE120E105583D9
Test pool on osmo-test-5Balancer pool #1350 (LIMO / OSMO, 50/50)
OSMO on Limonataibc/ED07A3391A112B175915CD8FAF43A2DA8E4790EDE12566649D0C2F97716B8518, auto-exposed in the EVM as ERC-20 0xaF43A2dA8E4790Ede12566649D0c2F97716b8518
Cosmos RPC (public)https://cosmos-rpc.limonata.xyz
Cosmos REST (public)https://rest.limonata.xyz
osmo-test-5 explorerhttps://celatone.osmosis.zone/osmo-test-5

1. What this is (and is not)

IBC is a protocol capability, like the EVM or the encrypted mempool: it makes the chain's assets portable without a custodian, a wrapped-token bridge operator, or anyone's permission. Transfers lock (escrow) LIMO on Limonata and mint a 1:1 voucher on the destination chain; sending the voucher back burns it and releases the original. No third party holds your coins in the middle.

What this is not: a market, a listing, or a price. The test pool on osmo-test-5 exists to prove the plumbing end to end with valueless tokens. Decisions about mainnet - which channels open at genesis, who provides liquidity anywhere, and under what legal posture - are separate and are made before launch, not implied by this rehearsal.


2. Try it: send LIMO to the Osmosis testnet

You need test LIMO on a key you control on the Cosmos side of the chain (the same account you use in the EVM, addressed as cosmos1...). Any Cosmos CLI or wallet that can sign for limonata_10777-1 works; with the limonatad binary:

limonatad tx ibc-transfer transfer transfer channel-0 \
  osmo1YOURADDRESS 1000000000000000000aLIMO \
  --from YOURKEY --chain-id limonata_10777-1 \
  --node https://cosmos-rpc.limonata.xyz:443 \
  --gas auto --gas-adjustment 1.3 --gas-prices 2000000000aLIMO -y

That sends 1 LIMO (18 decimals). Within a few seconds the relayer delivers it and the voucher above shows up in your osmo1... balance:

curl https://lcd.testnet.osmosis.zone/cosmos/bank/v1beta1/balances/osmo1YOURADDRESS

Send it back the same way from the Osmosis side (osmosisd, channel channel-11808, denom ibc/63FA...), and the original LIMO is released to your cosmos1... account. Keplr users: both chains are in Keplr's registry ("Limonata Testnet", "Osmosis Testnet"); Keplr signs these transfers fine, but its UI will show the LIMO voucher as a raw ibc/ hash until the asset is added to the public assetlists.


3. Try it: swap on the test pool

On osmo-test-5, pool #1350 holds test LIMO against test OSMO (get test OSMO from https://faucet.testnet.osmosis.zone). Swap either direction with the Osmosis CLI:

# OSMO -> LIMO
osmosisd tx poolmanager swap-exact-amount-in 1000000uosmo 1 \
  --swap-route-pool-ids 1350 \
  --swap-route-denoms ibc/63FA8DC3426FEDEA61E47FB273E0D68FCC5201B9E3A99EBD42BE120E105583D9 \
  --from YOURKEY --chain-id osmo-test-5 \
  --node https://rpc.testnet.osmosis.zone:443 \
  --gas auto --gas-adjustment 1.4 --gas-prices 0.04uosmo -y

The Osmosis testnet web app will not show the pool until the token is in their assetlist; the CLI and Celatone work today.


4. For developers: IBC assets inside the EVM

Incoming IBC tokens are automatically exposed as ERC-20 contracts on Limonata (the x/erc20 module, permissionless registration). The test OSMO that crossed over is live at 0xaF43A2dA8E4790Ede12566649D0c2F97716b8518 - a normal ERC-20 your Solidity can hold, transfer, or pool. Combined with gasless transactions, any contract you deploy on Limonata can use assets from any IBC-connected chain without its users ever paying gas.


5. Run your own relayer

IBC has no privileged operator: the channel above is currently serviced by one Hermes relayer run by the team, and anyone can run a second (packets are relayed exactly once; redundant relays are rejected harmlessly). The non-obvious settings for limonata_10777-1 with Hermes v1.13.x:

compat_mode = '0.38'        # CometBFT 0.39 speaks the 0.38 RPC dialect
account_prefix = 'cosmos'
address_type = { derivation = 'ethermint', proto_type = { pk_type = '/cosmos.evm.crypto.v1.ethsecp256k1.PubKey' } }
gas_price = { price = 2000000000, denom = 'aLIMO' }   # integer, 18-decimal denom
trusting_period = '14days'  # unbonding is 21 days

Key import needs the eth derivation path (--hd-path "m/44'/60'/0'/0/0"). You will need your own node for gRPC (see the validator docs for the state-sync recipe); the public endpoints above are enough for sending transfers, not for relaying.


Testnet tokens (LIMO and testnet OSMO alike) have no monetary value. Nothing on this page is an offer, a listing, or investment advice; it documents a protocol capability of the public testnet.

Canonical source: IBC.md Explorer Faucet Face ID wallet