Checkout creation is done via the Sales Channel API, meaning that apps creating checkouts are expected to be sales channels. Carts are a component of the online store, a sales channel of its own. Channel apps are expected to implement their own cart system, otherwise it’s all done as the checkout itself is assembled. You could use the cart webhooks to build a checkout based on the line items in said cart, however.