• Klaster
  • Posts
  • Learn How Klaster Fixes the Cross-Chain User Experience

Learn How Klaster Fixes the Cross-Chain User Experience

Efortless cross-chain asset management for the rollup-centric future

The name of the game in blockchain scaling & privacy (for quite some time now) has been - rollups!

Rollups are a kind of best of both worlds approach for financial institutions & large apps looking to leverage blockchain as a technological backbone of their operations.

The reasons are plenty, but some of the most often cited are:

  • Secure. Rollups inherit security from their L1 chain. If that blockchain is Ethereum, they are secured (as of Jan 2024) by $64B of staked Ether & world-class validator infrastructure.

  • Easy to deploy. Rollups are becoming borderline trivial to deploy. Services like Conduit are making rollup creation as easy as deploying a new server instance on AWS or DigitalOcean

  • Controlled. While rollups inherit their security from L1s, they can be much more controlled than the public blockchains they lean on to. This is most useful for financial institutions looking to build their own blockchain based infrastructure.

These events are already starting to unfold. Right now, most major exchanges run their own blockchain - with both Coinbase and Binance working on the OP stack. The implications of easy-to-deploy, secure and modular rollups for blockchain adoption cannot be overstated.

However…

However, the more rollups we have, the user experience of blockchains becomes worse. Currently, there are no set standards on how to issue the same assets on multiple rollups. Or how to control assets from one rollup on another rollup.

What if a smart contract on Rollup A needs to access user funds on Rollup B? All these questions remained unanswered - until now.

Klaster - Building Universal Cross-Chain Primitives

Klaster is a cross-chain developer stack & protocol, built on top of Chainlink CCIP, which greatly simplifies the user experience & developer experience for cross-chain apps.

We start by assuming most, if not all, financial apps need to work with three basic primitives - assets, accounts & apps.

Let’s define them:

  • Assets - An asset is a digital representation of value, secured by some blockchain. It can be an ERC20 token, an NFT or some other standard.

  • Accounts - An account is a digital representation of ownership. An account can hold assets. Every account has one or more owners.

  • Apps - An app is a service which can take ownership of assets and manipulate them in some way. It can also create new assets.

Until now, the hierarchy put assets, accounts & apps under the blockchain. For example: USDC would be a token issued on Ethereum, with bridged versions of the token being only derivatives. Uniswap would be an app deployed on Ethereum, with versions on other chains being clones. If a user wanted to have a Smart Account such as Safe - it would need to be deployed on multiple blockchains.

So if a user was swapping USDC on Uniswap through Safe on three blockchains (e.g., Ethereum, Polygon & Optimism), they would essentially use three versions of the token to interact with three versions of the Uniswap app & have three separate smart wallets.

Klaster flips this hierarchy on its head!

In the Klaster stack - the apps, accounts & assets are first-class citizens, with blockchains serving only as custody providers for assets & an infrastructure layer for accounts & apps.

We achieve this by exposing three categories of pre-built primitives, on top of which developers can build their apps.

  • Cross-chain assets (tokens)

    • Deployed on multiple blockchains at the same time (no “native” blockchain)

    • Share their supply across all deployed blockchains (a burn on one chain is a mint on another)

    • Can be used by apps across blockchains (e.g. Uniswap on Polygon can be used as liquidity to swap tokens on Optimism)

  • Cross-chain accounts

    • Controlled by a single smart wallet on a single “home” chain.

    • Can send / receive assets on multiple blockchains

    • Every new or existing smart contract can create a “cross-chain subaccount”

  • Cross-chain apps

    • Use cross-chain assets as their default asset type.

    • Know how to respond to transactions from “remote” blockchains

    • Can atomically interact with apps on non-home blockchains.

By assuming that the blockchains are only serving as custody providers for apps, accounts & assets - everything that we build is chain-agnostic by default.

A cross-chain token doesn’t care on which blockchain it’s currently custodied. It has the same cryptographic identity (address, smart contract code, …) everywhere.

A cross-chain app doesn’t care which blockchain the asset it’s trying to use is currently on - it just knows that there is an asset (e.g. a token), with an address x that it can use to perform some action on. If that token is not on the same blockchain as the app - no big deal - the Klaster contracts will simply relay the action through CCIP and fetch the token to the same chain as the app.

Thinking beyond infrastructure

In order to make pleasant cross-chain user experiences, we must think beyond infrastructure and develop mental models which take into account that our users are not actually interacting with blockchains - they’re interacting with assets, accounts & apps.

Klaster is committed to building a stack which makes this process effortless.

Klaster Stack Roadmap

✓ Cross-Chain Accounts (Mainnet Beta)

Klaster has built & deployed our Account Singleton Smart Contracts on all blockchains currently supported by CCIP. This enables every developer to easily deploy cross-chain accounts for their smart contract.

Beyond that, we’ve built the first app which leverages the cross-chain accounts infrastructure to enable any Safe{Wallet} to send / receive assets across multiple blockchains.

Give it a try at https://safe.klaster.io 

Safe{Wallet} Cross-Chain Interface

✓ Cross-Chain Assets (Testnet)

We have deployed the Asset Singleton Smart Contracts on all testnets supported by Chainlink CCIP and currently enable users to mint & bridge cross-chain ERC20 tokens.

✓ Cross-Chain Apps (Proof of Concept)

We have wrapped the Uniswap app and enabled cross-chain liquidity aggregation - e.g. swap tokens which you hold on Polygon, but use liquidity provided on Optimism.

✓ Cross-Chain Frontend SDK (In Development)

We are working on developing a TypeScript SDK, which can encode any transaction into a cross-chain transaction, enabling developers to easily build frontends for Klaster-powered apps.

We are hoping to launch the developers preview of the SDK in Q1/2024

Get in Touch

Interested in building chain-agnostic apps? Connect with us at [email protected] & let’s chat.