Cupcakes

Cupcakes

Cross Chain Ecosystem - A Piece of Cake. Now every developer can create zaps to execute multiple transactions for their users with a few clicks.

Carousel Gallery Item: 1
Carousel Gallery Item: 2
Carousel Gallery Item: 3
Carousel Gallery Item: 4

Last updated: 28 August 2022 05:51 AM

Fix markdown issues

The problem Cupcakes solves

Cross Chain Ecosystem - A Piece of Cake


Use case 1

Let's say you have to mint an NFT on Optimism but only have USDT on Polygon.
Ah the age old hassle of cross chain investments and transactions start to scare you.
"Do I have Matic on Polygon? Do I have gas on Polygon? How do I bridge my swapped WETH from Polygon to Optimism? Do I sign another tx on Optimism now? Argh."

Cue entry, CupCakes Project.
Define a tx path, sign a few messages and let CupCake bundle txs on Polygon, relay them to Optimism and wait for your sweet NFT while you get a cup cake

Use case 2

Let's say you want to invest in Beefy Finance on Polygon but you have only USDT on Optimism.
Steps using CupCakes -

  1. Define a path in CupCakes to swap USDT to WMATIC, bridge WMATIC to Polygon, Stake half of the WMATIC and then provide xMATIC and MATIC liquidity on Beefy.
  2. Sign the tx data for this path and wait as CupCakes Smart Contract Wallet executes a meta tx and then relays the cross chain part of the tx using Router CrossTalk SDK and also executes the remaining part of the tx.

Solution

We allow people to create modules which can be then clubbed together by users or developers to create ZAPs.

An example of a ZAP is shown below:
enter image description here
In the photo above, we have created a zap which connects three modules, Swap module, Strader module, & Beefy module.

How?

Read more about how we do it at https://github.com/unfold-22/unfold-ui/blob/main/README.md

Challenges we ran into

EIP-4337 is fairly new & lacks documentation. There is no support for newly added RPC eth_sendUserOperation & no client library which makes things easier for developers. We had to run a custom relayer which would supports the missing functionalities. Along with that we have also created a library that allows user to now send user operations to blockchain with a few lines.

Discussion