The contracts on BSV can be composable too. All interactions with contracts will be on-chain, so there is no problem of locking liquidity in one app. Off-chain is only a contract business logic - purely scalability reason - shared state is not scalable L1