This project supports payments on Optimism, while allowing customers to pay using a token of choice -- while merchants receive in their preferred asset. Optimism provides a platform for much faster transactions that also have a settlement period that could allow for certain disputes similar to what we're familiar with in typical card networks. Optimistic Cafe is an example of a shop that allows users to immediately obtain the token that the merchant prefers to receive in, even if they don't have it just yet. By embedding the Uniswap Widget, the user can swap their existing tokens into the types supported by the merchant, which allows merchants to support a wider range of customers. This is similar to physical stores with ATMs in it, if they only accept cash payments. Demo: https://youtu.be/jNNt6f3q2w8
The widget points to Optimism, and uses Uniswap pools to swap a user's tokens for the asset supported by the merchant (in the case of the demo, it is USDC). Optimistic Cafe is a simple react/Next.js application that uses ethers.js to connect with the user's wallet and submit transactions.