Cross-Chain Gauges & Ecosystem Assessment: Multichain
A deep dive into cross-chain router Multichain, its complex ecosystem, and how Curve profits from its novel technology.
This research was spearheaded by @Lavi_54 and @dabar_90.
Useful Links
Multichain website / Docs / GitHub / Security Model / Bug Bounty / Medium / Coingecko - $MULTI
Multichain anyCall - Whitepaper / Gitbook / Audit Reports
Articles:
LI.FI Blog - Multichain - A Deep Dive
Publish0x - MultiChain Deep Dive
TheDefiant - Questions on Multichain Funds
Etherscan:
Multichain Deployer 1, Deployer 2, Deployer 3, Deployer 4
anyCall anyCall v6 Proxy / Contract Reader
Curve Root Gauge Factory
Curve:
Github - Cross-chain Gauges Factory
Medium - Curve anyCall
Forum - Multichain Gauges (CIP 62/ CIP 63)
Dev docs - Gauges for EVM chain
Tweet thread highlighting Multichain concerns - Barket.eth
TLDR of our Findings
Multichain is a cross-chain router protocol (CRP) that provides the infrastructure for arbitrary cross-chain interactions. The protocol enables cross-chain interoperability of tokens, NFTs, and general data across multiple EVM and non-EVM blockchains.
To secure cross-chain interactions, Multichain relies on a trusted set of external validators - the SMPC network. SMPC is composed of 21 nodes (SMPC 2.0 in beta has 39) which independently mint and manage part of the private key (TTS algorithm). They need to collectively reach a consensus to verify transactions.
When it comes to cross-chain value transfers, Multichain is a hybrid bridge solution. First, it uses a “lock-and-mint” bridging concept. Funds sit in escrow EOA’s (MPC address) on Ethereum for every destination chain. Secondly, the protocol uses a liquidity network with liquidity pools for every token. LP shares for pools are represented by ERC-20 anyTokens (anyDAI, anyUSDC, anyETH, etc.).
Using different bridging solutions for over 82 different blockchains comes with some trade-offs. One of them is liquidity fragmentation or consequently a lack of liquidity. In the worst case, if there is not enough liquidity, users receive a share of the liquidity pool in the form of anyTokens. These represent a claim to a share of the pool's liquidity should it become available again.
Liquidity inefficiencies became visible after critics claimed that user funds were transferred from an escrow wallet and rehypothecated. This led to the conclusion that the SMPC nodes are tightly coordinated, and that they can control user funds. Moreover, it revealed that not all tokens in circulation (incl. IOU tokens) are also backed by funds in escrow.
For cross-chain data transfers, Multichain built the anyCall application. anyCall is a cross-chain messaging tool that can send cross-chain messages and call contracts from one chain to another. Curve was one of the first protocols to deploy anyCall for its cross-chain gauges.
Multichain was audited several times. All relevant products had several audits by reputable auditors. There is also an active bug bounty program and additional security measures.
No severe risks were discovered in relation to Curve’s cross-chain gauge implementations.
Introduction
Multichain is a cross-chain router protocol that provides the infrastructure for arbitrary cross-chain interactions. The project was launched as a DEX named Anyswap in July 2020. In late 2021, the protocol pivoted and started to solely focus on interoperability between blockchains. It rebranded to Multichain and raised $60M in funding. The financing round was led by Binance Labs, joined by Sequoia China, IDG Capital, Three Arrows Capital, DeFiance Capital, Circle Ventures, and the Tron Foundation among others.
Since rebranding, Multichain has experienced strong growth and set an impressive pace for releasing new products and features. Consequently, Multichain is now recognized as a leading provider of cross-chain interoperability solutions. The protocol connects over 80 chains with nearly 3,000 crypto bridges (i.e. unique tokens) and has more than 50 project integrations. Multichain is one of few cross-chain protocols to bridge EVM-compatible chains (e.g. Ethereum, Polygon, Optimism, etc.), with non-EVM chains (e.g. Bitcoin, Near, Aptos, etc.).
Moreover, the protocol takes a market-leading position in terms of TVL ($1.8B) and total volume transferred ($96.3B), according to their own dashboard. The image below provides an overview of Multichain’s impressive performance metrics (for an updated view click the link below).
Since its existence, Multichain has suffered from two smaller exploits. One in July 2021, when Multichain’s router was exploited for $2.3M USDC and $5.5M MIM. Another exploit occurred in January 2022, in which the attacker was able to steal roughly $3M. The hack occurred after a vulnerability in Multichain’s bridge became public. Both vulnerabilities were quickly remedied by the team. In August last year, Multichain published an extensive list of measures put in place to improve its security. More on that later.
The Multichain Product Suite
Multichain has released four main products, and one network (SMPC) to support the product's security. Below is a high-level overview of all relevant components.
The SMPC Network - SMPC stands for Secure Multi-Party Computation network. The network is the core technology that stabilizes and secures all of Multichain’s products. It consists of 21 nodes that are responsible to sign transactions, deploy new bridges, and secure the decentralized management accounts (i.e. where the native tokens are stored). Each node of the network holds a piece of the private key that is used for signing transactions. Nodes can only sign transactions collectively. Essentially, the MPC network is a security feature based on the GG20 algorithm that allows the operation of all Multichain products in a somewhat decentralized manner without having to rely on EOA’s or multisigs.
The Bridge - Multichain uses a lock and mint mechanism to bridge assets between two chains. Each bridge constitutes a link between two blockchains. To transfer an asset, the native token is locked on the origin chain in Multichain’s MPC smart contracts (secured by the 21 nodes). Once locked, a wrapped version of the token is minted on the destination chain. For instance, DAI is locked on Ethereum into the MPC, and a wrapped-DAI version is minted on Fantom. To reverse the process (i.e. to bridge back the asset), the wrapped version is burned and the locked token is released on the origin chain. To mint these wrapped tokens, Multichain deploys their AnyswapV6ERC20 contract on each destination chain. It’s a superset of the standard ERC20 contract that only allows the MPC network to mint tokens.
The Cross-chain Router - The router allows asset transfers between two or more chains. The bridge mentioned above is limited to assets that are native to the origin chain but don’t yet exist on the destination chain. Certain assets, however, are already deployed to several chains, for instance, USDC. The bridge cannot mint a wrapped version of USDC to a chain where USDC is already deployed. The router, on the other hand, is designed to bridge these pre-existing assets, by using liquidity pools. Anyone can provide liquidity to Multichain’s pools. The router ensures cross-chain transfers, by allocating pool shares to users accordingly. In cases where Multichain has deployed the AnyswapV6 contract, the router can also be used to transfer assets between contracts. This reduces the liquidity required. For example, if a bridge is deployed from chain A to B, the router can help to transfer assets to chain C, as long as the asset is not native to chain C. This allows a generalization of bridges so that assets are not required to return to their source chain before being sent to another chain.
anyCall - anyCall is a cross-chain messaging protocol that enables users to send messages and call contracts from chain A to chain B. anyCall uses a trigger and a call API that correspond with each other. Messages are transmitted across chains via the SMPC network. This allows users to call a smart contract function on chain A to trigger an event on chain B. Curve uses anyCall to determine boosted CRV rewards to veCRV holders across multiple chains (more on that later). anyCall is also integrated into the bridge and the router to enable functions that trigger the bridging of assets.
NFT Bridge and Router - Multichain offers the same products listed above also for NFTs, i.e. ERC721 and ERC1155 token standards. However, in this report, the focus will be on ERC20 implementations.
In summary, Multichain is a hybrid bridge. It uses the classic lock-and-mint model (used by most bridges) in combination with liquidity pools using the router. It’s also a hybrid in terms of on- and off-chain components. The SMPC network constitutes the off-chain trust layer. It’s responsible for validating transactions. The on-chain layer consists of all other components, such as the smart contracts for the bridges or the trigger and call API used by anyCall.
Besides the above products, Multichain provides additional infrastructure and tools.
The Multichain explorer gives access to live data on successful and pending transactions.
The network dashboard is an overview of all SMPC nodes and their status.
Multichain also provides charts offering live data on transaction volume and TVL.
The recently launched Co-Mint feature allows multiple bridges to co-mint the same assets.
Secure Multi-Party Computing (SMPC) Network
The off-chain component is the network that transmits the messages. As mentioned above, SMPC consists of 21 nodes, which are open for public participation. MPC (Multi-Party Computing) is a method where a single private key is subdivided and encrypted across several nodes, making it impossible for bad actors to access or reveal the private key by reverse-engineering transactions. According to Multichain, the nodes are run by different organizations, institutions, and individuals. However, many of them are members of the Multichain team.
Together, the MPC network controls all EOAs (containing user funds). Further, they control all transfers of assets between chains, sign transactions, and transmit cross-chain messages. The nodes control the private keys to perform all these actions. For the signatures, the protocol implemented a TSS (Threshold Signature Schemes) algorithm. Each node selected from the network independently receives part of the private keys (to an EOA) that is required for signing transactions. This TSS is denoted as (t, n), where for n possible signatories a minimum of t - (n/2+1≤ t ≤ n) is required. Only “t” colluding players can forge the signature. In other words, validating transactions on the SMPC network requires a majority of nodes to sign the transaction.
Essentially, the security of Multichain is in the hands of the 21 nodes, therefore requiring that a majority of the network (11) is always honest.
anyCall
anyCall is a collection of on-chain and off-chain components that work together to perform cross-chain messaging. The on-chain components consist of the anyCall and anyExec smart contracts, and the API.
The anyCall contract resides on the source chain storing information such as instructions, data, and events. These need to be executed on the destination chain. The anyExec contract contains instructions that understand the source chain’s contract standards. It makes the information compatible with the destination chain where the information is used to execute the respective functions. anyCall plugs into an API to access the contracts on the source chain and the anyExec contract on the target chain.
Multichain’s Integrations
Multichain has a market-leading position in terms of asset bridging and routing. Over 3000 unique bridges have been deployed, whereby Fantom, Ethereum, and Binance (BNB) hold the most TVL. The most active user addresses are on BSC, Ethereum, and Polygon. With around $1.8B in TVL, Multichain almost makes it into the top 10 of protocols by TVL (Compound is currently ranked #10 with $1.89B TVL).
The majority of funds are on Fantom (~43%). Fantom was one of the first bridges supported by Multichain and many tokens on Fantom consider Multichain bridged tokens as the “standard token”. For instance, nearly 100% of all USDC on Fantom was transferred via Multichain (see image below).
The same is true for $MIM on Avalanche, $DAI and $USDT on Fantom, and many other tokens that use Multichain. Thus, Multichain is a systemically important technology for many tokens on several EVM-compatible chains.
What TVL is correct?
The numbers above should be taken with a grain of salt. First, one has to agree on the correct way to measure the TVL. This can be tricky for a hybrid bridge like Multichain, where the lock-and-mint method is combined with a liquidity network. All “external” data providers report significantly lower TVL. According to DeFi Llama, Multichain's TVL is $809M-$1B lower than what Multichain reports. L2Beat reports even less ($594M). Cryptoflows finds only $370M in TVL, and Messari comes up with a non-identical number ($805M).
These data providers don’t claim to be up-to-date. DeFi Llama did sunset their bridge dashboard due to high maintenance requirements. Notably, Multichain’s own TVL dashboard claims more than double what any other source reports.
This results from applying a different method for measuring TVL. Multichain’s bridges store native tokens, usually on the respective source chain. The protocol also has liquidity pools on destination chains. On top of that are the synthetic wrapped tokens and the anyTokens (IOUs minted via the Anyswap bridge contract). Multichain accounts all of these tokens toward its TVL. One could argue that Multichain shows the “available liquidity” within its ecosystem. However, it’s questionable whether this equates to TVL (i.e. value locked by users). Put differently, Multichain conflates user deposits with outstanding IOU tokens. This can result in double accounting.
Given the high number of deployed bridges, chains, liquidity pools, and EOAs that store the native assets, it becomes a mammoth task to calculate Multichain's actual TVL. However, it’s clearly lower than the figures reported on their website.
Increasing Complexity
Multichain is already a very large and complex ecosystem. To complicate matters further, Multichain’s SMPC network does not always burn its minted tokens. This problem is well summarized in a thread from bartek.eth.
To better understand the situation, it helps to differentiate between the three token types. Using $DAI and the Fantom bridge as an example, the following tokens are used:
The original Ethereum-based DAI held in escrow on Multichain’s MPC Fantom bridge contract.
The “wrapped-Fantom-DAI”. All Fantom-based DAI can only be minted via Multichain. In theory, Fantom-DAI is only minted when someone deposits DAI into the MPC bridge on Ethereum (and vice-versa).
Lastly, there is anyDAI that can have two functions. (1) It can be minted to a chain where DAI already exists. Here anyDAI is used by the router and is exchangeable for “real” DAI via Multichain's liquidity pools. (2) It also functions as an IOU token. This can happen when there is not enough liquidity to send the user actual DAI. In this case, users receive anyDAI, which represents a claim to a share of the liquidity pool.
In short, the issue described by Bartek is that Multichain allegedly transferred the underlying Ethereum-based DAI in escrow to provide liquidity elsewhere. Essentially, the network is moving user funds without their permission. The story was also picked up by The Defiant. According to Multichain, this was done to efficiently distribute liquidity within the Multichain ecosystem. They also ensure that the funds are safe and enough DAI is still available. However, in addition to moving DAI, Multichain didn’t burn the corresponding wDAI on Fantom. In other words, the MPC network can circumvent the burn function.
Instead, the transferred DAI was used to mint anyTokens elsewhere, to enable more liquidity. At the time of Bartek’s tweet, this led to around $25M of unbacked anyDAI controlled by the SMPC network at this address. The same address also holds $55M anyUSDC. This further complicates an already complex ecosystem. Moreover, these “empty” tokens are accounted toward Multichain’s TVL.
In response, Multichain released an article a few days after Barteks’ discovery. The blog post agrees with the problem statement, that outstanding wrapped-tokens cannot be larger than collateral. It goes on to confirm that there is enough real DAI in escrow to match the outstanding wrapped-DAI (see the image below from the article).
As seen on the left side, the outstanding “wrapped-Fantom-DAI” was $99M. The article claims that the right side is backing these tokens (in total $100M). The largest sum is held in the Ethereum Fantom bridge MPC. As stated in the article, the reserves match the outstanding Fantom-DAI. However, the article neglects to consider the outstanding anyDAI.
Diving Deeper
A second article from November 2022 was released a few weeks later. It tries to further shed light on the discussion. This time the blog post lists all outstanding wrapped-DAI positions, including those on other chains such as Kava or Moonriver. Similar to the first article, the image supposedly “proves” that all wrapped-DAI within the Multichain ecosystem is backed by real DAI.
The left side lists all minted wrapped-DAI on all available chains. Roughly $106M in total. Correspondingly, the right side shows $106M DAI in escrow. However, this list applies an accounting method that does not necessarily reflect the full picture. For instance, the second line from the top right did not contain $28.5M “real” DAI. On the contrary, it contained $28.5M Fantom-based DAI, which was minted by the Multichain bridge. Moreover, the article neglects to consider all circulating anyDAI. Thus, the outstanding supply is actually much higher than $106M.
Our research shows that this is still the case. Currently, there is over $31.6M in outstanding anyDAI and over $85.6M wrapped-DAI throughout various chains. In total, we found ~$117M in circulating DAI (wDAI + anyDAI). This corresponds with the TVL indicated on the Multichain website. On the other hand, we could only confirm ~$65M DAI in escrow- a ~$52M difference. Note that we neglected a number of dust wallets, so the actual amount in escrow might be slightly higher.
After consulting with the Multichain team, it became clear that the difference is due to Multichain owning some of the outstanding DAI. First, most anyDAI in circulation belongs to Multichain (it’s not user-owned IOUs). Therefore, Multichain understandably does not count the ~$25M toward outstanding positions. However, it requires users to trust that Multichain will never convert the outstanding anyDAI into real DAI. Secondly, the ~$28.5M DAI in the Fantom liquidity pool is considered “shared liquidity”. That is liquidity belonging to the bridge and the router simultaneously, which is owned by Multichain.
In summary, we can conclude that the outstanding DAI positions are higher than the actual DAI in escrow, although it seems that the majority is owned by Multichain. Essentially, users have to trust the Multichain team that their internal accounting is correct and that they don’t convert outstanding DAI positions. Despite hosting several public dashboards, none enable full transparency on this matter. The team mentioned that they are working on creating one.
It’s worth mentioning that this report only took a closer look at DAI. Multichain has thousands of other token bridges. Users are encouraged to take a closer look at the liquidity situation when using these bridges.
Cross-chain Curve Gauges
Curve leverages three Multichain products to enable cross-chain gauges: The anyCall app, the cross-chain bridge, and the router. (see proposal).
For cross-chain gauges, CRV gauge emissions are minted on Ethereum and transferred weekly to alt chains. The cross-chain gauge logic consists of four contracts: The Root Liquidity Gauge and bridger contracts deployed on Ethereum, and the Child Liquidity Gauge and Child Liquidity Gauge Factory deployed on the alt chain.
Curve uses Multichain's anyCallProxy to automate gauge deployment across chains and bridge emissions when requested from the alt chain. Additionally, anyCall can be used to assign cross-chain boosted CRV rewards based on relative veCRV owned by pool LPs, similar to boosting functionality on mainnet. This functionality is not currently available from the Curve UI, and has so far seen limited use.
The image below shows an example of a cross-chain gauge setup. From Fantom (child gauge) to Ethereum (root gauge).
How it works
Suppose a user provides liquidity to the Tricrypto Curve pool on Fantom. In order to process CRV rewards, the following steps take place:
A new epoch week begins and a call is made to the
user_checkpoint
function at theRootGauge
Fantom Tricrypto contract on Ethereum. This calculates the CRV gauge emissions allotted to the gauge from the previous week. (example: tx)
transmit_emissions
mints and transfers the CRV to the Multichain Fantom Bridge via thebridger
contract.
Multichain bridge transmits the message across chains via the SMPC network. Wrapped CRV is minted to the Fantom
ChildGauge
, and is transferred to theChildGaugeFactory
. (example: tx1, tx2)
Wrapped CRV resides in the
ChildGaugeFactory
contract, which acts as a pseudo-CRV minter where LPs can callmint
to claim their accumulated CRV rewards.
Curve doesn’t use Multichain for all chains, as L2's have native bridges. For sidechains and alt L1's, this is the architecture as described in the Curve Xchain Factory GitHub repo.
Multichain Security Measures
To ensure the security of the network, Multichain adopted several security measures. All smart contracts were audited by several auditors such as Certik, Verichains, SlowMist, BlockSec, Dedaub, PeckShield, and Trail of Bits. In addition, Multichain is building an “academic alliance” with global cryptography experts. The audits relevant for Curve cross-chain gauges are:
The anyCall audit by SlowMist. The auditor found two issues (i.e. a missing event record and a risk of excessive authority).
The router V7 audit by BlockSec. The auditor found three medium issues (i.e. potential reentrancy in balance calculation, incorrect logic in the _retrySwapinAndExecute function, and an externally controllable retry in the _retrySwapinAndExecute function).
Multichain also had audits for the cross-chain bridge. One by TrailofBits (audit) and one by SlowMist (audit). These were extensive audits that covered the entire cross-chain bridge security. Trail of Bits found a total of 19 vulnerabilities. Most of them are related to cryptography. SlowMist discovered seven issues, of which two were high-risk issues, one low-risk issue, and four recommendations. Both high and low-risk vulnerabilities were fixed by the Multichain team.
In addition, Multichain hosts a bounty program. According to their documentation, they offer bounties between $500 and $1M in proportion to the severity of the discovered vulnerability.
Multichain further installed a security fund. In March 2022, the protocol established a fund into which 10% of Multichain’s transaction fees are being redirected. This fund will be mainly used to compensate users in case of potential losses caused by vulnerabilities in the Multichain system. A potential vulnerability analysis and compensation plan would be managed by the Multichain community. However, the security fund is not public.
Risk Vectors
Technology and Smart Contracts Risk
Multichain has suffered from two exploits. While they were not insignificant, the stolen amount was rather “small” when compared to other bridge exploits. Rekt.news leaderboard infamously displays that bridges are an appealing target for hackers. The largest exploits have all been bridges. Multichain is the largest cross-chain protocol that hasn’t suffered from a major exploit yet.
Multichain's code was audited by several auditors, including TrailOfBits, PeckShield, and Slow Mist. This strongly reduces the risk of faulty smart contracts. However, as with all protocols, there is always the possibility that bugs remain undiscovered. Given the complexity of bridge operations, there is always a technology risk beyond general smart contract bugs. These risks relate to software failure, human error, spam, and malicious attacks that can possibly disrupt Multichain's operations.
Governance Risk
Currently, there is no direct governance risk. Multichain hints here and there that it aims to move toward a DAO. However, besides the introduction of veMULTI, there are few signs of an active DAO, in the sense that the protocol is steered by anybody other than the team. For instance, the governance forum is not in use. Discord has no governance channel. There is no on-chain governance tool, and Snapshot has had only a few signaling votes. In conclusion, control over the protocol is in the hands of the 21 SMPC nodes and the team.
Custody and Network Risk
As highlighted above, Multichain’s MPC network controls the protocol. This puts the custody and network risk into the hands of the 21 nodes. In theory, it is possible that a majority of nodes maliciously collude and assemble a private key. They could drain user funds or otherwise harm the network. As discovered by Bartek, the MPC network is already moving funds. As the number of nodes increases, such an attack will become increasingly more difficult to coordinate. However, the fact that the MPC nodes can move DAI for liquidity purposes shows that the team has a strong influence over the network.
Users have to rely on the reputation of the node operators. A list of all nodes is public on the Multichain website. Many are part of the team, which is mostly doxxed. From the perspective of Curve, the risk is reduced to the weekly CRV gauge rewards.
anySwap Risk to Curve Governance
Curve is rather limited in its cross-chain governance features, including ramping A, changing fees, modifying ema params, gauge ownership, implementations, etc. While anySwap could be employed to enable such governance features (and indeed these are features Curve will require to be a truly cross-chain platform), it is not advisable to do so. Where anySwap has been integrated, for cross-chain rewards boosting, the risk is siloed by the limited number of CRV bridged each week. In the worst case, a bad blockhash could give someone 100% boosted CRV for a short duration, but all other pool behaviors would be unaffected. The Curve team and LlamaRisk agree that the security guarantees of anySwap are not sufficient to allow unbridled custody of Curve's governance across all chains. (Thanks to Curve dev @Skellet0r for his perspective on this subject)
Discussion
Is it possible for a single entity to rug its users?
No, users can only be rugged by a coordinated attack of SMPC node validators. Currently, we can't state that this type of attack is impossible, because of past events. The protocol used escrow funds to transfer liquidity without the user’s consent. However, a rug is highly unlikely. The team is doxxed and it still requires more than just the team to collude (i.e. 11 out of 21 nodes). In addition, the new fastMPC is planned to replace the SMPC network. fastMPC comes with a higher number of nodes (40+), which will increase the decentralization of the network.
If the team vanishes, can the project continue?
From a technical perspective: Yes, the project can continue without the team. But it can't continue without its validators. The SMPC network plays a crucial role in protocol operations. From an organizational perspective: There is no functioning governance system in place. Despite some recent attempts to transition to a MultiDAO, the team is still the focal point leading the project.
Do audits reveal any concerning signs?
No, there were no concerning signs discovered. Multichain had several public audits, which were performed by reputable auditors like CertiK, PeckShield, and TrailofBits, among others. All revealed vulnerabilities were fixed by the Multichain team.
LlamaRisk Team Reflection
Curve has been practicing good opsec by limiting Curve’s exposure to bridging protocols like Multichain. Cross-chain gauges are exposed only by the amount of CRV allocated to cross-chain gauges in a given week. While arbitrary data bridges like anySwap are essential to enable a cohesive governance regime across all chains, the attack surface is simply too significant compared with the security guarantees of existing bridges. The downside is that Curve instead requires a trusted actor to manage many cross-chain governance processes on behalf of the DAO. Currently this responsibility falls on 0xbabe (Curve deployer), which presents a single point of failure. For now, the DAO is caught in a wait-and-see game: when will bridge technology mature to the point that Curve can entrust to them critical governance control?
References
Multichain website / Docs / GitHub / Security Model / Bug Bounty / Medium
Coingecko - $MULTI
Multichain Medium - Transparency is all that matters
Multichain Medium - Open to Transparency
Multichain Medium - Multichain is one year old
Multichain Medium - Disclosure of Security Policy
Multichain - anyCall whitepaper
Multichain - anyCall website
Multichain Gitbook - anyCall
Multichain Github - Audit Reports
Multichain anyCall Workshop by Moralis
TheDefiant - Questions on Multichain Funds
LI.FI Blog - Multichain - A Deep Dive
LI.FI Blog - Navigating Arbitrary Messaging Bridges
LI.FI Podcast - The Crypto Mustard (Multichain)
Cointelegraph - Tool to call Contracts
Publish0x - MultiChain Deep Dive
Etherscan - Multichain Deployer 1, Deployer 2, Deployer 3, Deployer 4
Etherscan - anyCall v6 proxy / Contract Reader
Etherscan - Root Liquidity Gauge factory
Etherscan - EOA bridge wrapper
Etherscan - CRV minter smart contract
Etherscan - Staking rewards smart contract (Synthetix fork)
Etherscan - Gauge controller contract
Curve Medium - Curve anyCall
Curve Forum - Multichain Gauges (CIP 62/ CIP 63)
Curve Github - Cross-chain gauges factory
Curve Docs - Gauges for EVM Sidechains
Child Gauge Factory - Fantom, Polygon, Optimism, Arbitrum, Avalanche, Gnosis, Moonbeam
Twitter - Barket.eth
ABSOLUTELY GREAT ARTICLE!