Cash out protocol allow users of the protocol to easily aggregate their assets onto one chain natively, and all as one singular token.
A great example to give, is a Web3 PR and Marketing agency. Such agency may be receiving crypto on multiple different chains, as well as multiple different tokens on each. This creates a layer of liquidity fragmentation for that agency. Suppose that at the end of each month, the agency wanted to aggregate all of their assets onto ETH mainnet, and as DAI, so they could deposit it into their company owned multi-sig. So they would have to take all of the revenue from their clients that month, approaching each chain separately. Multiple different swaps, different approvals and bridges later. The web3 agency would have their assets finally on one chain. But after all of that cloudy haze of those different bridges. They may not end up with native assets! They may end up with some sort of wrapped asset with zero liquidity and holders on the source chain!
Cash out protocol’s mission is to solve this. Through the use of ZetaChain as an intermediary of sorts, we are able to always achieve native assets on the destination chain all while bundling what would have originally been 20+ user actions (signing and approving). Cash out Protocol aims to use a smart contract wallet to remove all of the frictions in the UX and use ZetaChain to restrict liquidity fragmentation that bridges cause.
The entire fundamental and underlying architecture behind the protocol revolves around ZetaChain. ZetaChain easily allows us as the protocol to make a cross-chain token transfer. For example, we assume the circumstance where we want to send tokens from chainA to chainB, where chainA being Goerli and chainB being Mumbai, the native tokens must be transacted at this moment of time in the development of their chain. The native tokens are sent to a TSS address specified by ZetaChain with a msg.data field which is encoded and padded with zeroes. Through this built-in use of a transfer function and also the msg.data, ZetaChain is able to “relay” that message to chainB after a series of lock/mints, their own token standard: ZR-20 and also some swaps on ZetaChain themselves.
That being the core principle behind the protocol, the large majority of time with the user is spent converting that asset into a native token of the underlying blockchain. However, once ZetaChain released their further support for ERC-20 type tokens, this wont be an issue.