project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4

Credit Card

Making assets interoperable & chain agnostic without adding any time delays and without effecting the security.

Credit Card

Created At

ETHGlobal Paris

Winner of

trophy

🥇 Hyperlane — Best Use

Project Description

magine having funds on Ethereum and discovering a fantastic NFT on Optimism that you really want to purchase. The process involves transferring your funds from Ethereum to Polygon, which takes about 10 minutes, and then you can buy the NFT.

But that's not all; later, you find a service in Arbitrum that requires specific tokens. So, once again, you go through the process of bridging your assets to Arbitrum, waiting another 10 minutes, and eventually acquiring the required tokens. This is bad UX, business can’t come to all the chains you need to go there.

Now, here's the issue: with numerous chains like optimism, zkysync, polygon zkevm, gnosis, scroll, shardeum, and linea, you end up managing several wallets, and your funds get scattered across all these chains, creating a huge mess.

I am attempting to solve this problem through this project

How it's Made

Step 0:

User deposits his funds on multisig wallet. Owner of the multisig wallet are User and Distributed nodes and threshold for signing is 2. We will discuss about the threshold and cases where network goes rogue afterwards.

When user deposits his funds after certain block confirmation all the nodes stores a local copy saying that user has amount X in ethereum. Note: Only Deposit takes time the entire process and spending money on any chain shouldn’t take time.

Step 1:

User makes an attestation that he is willing to do transaction on another chain

We are using EAS for attestation

Step 2:

Once threshold approval is received a transaction is initiated from Escrow Wallet.

This transaction involves 2 main things:

  1. Escrow wallet also verifies the signature and if the signatures is correct then it sends the specified amount of ERC20 token to User’s SCW and call the execute function on SCW
  2. SCW Receives the ERC20 token and intended transaction is executed from SCW so beneficiary of the transaction is User’s SCW

Bill Payment:

After a certain epoch let’s say month end all the transaction values are aggregated and bill is posted on Ethereum for the user to pay. Now there are 2 cases here User pays the bill or he doesn’t. If he pays the bill then we don’t have to worry all went well. Let say user doesn’t pay the bill by himself now the network has to prove that user has made transactions on other chains and hence the bill has to be paid.

Withdrawing funds

If user want’s to withdraw funds he will send a signed transaction to the nodes. Nodes will check if remaining amount ≥ current epoch bill then it will approve or else it will reject.

If nodes is malicious and does not approve the transaction for a purpose then user can raise a dispute. This dispute will have time period let say 2hrs if the nodes can’t prove user’s withdraw request as invalid then user’s withdraw request is processed without nodes approval

background image mobile

Join the mailing list

Get the latest news and updates