mukan-ibc/docs/versioned_docs/version-v10.1.x/02-apps/01-transfer/03-state-transitions.md
Mukan Erkin Törük 6852832fe8
Some checks failed
CodeQL / Analyze (push) Waiting to run
Docker Build & Push Simapp (main) / docker-build (push) Waiting to run
golangci-lint / lint (push) Waiting to run
Tests / Code Coverage / build (amd64) (push) Waiting to run
Tests / Code Coverage / build (arm64) (push) Waiting to run
Tests / Code Coverage / unit-tests (map[additional-args:-tags="test_e2e" name:e2e path:./e2e]) (push) Waiting to run
Tests / Code Coverage / unit-tests (map[name:08-wasm path:./modules/light-clients/08-wasm]) (push) Waiting to run
Tests / Code Coverage / unit-tests (map[name:ibc-go path:.]) (push) Waiting to run
Deploy to GitHub Pages / Deploy to GitHub Pages (push) Has been cancelled
Buf-Push / push (push) Has been cancelled
initial: sovereign Mukan Network fork
2026-05-11 03:18:28 +03:00

1.9 KiB

title sidebar_label sidebar_position slug
State Transitions State Transitions 3 /apps/transfer/ics20-v1/state-transitions

State transitions

Send fungible tokens

A successful fungible token send has two state transitions depending if the transfer is a movement forward or backwards in the token's timeline:

  1. Sender chain is the source chain, i.e a transfer to any chain other than the one it was previously received from is a movement forwards in the token's timeline. This results in the following state transitions:

    • The coins are transferred to an escrow address (i.e locked) on the sender chain.
    • The coins are transferred to the receiving chain through IBC TAO logic.
  2. Sender chain is the sink chain, i.e the token is sent back to the chain it previously received from. This is a backwards movement in the token's timeline. This results in the following state transitions:

    • The coins (vouchers) are burned on the sender chain.
    • The coins are transferred to the receiving chain through IBC TAO logic.

Receive fungible tokens

A successful fungible token receive has two state transitions depending if the transfer is a movement forward or backwards in the token's timeline:

  1. Receiver chain is the source chain. This is a backwards movement in the token's timeline. This results in the following state transitions:

    • The leftmost port and channel identifier pair is removed from the token denomination prefix.
    • The tokens are unescrowed and sent to the receiving address.
  2. Receiver chain is the sink chain. This is a movement forwards in the token's timeline. This results in the following state transitions:

    • Token vouchers are minted by prefixing the destination port and channel identifiers to the trace information.
    • The receiving chain stores the new trace information in the store (if not set already).
    • The vouchers are sent to the receiving address.