IBC Workflows
Validate IBC paths, inspect channels and clients, and generate verifiable IBC metadata checksums on Terp Network
import { Callout } from 'fumadocs-ui/components/callout';
IBC Workflows
IBC lets Terp Network move tokens and packets across connected chains. This page is the operator/developer entry for inspecting and validating IBC state — not a full relayer runbook.
Chain information
Chain registry and metadata
| Resource | Use |
|---|---|
| Public endpoints / S3 chain files | chain.json, assetlist.json, genesis, peers |
| cosmos.directory | Aggregated RPC/REST for many chains including Terp |
| GitHub network repos | Genesis and network params (mainnet / testnet) |
Always confirm chain ID (morocco-1 mainnet, 90u-4 testnet) before opening channels or sending packets.
IBC paths and assets
Path metadata (channels, ports, counterparty chain) should be checked on-chain:
# List channels
terpd query ibc channel channels \
--node https://rpc.cosmos.directory/terpnetwork \
-o json | jq '.channels[:5]'
# Client states
terpd query ibc client states \
--node https://rpc.cosmos.directory/terpnetwork \
-o json | jq '.client_states | length'Asset denom traces (IBC vouchers):
terpd query ibc-transfer denom-traces \
--node https://rpc.cosmos.directory/terpnetwork \
-o json | jq '.denom_traces[:5]'IBC path validation
Channel verification
# Replace with a real channel id from the list above
CHANNEL=channel-0
PORT=transfer
terpd query ibc channel end "$PORT" "$CHANNEL" \
--node https://rpc.cosmos.directory/terpnetwork \
-o json | jq .Confirm:
- Channel state is
STATE_OPEN - Counterparty port/channel match what you expect
- Connection hops point at a live connection
Client state
CLIENT_ID=07-tendermint-0 # example — use your channel's client
terpd query ibc client state "$CLIENT_ID" \
--node https://rpc.cosmos.directory/terpnetwork \
-o json | jq .Stale clients are a common failure mode for expired paths — see Expired client when that guide is populated.
Connection status
terpd query ibc connection connections \
--node https://rpc.cosmos.directory/terpnetwork \
-o json | jq '.connections[:3]'Generate verifiable IBC checksums
For integrity of exported IBC metadata (channels, clients, connections):
- Export JSON from chain queries
sha256sumthe artifacts- Compare against independently published checksums
Full scripted workflow: IBC Info checksums.
Transfers and relaying
| Task | Guide |
|---|---|
| Token transfer CLI shape | Transfers |
| Run a relayer | Relaying intro |
| Self-relay concepts | Self-relay |
| Wasm light clients | Wasm light client |
Example transfer (fill channel and addresses carefully):
terpd tx ibc-transfer transfer transfer <src-channel> <receiver-on-dst> <amount> \
--from <key> \
--chain-id morocco-1 \
--node https://rpc.cosmos.directory/terpnetwork \
--gas auto \
--gas-adjustment 1.5 \
-yStatic content and deployment
Some teams generate static HTML or JSON from chain registry + on-chain queries for frontends. Patterns:
- Query live IBC state (or registry) in CI
- Hash outputs for release attestations
- Host as static assets with integrity metadata
Verification of hosted pages: Verify website.
Concept background: IBC concept.
Related concepts
- IBC — protocol mental model
- Trustlessness — verify channel metadata
- Tokens — denoms and IBC assets
Further reading
- IBC Info checksums
- Compile & verify code ID (for CosmWasm on either side of a path)
- Public endpoints
- Network relaying
- Trustlessness guides