Inside the Demo: Arcana’s Chain Abstraction Explained
Breaking down Arcana's chain abstraction demo to showcase how it works
On June 19th, Arcana Network announced its chain abstraction protocol and over the next few weeks, we shared a sneak peek into the protocol with a series of demo videos across apps like Aave, Uniswap, and Polymarket.
These apps showcased the features of spending a unified balance, auto-funding gas fees, and sending crypto to an address.
In this blog, we will cover an in-depth explanation of how the protocol powers each of these features.
1. Aave demo: Single Unified Balance of Assets Held Across Chains
- When a user imports their wallet, the Arcana Modular Chain indexes the user’s balances across various chains and stores a unified balance for each supported asset. Current supported assets are ETH, OP, ARB, USDC, USDC, MATIC across Ethereum, Optimism, Arbitrum, and Polygon.
- The user connects the wallet to Aave, and Aave reads the unified balance of the wallet. This is made possible with intercepting calls by Arcana since Aave uses its own endpoints to fetch chain-specific user balance (which we do not want) instead of the balance presented by the wallet (which we do want).
- User can now spend their entire USDC balance across chains instead of just the balance held on a specific chain.
- The user makes a deposit on Aave and the wallet initiates the transaction.
- The transaction is a combination of a series of transactions to supply the required liquidity on the user's chain, as well as the final transaction that needs to be submitted to Aave, executing all of these interconnected transactions across chains in a single click is important for a seamless UX.
- The first part of the transaction is to create an “Intent” to spend the desired USDC on Arbitrum and send the intent to Arcana Network.
- The network knows the actual balances across Arbitrum and Optimism, if there isn’t sufficient USDC on Arbitrum but it is available on Optimism, the intent requests for funds to be delivered on Arbitrum. The user moves the required USDC on optimism to an Arcana Vault contract.
- If there are balances on multiple chains, the chain with the fastest and/or lowest gas fees is picked first.
- Once Arcana confirms it has received the user's USDC, Solvers in the network race to pick up the intent and fulfill the user's order of requiring USDC on Arbitrum. Each solver charges a solver fee for supplying the liquidity.
- The successful fill event is recorded and verified onchain, and the outstanding intent is now “closed.”
- With the required USDC on Arbitrum, the user’s deposit transaction on Aave is submitted to the blockchain and executed.
- Fillers/Solvers, based on their requirements, request the Arcana Network to be paid for the liquidity supplied to various users. Arcana’s MPC network verifies the intents that have been fulfilled and initiates a settlement transaction by cosigning a transaction to pay the solver from the vault contract to the solver address
2. Uniswap Demo: Auto Fund Gas Fees
- As previously stated, the transaction confirmation consists of two parts, the Intent for the required liquidity on the desired chain and the final transaction to be submitted.
- In addition to the liquidity required on the target chain, the user might also need the necessary native gas tokens to submit the transaction on their desired chain.
- If the user doesn’t have gas tokens, the network funds the required gas by depositing it into the user's wallet and charging the user a fee on another chain where they do have the funds
- The fees needed to orchestrate the chain abstraction are captured under the fees section during the transaction confirmation across the following categories:
- Solver Fees: Fees charged by solvers for supplying funds on the desired chain
- Protocol Fees: Fees charged by Arcana Network Chain Abstraction protocol for enabling cross-chain transactions
- Chain Abstraction Gas Fee: Various Gas fees are required to orchestrate and execute a series of cross-chain transactions
- Destination Gas Supply Fee: Fees to supply the required gas tokens to the destination chain
- Gas Fees are paid for a series of transactions when the user holds USDC across Arbitrum and Optimism and wants to spend the entire balance on Arbitrum:
- The gas cost incurred in moving USDC from the wallet to the Arcana vault on Optimism and to the solver’s address
- Gas cost incurred by the solver in transferring USDC from their wallet to the user's address
- The gas cost incurred in transferring USDC to the user's wallet on Arbitrum
- Cost of Native Gas Token supplied to Arbitrum
- The gas cost incurred in providing native gas tokens supplied to Arbitrum
The fees are paid in USDC or the tokens in which the transaction is being executed.
3. Polymarket Demo: Send to an Address
Polymarket requires users to deposit funds by sending tokens to their polygon deposit address first and then placing predictions based on the available balance of deposited funds.
Sending to an address is similar to any other transaction through Arcana’s Chain Abstraction Protocol and is in fact part of every transaction where you are interacting with a dapp’s contract.
This is because, when you submit a transaction to interact with a contract, such as a deposit on Aave, and you want to spend your unified balance, you are first executing a send-to-self transaction where you receive the required USDC to your own address on the desired chain, and then submit the Aave deposit transaction to the blockchain.
In case of spending your USDC balance by sending it to an address, you are using the deposit address instead of send-to-self, which is your own address.
Thank you for reading along and hope you are as excited as we are in bringing chain abstraction to the masses as we start onboarding users and partners to a new web3 experience, made possible with Arcana’s modular chain and $XAR. Over the next few months, we will be rolling out our Modular chain, wallet, and SDKs on Testnet and Mainnet.
Signup to our Private Beta to get early access before we launch to the public: