Very simply, the use case is: I have TIA on chain A, and I want TIA on chain B. But on chain A and B, the most liquid version of TIA is the version bridged directly from Celestia.
Practically, this might happen because I’m a heavy Neutron user, but Osmosis starts offering token incentives on TIA liquidity pools, so I want to move some of my TIA from Neutron to Osmosis.
In both cases, the most widely used and liquid version of TIA on these chains is the one bridged directly from Celestia.
So if PFM doesn’t exist, my desire to go from Neutron to Celestia requires 2 signing events:
- Sign a transfer transaction on Neutron to move from Neutron to Celestia
- Sign a transfer transaction on Celestia to move from Celestia to Osmosis
Frontend solutions can’t improve this alone. With PFM though, we can construct a single transaction on Neutron that sends TIA from Neutron, through Celestia, and to Osmosis – requiring only one user signing event. We can do even cooler stuff too – like using the memo to actually atomically execute a swap or a more complex after transfer action (e.g. swapping, then transferring to another chain, then buying an NFT).
The Skip API makes extensive use of pfm to help all of the top Cosmos wallets and many frontends build flows that abstract the process of explicitly bridging, so the IBC ecosystem feels more like one chain. These include cross-chain NFT purchases (e.g. see stargaze.zone/marketplace), cross-chain swaps (see Keplr or ibc.fun), or bridging interfaces that can ingest tokens from many chains (e.g. see astroport’s bridge interface).
For clarity, with PFM, the protocol is not doing any “routing”. There’s no canonical list of routes that the protocol needs to maintain or anything like that. The protocol is just reading some memo data in the ibc transfer, then forwarding the packet along the channel specified in the memo. This requires very little additional state (the vast majority of the state consumed here is just state related to packets which exists regardless of whether PFM is used to execute these transfers or not)
In summary, I view this as a very cheap way to improve the “money-ness” of TIA. Money needs to flow easily between different markets and different communities. Introducing PFM tears down one really annoying and completely unnecessary barrier to this flow.