# CrossCurve MetaLayer

**CrossCurve MetaLayer** is an all-in-one decentralized solution for cross-chain liquidity, seamless token swaps, and deep liquidity access — secured by the Consensus Bridge.

At its core, MetaLayer is a **MetaAggregation** protocol: it connects multiple aggregators, bridges, and DEXs into a single routing layer, automatically finding and executing the best routes across all sources.

***

## How It Works

1. User initiates a cross-chain swap via [Crosschain DEX](https://docs.crosscurve.fi/user-documentation/swap-interface)
2. [MetaLayer API](https://docs.crosscurve.fi/developer-documentation/guide-for-developers/integration-guide) queries all connected aggregators and liquidity sources in parallel
3. Routes are compared across all sources for best price and speed
4. The optimal route is selected and executed
5. User receives assets on the destination chain

→ [Swap Interface Guide](https://docs.crosscurve.fi/user-documentation/swap-interface)

***

## MetaAggregation

MetaAggregation is the core principle behind CrossCurve MetaLayer. Instead of being just another aggregator or bridge, MetaLayer aggregates aggregators themselves — creating a unified access point to the entire cross-chain liquidity landscape.

**How it differs from standard aggregators:**

* Standard aggregators connect to individual DEXs and liquidity sources
* MetaLayer connects to multiple aggregators, bridges, AND individual sources simultaneously
* Routes are compared across all levels — finding paths that single aggregators might miss

**What this enables:**

* **Deeper liquidity access** — aggregated liquidity from multiple sources enables lower slippage even for large transactions
* **Better routing** — parallel queries across all sources find optimal paths considering price, speed, and fees
* **Broader coverage** — access to EVM and non-EVM networks, DEXs, bridges, and messaging protocols through one interface

***

## Core Products

* [MetaLayer API](https://docs.crosscurve.fi/developer-documentation/guide-for-developers/integration-guide) — unified API for cross-chain operations
* [Consensus Bridge](/crosscurve-metalayer-1/what-is-crosscurve-metalayer/crosscurve-consensus-bridge) — multi-protocol message validation
* [Token Bridge](/crosscurve-metalayer-1/what-is-crosscurve-metalayer/crosscurve-token-bridge) — cross-chain token transfers
* [Oracle Network](/crosscurve-metalayer-1/what-is-crosscurve-metalayer/crosscurve-oracle-network) — price feeds and data
* [Crosschain DEX](https://docs.crosscurve.fi/user-documentation/swap-interface) — decentralized exchange interface

***

## Consensus Bridge

Transport layer for secure cross-chain message validation. Uses simultaneous consensus from multiple independent messaging protocols, reducing single point of failure risks.

This multi-protocol approach works similar to 2FA — a transaction is validated only when multiple independent systems reach agreement. Unlike bridges that rely on a single messaging protocol, Consensus Bridge requires confirmation from several independent sources before executing a transaction.

→ [Learn more about Consensus Bridge](/crosscurve-metalayer-1/what-is-crosscurve-metalayer/crosscurve-consensus-bridge)

***

## For Integrators

CrossCurve MetaLayer provides infrastructure for wallets, DEXs, and dApps that need cross-chain functionality.

### Single API Integration

MetaLayer API provides one endpoint for all cross-chain operations. Instead of integrating multiple bridges and aggregators separately, partners connect once and get access to the entire liquidity landscape. This reduces development time and ongoing maintenance.

### No Liquidity Requirements

MetaAggregation eliminates the need for partners to source or maintain their own liquidity. The protocol automatically routes through existing liquidity pools across all integrated sources — partners focus on their product while MetaLayer handles liquidity access.

### Native Bridge Infrastructure

Unlike pure aggregators that rely entirely on third-party bridges, CrossCurve operates its own bridge and messaging layer. For integrators this means:

* Direct access to bridge infrastructure without intermediary fees
* Simplified integration — one contract interface for both aggregated routes and native bridge transfers
* Lower latency for routes using native infrastructure

### Security Through Consensus

Consensus Bridge provides multi-protocol validation for cross-chain messages. Integrators can optionally enable this security layer for their transactions — gaining multi-protocol validation without additional implementation. This allows partners to choose the security level appropriate for their use case.

→ [Integration Guide](https://docs.crosscurve.fi/developer-documentation/guide-for-developers/integration-guide) | [Smart Contracts](https://docs.crosscurve.fi/developer-documentation/crosscurve-smart-contracts)

***

## White Label Solutions

CrossCurve offers white label integration for partners who want to provide cross-chain functionality under their own brand. Full customization of UI and user experience while leveraging MetaLayer infrastructure.

→ [White Label Solutions](broken://pages/8b2f0cf020b3ab9e40839e0c6d9af9fd7fbb4c85) *(coming soon)*

***

## Supported Networks

CrossCurve MetaLayer supports multiple chains natively, with extended access through integrated aggregators. The protocol focuses on EVM-compatible chains with continuous expansion to new networks.

→ [View supported networks and contracts](https://docs.crosscurve.fi/developer-documentation/crosscurve-smart-contracts)

***

## Why Decentralization Matters

CrossCurve MetaLayer is a decentralized protocol for cross-chain liquidity management. Unlike intent-based protocols where core logic runs off-chain, MetaLayer stays true to DeFi principles — anyone can participate without high entry barriers or reliance on centralized intermediaries.

→ [Case Studies](broken://pages/01c7e2356d39ab1368430b41456ffd4f9f19026a) *(coming soon)* | [Security Audits](https://docs.crosscurve.fi/about-crosscurve/security-audits)


# Summary

## CrossCurve: the End Game for fragmented liquidity

powered by Eywa Team

## Abstract <a href="#abstract" id="abstract"></a>

***CrossCurve*** is a cross-chain trading and yield protocol built on top of Curve, creating a unified cross-chain liquidity market by aggregating existing Curve pools (with over $2 billion in TVL).

## The Problem we are solving <a href="#the-problem-we-are-solving" id="the-problem-we-are-solving"></a>

Fragmented liquidity is a significant issue in the market, as establishing and maintaining liquidity across multiple blockchains is expensive. Moreover, transferring large amounts between blockchains is inefficient (due to high slippages), slow (L2 optimistic bridges), inconvenient, and unsafe (due to numerous bridge hacks).&#x20;

**Liquidity tends to move between blockchains strictly in pursuit of higher yields**, leading blockchains and protocols compete for liquidity by offering incentives. This is why we have **formed a strategic partnership with Curve finance,** a leading and foundational project in DeFi and the innovator behind the ve-economy model. Essentially, Curve has developed a method to attract and retain TVL over the long-term.&#x20;

In collaboration with **Curve**, we are introducing the **CrossCurve** protocol to address the issues of fragmentation and movement of liquidity between blockchains where **Curve** is present. This initiative enables liquidity providers to chase higher yields. By leveraging **Curve's** extensive liquidity pools, we offer both B2B and retail users the advantage of low slippage rates for exchanging both individual assets and **Curve** LP tokens.&#x20;

1\) **Our first goal** is to offer the market a safe, cost efficient, and convenient method for transferring large volumes of liquidity between chains.&#x20;

2\) **Our second goal** is to enable projects to scale quickly and enhance the efficiency of their capital utilization, thereby reducing costs.

Our solution enables web3 projects to achieve Cross-Chain Listing for the first time, granting access to users and traders across all linked chains. It simplifies token purchases to a single click with any supported asset.

## **Value Proposition** <a href="#value-proposition" id="value-proposition"></a>

* ***Сapital Efficency & Low Slippages*****&#x20;-** CrossCurve's unique architecture significantly enhances liquidity utilization efficiency, ensuring low slippage rates (2-5 bps) during cross-chain exchanges, even for large transactions. This efficiency means that CrossCurve requires significantly less liquidity than its competitors to achieve these low slippages.
* ***Cut Costs & Scale Quickly*** - Attract new users from various blockchains, rapidly scale the utility of your token across networks, and reduce costs associated with maintaining cross-chain liquidity by utilizing a single pool.
* ***Cross-Chain Listings (Trade & Yield) -*** CrossCurve grants Web3 projects access to the largest liquidity pool in the market, enabling them to create their own cross-chain pools. Web3 projects can list their token in any chain against crvUSD, Stables, WBTC, WETH, and Curve LPs, with the ability to trade simultaneously on all chains against any asset. Enjoy yield provided by CrossCurve, Curve, and Convex on your liquidity.
* ***Security First -*** Highlighting the importance of safety, the CrossCurve Consensus Bridge will secure the CrossCurve Protocol by aggregating the most advanced bridge protocols (LayerZero, Axelar, Wormhole, Chainlink CCIP). **No more reliance on single a bridge** when moving large liquidity positions. We will a customizable level of security, allowing clients to select the most suitable option. For cross-chain pools, we utilize reliable code from Curve, and all additional code has undergone rigorous auditing.
* ***Easy Migration of Curve Liquidity Between Chains*** - Curve liquidity providers will be able to exchange their LP tokens between chains (such as 3pool, 3crypto, crvUSD LP, etc.) without experiencing impermanent loss, thus moving funds in pursuit of higher yields.
* ***Higher Yields*** - Thanks to a synergistic combination of incentives from Curve, Convex, and CrossCurve, Curve liquidity providers can achieve increased yields on their Curve LPs tokens (such as 3pool, 3crypto, crvUSD LP, etc.) by supplying them in CrossCurve pools.

## Growth Potential <a href="#growth-potential" id="growth-potential"></a>

We are also establishing **CrossCurve DAO,** which, through the **EYWA token**, will become a significant player in the Curve ecosystem's bribery market, alongside existing entities such as **Convex, Curve, StakeDAO,** etc. Blockchains (L1, L2) & Defi Protocols seeking to increase their TVL can achieve this by incentivizing cross-chain pools through the bribery market.&#x20;

With a commitment to innovation, security, and user-centricity, CrossCurve is set to revolutionize cross-chain liquidity in the DeFi space. We offer seamless interoperability through the CrossCurve Consensus Bridge protocol, alongside attractive incentives within the Curve ecosystem's bribery market, thanks to our partnership with Curve.&#x20;

**Our goal** is to open new opportunities for liquidity providers, Web3 projects, and users across the decentralized ecosystem. **Our solution** will render the Cross-chain movement & swaps of Curve Assets (crvUSD, various LPs, [WBTC](https://curve.finance/#/fantom/pools/factory-stable-ng-39/deposit), [WETH](https://curve.finance/#/fantom/pools/factory-stable-ng-37/deposit)), Liquid Staking Tokens (LST), and [stablecoins](https://curve.finance/#/fantom/pools/factory-stable-ng-24/deposit) cost-efficient, convenient and secure.


# What is CrossCurve MetaLayer

**CrossCurve MetaLayer** is an orchestration layer built on top of liquidity routes.

Instead of providing access to a single DEX, bridge, or aggregator, MetaLayer operates one level higher - it connects multiple liquidity sources and execution systems into a unified routing layer. This allows CrossCurve to construct multi-step, cross-protocol, and cross-chain execution paths that are not available through direct integrations with individual protocols.

MetaLayer aggregates:

* DEXs
* Aggregators
* Token bridges

and orchestrates them into optimized execution flows.\
A single route may include several sequential steps - for example, a swap via one DEX, followed by a bridge, and finalized by another aggregator on the destination network.

As a result, MetaLayer enables execution efficiency that cannot be achieved by standalone protocols.

The CrossCurve MetaLayer ecosystem consists of multiple products that can operate independently, but together form a composable system capable of solving complex liquidity routing problems through a single integration.

### Why CrossCurve MetaLayer?

#### For Integrators

Integrating liquidity across multiple chains traditionally requires:

* Maintaining N direct integrations with DEXs, bridges, and aggregators
* Constantly updating routing logic as new protocols and paths emerge
* Manually handling cross-chain execution and failure scenarios
* Missing optimal execution paths due to fragmented infrastructure

The most critical pain point is the operational and engineering cost of maintaining multiple integrations.

CrossCurve MetaLayer replaces this complexity with a single integration.

By integrating once with the MetaLayer API, an integrator gains:

* Access to all supported liquidity routes and their combinations
* Automatic discovery of optimal execution paths
* Reduced engineering overhead and lower maintenance costs
* Faster time-to-market for Integrators
* Seamless scalability as new protocols and networks are added

One integration unlocks all current and future routes - something that is fundamentally impossible with direct, protocol-level integrations.

#### For Blockchains

For blockchains, access to global liquidity usually requires significant upfront investment:

* Incentivizing liquidity providers

or

* Bootstrapping bridges with protocol-owned liquidity

With CrossCurve MetaLayer, blockchains can connect their native assets to the broader crypto market without allocating capital to liquidity bootstrap.

This means:

* No need to incentivize LPs
* No need to deploy a DEX to enable cross-chain swaps
* No need to lock liquidity into bridge pools

Through MetaLayer, a blockchain gains frictionless access to external liquidity flows, enabling inflow of TVL from the broader crypto ecosystem. This lowers entry barriers for users and developers, improves UX, and supports organic ecosystem growth.

### CrossCurve Ecosystem Products

CrossCurve MetaLayer is implemented through a set of composable products. Each product can be used independently, but together they form a unified orchestration system.

#### MetaLayer API

The primary integration point for developers and integrators.

Provides programmatic access to all supported liquidity routes and their combinations through a single API.

#### CrossCurve Token Bridge

The CrossCurve Token Bridge (ex Eywa Token Bridge ) is an infrastructure solution designed for the fluid movement of assets across multiple blockchains.

By integrating aggregation through the CrossCurve Metalayer, projects unlock Any-to-Any exchange capabilities (any token for any token).

#### CrossCurve Oracle Network

The CrossCurve Oracle Network (ex Eywa Oracle Network) is a decentralized cross-chain messaging service. It provides a robust solution for clients who require seamless communication between different blockchains but want to avoid the high costs and lengthy development cycles associated with building a proprietary messaging infrastructure. By leveraging CrossCurve’s pre-built oracle network, projects can focus on their core logic while ensuring secure and rapid data transmission across chains.

#### Consensus Bridge

CrossCurve Consensus Bridge is a high-security messaging service that utilizes multi-protocol validation. A message is only delivered to the recipient once it has been independently confirmed by several different messaging protocols, effectively eliminating any single point of failure.

This product is purpose-built for projects with stringent security requirements looking to mitigate the risks of cross-chain infrastructure exploits. If the compromise of a single messaging protocol poses an unacceptable risk to your business model, the Consensus Bridge provides the necessary resilience and peace of mind.

#### CrossCurve App

A user-facing application that demonstrates MetaLayer capabilities through a unified UX, showcasing how complex routes can be abstracted into simple user interactions.

### Summary

CrossCurve MetaLayer is not a single protocol or a simple aggregator.\
It is an orchestration layer that turns fragmented liquidity infrastructure into a unified execution system.

For integrators, it replaces many integrations with one.\
For blockchains, it opens access to global liquidity without capital-intensive bootstrapping.\
For the ecosystem, it enables liquidity to flow freely across chains and protocols.<br>

<br>

<br>

<br>


# CrossCurve Consensus bridge

The **CrossCurve Consensus Bridge** addresses one of the key problems of modern cross-chain solutions — the vulnerability of bridges and the so-called “**black swan**” risk. A prime example of such a risk is the **Multichain** incident, after which **Curve DAO** withdrew its trust from bridges based on centralized governance.

The core issue lies in the fact that most existing bridges are controlled by a limited group of participants — validators or members of multisig groups. This makes them vulnerable and unstable. Classic examples of such failures include hacks or loss of funds in protocols such as **Multichain**, **PolyNetwork**, **Wormhole**, **Nomad** and **Ronin**.

Unlike the traditional **PoA** (proof-of-authority) solutions, the **CrossCurve Consensus Bridge** uses a validation model based on agreement between independent data transmission protocols. This architecture involves **Axelar**, **LayerZero**, **Router Protocol**, **Asterizm** and **Chainlink CCIP**. A transaction is completed only if consensus is reached among multiple sources. If the data diverges, the transaction is automatically rejected, preventing potential compromise and ensuring the safety of user funds.&#x20;

<figure><picture><source srcset="/files/U0Boad9J8Amr8szF6RDv" media="(prefers-color-scheme: dark)"><img src="/files/YvLcJD2LIYUdMRUNqeVU" alt=""></picture><figcaption></figcaption></figure>

### How it works:

* The user's assets are locked in the consensus bridge smart contract on the source network.
* Transaction data is transmitted through multiple protocols simultaneously, and the smart contract of the target network verifies their consistency.&#x20;
* If consensus is reached, the transaction is finalized; otherwise, the funds are returned to the user.

### Advantages:

* **Security**: The risk of compromise is minimized thanks to consensus among several protocols — the likelihood of all protocols being hacked at the same time is virtually zero.
* **Decentralization**: Bridge security does not depend on individual teams; the bridge smart contracts are governed by **CrossCurve DAO**, and the protocol’s liquidity is fully controlled by users.
* **Versatility**: The consensus bridge supports the transmission of both tokens and data, making it a universal tool for cross-chain applications.

**Consensus Bridge** is not just a bridge—it is the transport layer of the **CrossCurve Metalayer**, providing a reliable connection between blockchains. It enables developers and users to safely transfer assets, data, and liquidity, forming the foundation for a scalable and resilient cross-chain ecosystem of the future.

<br>


# CrossCurve Token Bridge

The **CrossCurve Token Bridge** lets projects present their token on other networks by locking their assets in smart contracts and issuing the token’s derivative on other networks. Our bridge allows you to move issued derivatives between blockchains in all directions, without having to return to the original token lock network using **Cross-chain Data Protocol** **(CDP)**.

Regardless of the differences among protocols, rules specifications and governance mechanics of these networks, a usage of the **CrossCurve Token Bridge** makes it possible for users to move assets among these chains in a reliable and secure way.

## Mechanics

The **CrossCurve Token Bridge** consists of the **Portal** and **Synthesis** smart contracts deployed in each of the Blockchains: 1, 2, 3, and uses the **CrossCurve Cross-chain Data Protocol (CDP)** to transfer cross-chain calls between them.

To move assets across Blockchains, the **CrossCurve Token Bridge** uses **synthetic assets (s-tokens)**. S-tokens are created when someone needs to transfer an asset between two blockchains.

### Example: Native Token Bridging

<figure><picture><source srcset="/files/Z2Ci6J3e6qSSdYNiNLaY" media="(prefers-color-scheme: dark)"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeRUWttkdRZi8BvJ7VaIBiwAjSUg3J_5_IQlbTQXkObRWrp6DJFmNtWwerBPdrohxxnm6zT9Nj0Yt_sg8ywYAYNox0s1kNlkmPRvCRq3g_Bm2By8eFMV5VAw6QHFRCeDhat9xsScw?key=blmc4LfhoPP44Q748Sjj_A" alt=""></picture><figcaption><p>Example of bridge with native tokens</p></figcaption></figure>

When transferring token **X**, the bridge uses a **Lock-Mint-Burn-Unlock** mechanism.\
The original **X token** is locked in the **Portal** smart contract on **Blockchain 1**.\
This transaction triggers an event in the bridge smart contract, which is monitored by the [**Consensus Bridge**](https://docs.crosscurve.fi/crosscurve-metalayer/what-is-crosscurve-metalayer/crosscurve-consensus-bridge).

The [**Consensus Bridge**](https://docs.crosscurve.fi/crosscurve-metalayer/what-is-crosscurve-metalayer/crosscurve-consensus-bridge) uses multiple messaging protocols to transmit the event to **Blockchain 2**.\
Once a sufficient number of confirmations are received from messaging protocols, the synthetic token **sX** is minted in the destination blockchain.

### Example: Synth Token Transfer Without Portal

<figure><picture><source srcset="/files/PaJRAHypoNEvwaCTWZKG" media="(prefers-color-scheme: dark)"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd2m_urqF8IYnL6Z7TziapVkIBtX79xYxYwwKl9f51py4STEDgMsYdONkQ1i9Paq-fJFX0_FQuGQQQM-mY-54LxAbAzKSZ6K7P27OKlsq8A_ektvpNp_jDu0Doy21hFArIltoPaKw?key=blmc4LfhoPP44Q748Sjj_A" alt=""></picture><figcaption><p>Example how bridge Synth tokens to other chain without use Portal</p></figcaption></figure>

When transferring a synthetic token **sX**, the bridge uses a **Mint-Burn** mechanism.\
The original **sX token** is sent to the **Synthesis** smart contract on **Blockchain 1**, triggering an event in the bridge contract.

The [**Consensus Bridge**](https://docs.crosscurve.fi/crosscurve-metalayer/what-is-crosscurve-metalayer/crosscurve-consensus-bridge) sends the message to **Blockchain 2** through multiple messaging protocols.\
Once enough confirmations are gathered, a **new instance of the same sX token** is minted on **Blockchain 2**.

{% hint style="info" %}

## Example in Practice

Let’s consider Bob transferring **X token** from **Blockchain 1** to **Blockchain 2**. The process works as follows:

1. Bob sends a transaction to the **CrossCurve Token Bridge**.
2. The original **X token** is locked in the **Portal** smart contract on Blockchain 1.
3. This triggers an event in the bridge contract, which is tracked and processed by the **Consensus Bridge**.
4. The Consensus Bridge uses multiple messaging protocols to independently relay the event to Blockchain 2.
5. Once enough confirmations are collected, the **sX token** is minted in Blockchain 2.

In our example, Bob’s transaction activates the **Synthesis** contract in Blockchain 2, which issues the synthetic **sX token**, backed by the **X token locked in Blockchain 1**.

At any time, Bob can initiate a reverse conversion to retrieve the original **X token**.
{% endhint %}

## Transaction history

Transferring tokens from one blockchain to another using the **CrossCurve Token Bridge** is a complex cross-chain operation. The user can track its execution in the interface in real time.

## Security

Only tokens whose smart contracts have been thoroughly audited by the **CrossCurve** team are added to the **CrossCurve Token Bridge**. The audit takes into account many characteristics of the project, and also examines the code of smart contracts for the presence of logic for moving and locking user tokens, which potentially creates a danger to user funds. Only tokens whose code complies with all security rules are allowed to be moved.\ <br>


# CrossCurve Pools v2

## Introduction

**CrossCurve Pools v2** is an advanced pool system designed to optimize cross-chain liquidity management within the **СrossCurve MetaLayer**. The system works with three primary asset types: **USD-**, **ETH-** and **BTC-**&#x70;egged tokens, which are issued by various projects across different networks. In the hubchain, a set of paired pools is created for each of these asset types. Each pool corresponds to a specific direction (blockchain) and functions as a bridge to that network.

## Pool Structure

Each paired pool in the hubchain consists of two tokens:

* **Universal token** - an asset from **Sonic**, common across all pools of the same type (**xfrxUSD** for **USD** assets, **xfrxETH** for **ETH**, and **scBTC** for **BTC**).
* **Synthetic derivative**, backed by the original asset locked in the **Consensus Bridge**. This can include both single assets and **Curve LP** tokens.

<figure><picture><source srcset="/files/nQiNlO3WwQl0wYiTRMgS" media="(prefers-color-scheme: dark)"><img src="/files/KDsIr6ILreIp5CxYtNHi" alt=""></picture><figcaption></figcaption></figure>

<figure><picture><source srcset="/files/UefPefvB2lt848zioIYQ" media="(prefers-color-scheme: dark)"><img src="/files/2PfieDeopqWpryvvoOeW" alt=""></picture><figcaption></figcaption></figure>

<figure><picture><source srcset="/files/il98dPAA8VetpS8EHLVv" media="(prefers-color-scheme: dark)"><img src="/files/KdmNfdufwxN6GLz5RjuK" alt=""></picture><figcaption></figcaption></figure>

## Cross-Chain Transfer Process

**CrossCurve Pools v2** enables asset transfers between blockchains in four stages:

1. **Bridge from the source network**: The original token is locked in the **Consensus Bridge** in the source network, and the **Consensus Bridge** then mints a synthetic token (derivative) in the **Sonic** network.
2. **Exchange for the universal token**: The synthetic token is exchanged for the universal token of the hubchain.
3. **Exchange for the destination synthetic token**: The universal token is exchanged for a synthetic token corresponding to the target blockchain.
4. **Bridge to the destination network**: The synthetic token is burned in the **Consensus Bridge** on **Sonic**, and the **Consensus Bridge** then unlocks the original token in the destination network.

<figure><picture><source srcset="/files/jecg9s1yihIftzFwyOpr" media="(prefers-color-scheme: dark)"><img src="/files/5s4fVKGduZXdVQJi8Thi" alt=""></picture><figcaption></figcaption></figure>

<figure><picture><source srcset="/files/qmiGgTR1um7rLvfuwSwc" media="(prefers-color-scheme: dark)"><img src="/files/AzQZM00f6pYe4wAKGgnJ" alt=""></picture><figcaption></figcaption></figure>

<figure><picture><source srcset="/files/gRKYelLn7u9Neqk0BMfm" media="(prefers-color-scheme: dark)"><img src="/files/EQuUKQNKZQBnkXbtFYxA" alt=""></picture><figcaption></figcaption></figure>

<figure><picture><source srcset="/files/vXY9J02ybZESBAVCjXAC" media="(prefers-color-scheme: dark)"><img src="/files/2xDzgbjInl7shTIIQ1Bk" alt=""></picture><figcaption></figcaption></figure>

## Advantages Compared to the Previous System

The previous pool system used **Curve** stable pools with 8 assets, connected via liquidity provider (LP) tokens from one or more pools. **CrossCurve MetaLayer** introduces a fundamentally new approach — liquidity isolation, where each pool contains liquidity only for a single direction. This design delivers the following benefits:

### 1. Targeted Incentives

In the previous system, incentives directed into a pool were distributed across all 8 directions, reducing their effectiveness. In paired pools, blockchains can direct incentives exclusively into their own pool, increasing liquidity in that direction and improving bridge conditions for users.

### 2. Reduced Slippage

In **Curve** stable pools, increasing the number of tokens in a pool leads to higher slippage under imbalance. A 2-token pool shows significantly less slippage compared to an 8-token one under the same imbalance. Additionally, in the old system, a significant imbalance in one token increased slippage for all 8 directions, while in paired pools, slippage growth is confined to an affected direction only.

### 3. Improved Liquidity Efficiency

To minimize slippage in the previous system, equal liquidity was required across all 8 directions, which was inefficient for less active ones. Paired pools allow using smaller amounts of liquidity for lower-demand directions while maintaining the same slippage level, thus optimizing liquidity utilization.

### 4. Lower Risk During Depegs

A depeg – where an asset drops in value relative to its underlying – is a common occurrence. In multi-asset pools within a single network, a depeg can have wide-reaching consequences for all connected networks, leading to a liquidity drain across all tokens in the pool. For example, in the previous system, if one asset dropped to zero in value while each had $100,000 in liquidity, the total loss across the remaining directions could reach up to $700,000.

In CrossCurve MetaLayer’s isolated pools, a depeg from one blockchain affects only a single pool. In the same scenario, losses would be capped at $100,000. The system automatically pauses the affected direction when a depeg is detected (based on price deviation), preventing further risks. However, a pool with the synthetic derivative of the depegged token remains in the hubchain until the price stabilizes.

<br>


# CrossCurve Oracle Network

## Introduction

The CrossCurve Oracle Network is a cross-chain messaging service based on BLS signatures. It is a core subsystem of the CrossCurve Token Bridge as well as one of the supported messaging services used within the CrossCurve Token Bridge.

Cross-chain bridges are an attractive target for attackers because the message transmission layer effectively exists outside the onchain execution of both blockchains. In practice, vulnerabilities in traditional bridges are frequent and are almost always related to some form of centralization. A modern alternative is a decentralized cross-chain messaging service that relies on oracle networks secured with BLS cryptography.

## Solution architecture

A network of independent oracles is a decentralized set of validators that:

* Monitor events on the source chain (Ethereum, Polygon, Avalanche, and others)
* Reach consensus on observed events
* Collectively sign proofs for the destination chain

BLS (Boneh-Lynn-Shacham) signatures form the cryptographic foundation and allow the system to:

* Aggregate signatures from many nodes into a single compact signature
* Verify the authenticity of a group signature without revealing individual signatures
* Reduce gas costs on destination blockchains thanks to signature compactness

## How it works: a three-step process

### 1. Event listening

Oracles independently monitor smart contracts on the source chain. When a relevant event is detected, such as a cross-chain message being emitted, each node:

* Verifies the correctness of the event
* Generates a cryptographic proof (Merkle proof)
* Signs it with its BLS private key

### 2. Signature aggregation

The current coordinator collects signatures from network participants:

* Checks that the minimum signing threshold is met
* Aggregates individual BLS signatures into a single multisignature
* Prepares the data package for submission to the destination chain

### 3. Verification on the destination chain

A smart contract on the destination chain:

* Receives the aggregated BLS signature and event data
* Verifies the signature against the known group public key of the oracle network
* Upon successful verification, delivers the original message to the target address on the destination chain

## Advantages of the approach

Security: an attack requires compromising a threshold number of nodes\
Efficiency: a single multisignature verification instead of N individual checks\
Decentralization: no single point of failure


# MetaLayer API

MetaLayer API is a unified interface for accessing distributed liquidity across the entire DeFi ecosystem. Unlike standard bridges or aggregators, the MetaLayer acts as an orchestrator by combining liquidity from DEXs aggregators and bridging into a single intelligent routing layer.<br>

For fintech providers, this is the shortest path to integrating crypto functionality without the need to maintain dozens of separate protocols or spend resources on complex backend infrastructure.

### Overview

At the core of the MetaLayer is the principle of complexity abstraction. Instead of manually integrating 10 bridges, 20 DEX aggregators or multiple aggregators, you connect to a single API that builds optimal routes on top of existing protocols.

#### Key benefits for businesses:

* Unique routes: Access to multi-step exchange paths (e.g. swap on Chain A, then bridge, then swap on Chain B) that are not available via direct integrations
* Maximum liquidity: Automatic selection of the best price across all connected liquidity sources
* Flexible monetization: Tools for dynamic fee management and automated revenue distribution

### Monetization and partnership

The CrossCurve MetaLayer is designed around a partnership-driven model. Activation of commercial terms consists of two stages:

#### Agreement on revenue share terms

Before going live, you need to contact our partnership team at <a.gluhovskij@eywa.fi> or @Eywa\_COO. The manager will work out your specific revenue sharing terms with you and activate your API key for withdrawing accumulated fees.

#### Dynamic partner fees

You have full control over your margin. In each quote request, you can include the  partnerFeeBps parameter.

* Flexibility: Set different fees for different asset types or swap directions.
* Calculation: 1 basis point (bps) equals 0.01%. For example, a value of 50 bps corresponds to a 0.5% fee.
* Automation: The system automatically calculates the fee amount and includes it in the final quote for the user.

### Quick start

#### API key and fee address

You can test the API without a dedicated key. In this mode, you cannot set or receive additional fees.

Contact <a.gluhovskij@eywa.fi> or @Eywa\_COO to obtain an API key and register your EVM address. Your fees will be sent to this address.

### Action flow for executing a swap

**Step 1: Request routes**

Your application requests possible transfer routes from network A to network B.

**Step 2: Select route and build transaction**

API returns options with the estimated time, fees, and output amount. Your application selects the best one.

Then, build the transaction with the selected route.

**Step 3: Send transaction**&#x20;

User sends the signed transaction using ethers.js or any Web3 library.

**Step 4:  Track transaction status**

Your application may monitor the transaction status across chains via REST API or WebSocket Monitor.

**Step 5: Completion**

Transfer completes in the destination network. All confirmation and relay logic is handled by MetaLayer infrastructure.

<br>


# Copy of MetaLayer API

## Introduction

**MetaLayer API** is a comprehensive solution for projects that need token transfer functionality between blockchains. Instead of building and maintaining your own bridge infrastructure (validators, relayers, smart contracts), you can use our unified API.

This saves months of development and significant operational costs, allowing you to focus on growing your core product.

***

### The Problem

#### Who This Is For

Teams that need cross-chain transfers in their product:

* Crypto wallets
* DEX and aggregators
* DeFi protocols
* Payment gateways
* Financial services

#### Challenges of Building Your Own

* Smart contract development and auditing for each network
* Maintaining and securing validators and relayers
* 24/7 monitoring and support
* Continuously expanding the list of supported networks
* Finding optimal routes for users

***

### The Solution: MetaLayer API

We provide all the complex cross-chain bridge infrastructure through a single REST API.

#### What You Get

| Capability               | Description                                   |
| ------------------------ | --------------------------------------------- |
| **Single API**           | One interface for dozens of blockchains       |
| **Route aggregation**    | Automatic search for best transfer paths      |
| **Ready transactions**   | API builds calldata — just send to blockchain |
| **Status tracking**      | Monitor operations from start to finish       |
| **Fee configuration**    | Flexible business logic for your product      |
| **Continuous expansion** | New networks and tokens added by our team     |

***

### Core Features

#### Route Aggregation

Search for optimal transfer path among multiple available routes and liquidity pools. The algorithm considers:

* Network and protocol fees
* Available liquidity
* Execution time
* Price impact

#### Priority Routes

Ability to configure exclusive, most favorable routes for your project. Partnership terms available upon request.

#### Simple Integration

* All operations via REST API
* No need for your own nodes
* Ready calldata for transactions
* Detailed documentation and examples

#### Extensive Network Support

| Category | Networks                                |
| -------- | --------------------------------------- |
| EVM L1   | Ethereum, BSC, Polygon, Avalanche       |
| EVM L2   | Arbitrum, Optimism, Base, zkSync, Linea |
| Others   | Continuously expanding                  |

### How It Works

```
┌─────────────────┐      ┌─────────────────┐      ┌─────────────────┐
│      Your       │      │   MetaLayer     │      │   Blockchain    │
│   Application   │◀────▶│      API        │      │    (Source)     │
└────────┬────────┘      └─────────────────┘      └────────▲────────┘
         │                                                  │
         │                 User sends TX                    │
         └──────────────────────────────────────────────────┘
                                                            │
                                                  Relayers / Validators
                                                            │
                                                            ▼
                                                 ┌─────────────────┐
                                                 │   Blockchain    │
                                                 │  (Destination)  │
                                                 └─────────────────┘
```

#### Step 1: Request Routes

Your application requests possible routes for transfer from network A to network B.

```
POST /routing/scan
{
  "params": {
    "chainIdIn": 1,        // Ethereum
    "chainIdOut": 42161,   // Arbitrum
    "tokenIn": "0x...",
    "tokenOut": "0x...",
    "amountIn": "1000000000000000000"
  },
  "slippage": 1
}
```

#### Step 2: Select Route

API returns options with estimated time, fees, and output amount. Your application selects the best one.

```json
{
  "amountOut": "998500000",
  "priceImpact": 0.15,
  "totalFee": { "percent": "0.15" },
  "expectedFinalitySeconds": "180"
}
```

#### Step 3: Get Estimate

Request signature and final parameters for the selected route.

```
POST /estimate
→ { "executionPrice": "...", "deadline": "...", "signature": "0x..." }
```

#### Step 4: Build Transaction

Get ready data for blockchain submission.

```
POST /tx/create (with buildCalldata: true)
→ { "to": "0x...", "data": "0x...", "value": "0" }
```

#### Step 5: Send and Track

User signs and sends transaction. Monitor status via REST API or WebSocket.

```
GET /transaction/{requestId}
→ { "status": "in progress" | "completed" }
```

#### Step 6: Completion

Transfer completes in the destination network. All confirmation and relay logic is handled by MetaLayer infrastructure.

***

### Getting Started

#### For Developers

Detailed technical documentation with code examples:

* **API Reference**: Complete description of all endpoints
* **Quick Start**: Step-by-step integration guide

**Go to Developer Documentation →**

#### Resources

| Resource      | Link                                  |
| ------------- | ------------------------------------- |
| Swagger UI    | <https://api.crosscurve.fi/api-docs/> |
| API Base URL  | <https://api.crosscurve.fi>           |
| Documentation | <https://docs.crosscurve.fi>          |

#### For Business

To discuss integration terms, partnership rates, and get test access, contact our team:

* Custom terms discussion
* Priority routes for your project


# CrossCurve MetaLayer - ru

**CrossCurve MetaLayer** — это комплексное децентрализованное решение для кросс-чейн ликвидности, бесшовных обменов токенов и глубокого доступа к ликвидности — защищённое Consensus Bridge.

В основе MetaLayer лежит протокол **MetaAggregation**: он объединяет множество агрегаторов, мостов и DEX в единый слой маршрутизации, автоматически находя и выполняя лучшие маршруты среди всех источников.

***

## Как это работает

1. Пользователь инициирует кросс-чейн обмен через [Crosschain DEX](https://docs.crosscurve.fi/user-documentation/swap-interface)
2. [MetaLayer API](https://docs.crosscurve.fi/developer-documentation/guide-for-developers/integration-guide) параллельно запрашивает все подключённые агрегаторы и источники ликвидности
3. Маршруты сравниваются по лучшей цене и скорости
4. Выбирается и выполняется оптимальный маршрут
5. Пользователь получает активы в сети назначения

→ [Руководство по интерфейсу обмена](https://docs.crosscurve.fi/user-documentation/swap-interface)

***

## MetaAggregation

MetaAggregation — это ключевой принцип CrossCurve MetaLayer. Вместо того чтобы быть ещё одним агрегатором или мостом, MetaLayer агрегирует сами агрегаторы — создавая единую точку доступа ко всему ландшафту кросс-чейн ликвидности.

**Чем это отличается от обычных агрегаторов:**

* Обычные агрегаторы подключаются к отдельным DEX и источникам ликвидности
* MetaLayer подключается к множеству агрегаторов, мостов И отдельных источников одновременно
* Маршруты сравниваются на всех уровнях — находя пути, которые отдельные агрегаторы могут пропустить

**Что это даёт:**

* **Глубокий доступ к ликвидности** — агрегированная ликвидность из множества источников обеспечивает низкое проскальзывание даже для крупных транзакций
* **Лучшая маршрутизация** — параллельные запросы ко всем источникам находят оптимальные пути с учётом цены, скорости и комиссий
* **Широкое покрытие** — доступ к EVM и non-EVM сетям, DEX, мостам и протоколам обмена сообщениями через один интерфейс

***

## Основные продукты

* [MetaLayer API](https://docs.crosscurve.fi/developer-documentation/guide-for-developers/integration-guide) — единый API для кросс-чейн операций
* [Consensus Bridge](/crosscurve-metalayer-1/what-is-crosscurve-metalayer/crosscurve-consensus-bridge) — мультипротокольная валидация сообщений
* [Token Bridge](/crosscurve-metalayer-1/what-is-crosscurve-metalayer/crosscurve-token-bridge) — кросс-чейн переводы токенов
* [Oracle Network](/crosscurve-metalayer-1/what-is-crosscurve-metalayer/crosscurve-oracle-network) — ценовые потоки и данные
* [Crosschain DEX](https://docs.crosscurve.fi/user-documentation/swap-interface) — интерфейс децентрализованной биржи

***

## Consensus Bridge

Транспортный слой для безопасной валидации кросс-чейн сообщений. Использует одновременный консенсус от нескольких независимых протоколов обмена сообщениями, снижая риски единой точки отказа.

Этот мультипротокольный подход работает подобно 2FA — транзакция подтверждается только когда несколько независимых систем достигают согласия. В отличие от мостов, которые полагаются на один протокол обмена сообщениями, Consensus Bridge требует подтверждения от нескольких независимых источников перед выполнением транзакции.

→ [Подробнее о Consensus Bridge](/crosscurve-metalayer-1/what-is-crosscurve-metalayer/crosscurve-consensus-bridge)

***

## Для интеграторов

CrossCurve MetaLayer предоставляет инфраструктуру для кошельков, DEX и dApps, которым нужна кросс-чейн функциональность.

### Единый API

MetaLayer API предоставляет один эндпоинт для всех кросс-чейн операций. Вместо интеграции множества мостов и агрегаторов по отдельности, партнёры подключаются один раз и получают доступ ко всему ландшафту ликвидности. Это сокращает время разработки и затраты на поддержку.

### Без требований к собственной ликвидности

MetaAggregation устраняет необходимость для партнёров искать или поддерживать собственную ликвидность. Протокол автоматически маршрутизирует через существующие пулы ликвидности всех интегрированных источников — партнёры фокусируются на своём продукте, а MetaLayer обеспечивает доступ к ликвидности.

### Собственная инфраструктура моста

В отличие от чистых агрегаторов, которые полностью зависят от сторонних мостов, CrossCurve оперирует собственным мостом и слоем обмена сообщениями. Для интеграторов это означает:

* Прямой доступ к инфраструктуре моста без комиссий посредников
* Упрощённая интеграция — один интерфейс контракта для агрегированных маршрутов и нативных переводов через мост
* Меньшая задержка для маршрутов через нативную инфраструктуру

### Безопасность через консенсус

Consensus Bridge обеспечивает мультипротокольную валидацию кросс-чейн сообщений. Интеграторы могут опционально включить этот слой безопасности для своих транзакций — получая мультипротокольную валидацию без дополнительной реализации. Это позволяет партнёрам выбирать уровень безопасности, соответствующий их задачам.

→ [Руководство по интеграции](https://docs.crosscurve.fi/developer-documentation/guide-for-developers/integration-guide) | [Smart Contracts](https://docs.crosscurve.fi/developer-documentation/crosscurve-smart-contracts)

***

## White Label решения

CrossCurve предлагает white label интеграцию для партнёров, которые хотят предоставлять кросс-чейн функциональность под собственным брендом. Полная кастомизация UI и пользовательского опыта с использованием инфраструктуры MetaLayer.

→ [White Label Solutions](broken://pages/8b2f0cf020b3ab9e40839e0c6d9af9fd7fbb4c85) *(в разработке)*

***

## Поддерживаемые сети

CrossCurve MetaLayer нативно поддерживает множество сетей, с расширенным доступом через интегрированные агрегаторы. Протокол фокусируется на EVM-совместимых сетях с постоянным расширением на новые сети.

→ [Список сетей и контрактов](https://docs.crosscurve.fi/developer-documentation/crosscurve-smart-contracts)

***

## Почему децентрализация важна

CrossCurve MetaLayer — это децентрализованный протокол для управления кросс-чейн ликвидностью. В отличие от intent-протоколов, где основная логика работает офф-чейн, MetaLayer следует принципам DeFi — любой может участвовать без высоких барьеров входа и зависимости от централизованных посредников.

→ [Case Studies](broken://pages/01c7e2356d39ab1368430b41456ffd4f9f19026a) *(в разработке)* | [Аудиты безопасности](https://docs.crosscurve.fi/about-crosscurve/security-audits)


# Copy of What is CrossCurve MetaLayer

**CrossCurve MetaLayer** is a unified decentralized infrastructure for cross-chain liquidity and incentives, powered by the **Curve AMM**. It enables efficient swaps, yield generation, and access to deep **DeFi** liquidity secured by the **Consensus Bridge**.

<figure><picture><source srcset="/files/UJyn8XRDH7YcHrPx0U7c" media="(prefers-color-scheme: dark)"><img src="/files/p3haYiEOaK971VAlFbUc" alt=""></picture><figcaption></figcaption></figure>

## MetaLayer Architecture

<figure><picture><source srcset="/files/59aEA6zpTRTNvYQRIYtf" media="(prefers-color-scheme: dark)"><img src="/files/Rbw0ldJREwdVdJw5TQDH" alt=""></picture><figcaption></figcaption></figure>

**CrossCurve MetaLayer** emerged as a logical extension of the decentralized **EYWA bridge**. A simple “**bridge**” is no longer sufficient—more advanced solutions are required for real **DeFi** use. Reliability and efficiency are the two key requirements for modern cross-chain services. **MetaLayer** was created to meet these demands through a modular architecture that includes three interconnected layers:

### 1. Transport Layer — Consensus Bridge

<figure><picture><source srcset="/files/kqVs3pUuwwyxJXMtbm9A" media="(prefers-color-scheme: dark)"><img src="/files/dJooUzTEfFGviHdDxVQm" alt=""></picture><figcaption></figcaption></figure>

This layer is responsible for securely transferring liquidity between blockchains. The **Consensus Bridge** simultaneously uses several trusted protocols (such as **Axelar**, **LayerZero**, **Wormhole**), significantly reducing the risk of attacks.

### 2.Liquidity Layer

<figure><picture><source srcset="/files/5RxQMX9CXyp6nndQxdbZ" media="(prefers-color-scheme: dark)"><img src="/files/mqT0cwgKfykoHsgnabjQ" alt=""></picture><figcaption></figcaption></figure>

This layer addresses several critical functions:

* **Efficient liquidity use**. In traditional models, liquidity must be reserved for each blockchain pair, leading to exponential cost growth. In **MetaLayer**, all liquidity is concentrated in the Sonic hub-chain and shared through **Curve Stable Pools**. This reduces the liquidity requirement from 2N²−N to 2N, delivering up to \~49.5x efficiency gains when supporting 50 blockchains.
* On-chain swaps. **Curve AMM** algorithms enable automatic asset exchanges based on liquidity distribution. If liquidity is lower in a certain direction, slippage increases—everything remains fair and transparent.
* **Secure storage**. **Curve** pools are audited and manage over $2 billion in TVL— this represents proven security and user trust.

### 3. Management Layer — CrossCurve DAO

<figure><picture><source srcset="/files/fqVrr30CDkSFKs3C9GqF" media="(prefers-color-scheme: dark)"><img src="/files/SaVXY0Zk3t1krVdeS9hA" alt=""></picture><figcaption></figcaption></figure>

Decentralized governance is not just a slogan—it is the foundation of **MetaLayer**’s operation. All key decisions are made by **DAO** participant a through voting. This eliminates centralization risks. Additionally, the **ve(3,3)** tokenomics model allows incentives to be directed toward the most active and profitable areas. More activity means more rewards, which attracts more liquidity and makes swaps even more beneficial.

***

## Why Decentralization Matters

**CrossCurve MetaLayer** is a decentralized protocol for managing cross-chain liquidity. Unlike intent-based protocols, where core logic runs off-chain and requires complex configurations, **MetaLayer** stays true to **DeFi** principles. Anyone can become a liquidity provider and earn–no high entry barriers or reliance on centralized intermediaries.

<br>


# CrossCurve Consensus bridge

The **CrossCurve Consensus Bridge** addresses one of the key problems of modern cross-chain solutions — the vulnerability of bridges and the so-called “**black swan**” risk. A prime example of such a risk is the **Multichain** incident, after which **Curve DAO** withdrew its trust from bridges based on centralized governance.

The core issue lies in the fact that most existing bridges are controlled by a limited group of participants — validators or members of multisig groups. This makes them vulnerable and unstable. Classic examples of such failures include hacks or loss of funds in protocols such as **Multichain**, **PolyNetwork**, **Wormhole**, **Nomad** and **Ronin**.

Unlike the traditional **PoA** (proof-of-authority) solutions, the **CrossCurve Consensus Bridge** uses a validation model based on agreement between independent data transmission protocols. This architecture involves **Axelar**, **LayerZero**, **Router Protocol**, **Asterizm** and **Chainlink CCIP**. A transaction is completed only if consensus is reached among multiple sources. If the data diverges, the transaction is automatically rejected, preventing potential compromise and ensuring the safety of user funds.&#x20;

<figure><picture><source srcset="/files/U0Boad9J8Amr8szF6RDv" media="(prefers-color-scheme: dark)"><img src="/files/YvLcJD2LIYUdMRUNqeVU" alt=""></picture><figcaption></figcaption></figure>

### How it works:

* The user's assets are locked in the consensus bridge smart contract on the source network.
* Transaction data is transmitted through multiple protocols simultaneously, and the smart contract of the target network verifies their consistency.&#x20;
* If consensus is reached, the transaction is finalized; otherwise, the funds are returned to the user.

### Advantages:

* **Security**: The risk of compromise is minimized thanks to consensus among several protocols — the likelihood of all protocols being hacked at the same time is virtually zero.
* **Decentralization**: Bridge security does not depend on individual teams; the bridge smart contracts are governed by **CrossCurve DAO**, and the protocol’s liquidity is fully controlled by users.
* **Versatility**: The consensus bridge supports the transmission of both tokens and data, making it a universal tool for cross-chain applications.

**Consensus Bridge** is not just a bridge—it is the transport layer of the **CrossCurve Metalayer**, providing a reliable connection between blockchains. It enables developers and users to safely transfer assets, data, and liquidity, forming the foundation for a scalable and resilient cross-chain ecosystem of the future.

<br>


# CrossCurve Token Bridge

The **CrossCurve Token Bridge** lets projects present their token on other networks by locking their assets in smart contracts and issuing the token’s derivative on other networks. Our bridge allows you to move issued derivatives between blockchains in all directions, without having to return to the original token lock network using **Cross-chain Data Protocol** **(CDP)**.

Regardless of the differences among protocols, rules specifications and governance mechanics of these networks, a usage of the **CrossCurve Token Bridge** makes it possible for users to move assets among these chains in a reliable and secure way.

## Mechanics

The **CrossCurve Token Bridge** consists of the **Portal** and **Synthesis** smart contracts deployed in each of the Blockchains: 1, 2, 3, and uses the **CrossCurve Cross-chain Data Protocol (CDP)** to transfer cross-chain calls between them.

To move assets across Blockchains, the **CrossCurve Token Bridge** uses **synthetic assets (s-tokens)**. S-tokens are created when someone needs to transfer an asset between two blockchains.

### Example: Native Token Bridging

<figure><picture><source srcset="/files/Z2Ci6J3e6qSSdYNiNLaY" media="(prefers-color-scheme: dark)"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeRUWttkdRZi8BvJ7VaIBiwAjSUg3J_5_IQlbTQXkObRWrp6DJFmNtWwerBPdrohxxnm6zT9Nj0Yt_sg8ywYAYNox0s1kNlkmPRvCRq3g_Bm2By8eFMV5VAw6QHFRCeDhat9xsScw?key=blmc4LfhoPP44Q748Sjj_A" alt=""></picture><figcaption><p>Example of bridge with native tokens</p></figcaption></figure>

When transferring token **X**, the bridge uses a **Lock-Mint-Burn-Unlock** mechanism.\
The original **X token** is locked in the **Portal** smart contract on **Blockchain 1**.\
This transaction triggers an event in the bridge smart contract, which is monitored by the [**Consensus Bridge**](https://docs.crosscurve.fi/crosscurve-metalayer/what-is-crosscurve-metalayer/crosscurve-consensus-bridge).

The [**Consensus Bridge**](https://docs.crosscurve.fi/crosscurve-metalayer/what-is-crosscurve-metalayer/crosscurve-consensus-bridge) uses multiple messaging protocols to transmit the event to **Blockchain 2**.\
Once a sufficient number of confirmations are received from messaging protocols, the synthetic token **sX** is minted in the destination blockchain.

### Example: Synth Token Transfer Without Portal

<figure><picture><source srcset="/files/PaJRAHypoNEvwaCTWZKG" media="(prefers-color-scheme: dark)"><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd2m_urqF8IYnL6Z7TziapVkIBtX79xYxYwwKl9f51py4STEDgMsYdONkQ1i9Paq-fJFX0_FQuGQQQM-mY-54LxAbAzKSZ6K7P27OKlsq8A_ektvpNp_jDu0Doy21hFArIltoPaKw?key=blmc4LfhoPP44Q748Sjj_A" alt=""></picture><figcaption><p>Example how bridge Synth tokens to other chain without use Portal</p></figcaption></figure>

When transferring a synthetic token **sX**, the bridge uses a **Mint-Burn** mechanism.\
The original **sX token** is sent to the **Synthesis** smart contract on **Blockchain 1**, triggering an event in the bridge contract.

The [**Consensus Bridge**](https://docs.crosscurve.fi/crosscurve-metalayer/what-is-crosscurve-metalayer/crosscurve-consensus-bridge) sends the message to **Blockchain 2** through multiple messaging protocols.\
Once enough confirmations are gathered, a **new instance of the same sX token** is minted on **Blockchain 2**.

{% hint style="info" %}

## Example in Practice

Let’s consider Bob transferring **X token** from **Blockchain 1** to **Blockchain 2**. The process works as follows:

1. Bob sends a transaction to the **CrossCurve Token Bridge**.
2. The original **X token** is locked in the **Portal** smart contract on Blockchain 1.
3. This triggers an event in the bridge contract, which is tracked and processed by the **Consensus Bridge**.
4. The Consensus Bridge uses multiple messaging protocols to independently relay the event to Blockchain 2.
5. Once enough confirmations are collected, the **sX token** is minted in Blockchain 2.

In our example, Bob’s transaction activates the **Synthesis** contract in Blockchain 2, which issues the synthetic **sX token**, backed by the **X token locked in Blockchain 1**.

At any time, Bob can initiate a reverse conversion to retrieve the original **X token**.
{% endhint %}

## Transaction history

Transferring tokens from one blockchain to another using the **CrossCurve Token Bridge** is a complex cross-chain operation. The user can track its execution in the interface in real time.

## Security

Only tokens whose smart contracts have been thoroughly audited by the **CrossCurve** team are added to the **CrossCurve Token Bridge**. The audit takes into account many characteristics of the project, and also examines the code of smart contracts for the presence of logic for moving and locking user tokens, which potentially creates a danger to user funds. Only tokens whose code complies with all security rules are allowed to be moved.\ <br>


# CrossCurve Pools v2

## Introduction

**CrossCurve Pools v2** is an advanced pool system designed to optimize cross-chain liquidity management within the **СrossCurve MetaLayer**. The system works with three primary asset types: **USD-**, **ETH-** and **BTC-**&#x70;egged tokens, which are issued by various projects across different networks. In the hubchain, a set of paired pools is created for each of these asset types. Each pool corresponds to a specific direction (blockchain) and functions as a bridge to that network.

## Pool Structure

Each paired pool in the hubchain consists of two tokens:

* **Universal token** - an asset from **Sonic**, common across all pools of the same type (**xfrxUSD** for **USD** assets, **xfrxETH** for **ETH**, and **scBTC** for **BTC**).
* **Synthetic derivative**, backed by the original asset locked in the **Consensus Bridge**. This can include both single assets and **Curve LP** tokens.

<figure><picture><source srcset="/files/nQiNlO3WwQl0wYiTRMgS" media="(prefers-color-scheme: dark)"><img src="/files/KDsIr6ILreIp5CxYtNHi" alt=""></picture><figcaption></figcaption></figure>

<figure><picture><source srcset="/files/UefPefvB2lt848zioIYQ" media="(prefers-color-scheme: dark)"><img src="/files/2PfieDeopqWpryvvoOeW" alt=""></picture><figcaption></figcaption></figure>

<figure><picture><source srcset="/files/il98dPAA8VetpS8EHLVv" media="(prefers-color-scheme: dark)"><img src="/files/KdmNfdufwxN6GLz5RjuK" alt=""></picture><figcaption></figcaption></figure>

## Cross-Chain Transfer Process

**CrossCurve Pools v2** enables asset transfers between blockchains in four stages:

1. **Bridge from the source network**: The original token is locked in the **Consensus Bridge** in the source network, and the **Consensus Bridge** then mints a synthetic token (derivative) in the **Sonic** network.
2. **Exchange for the universal token**: The synthetic token is exchanged for the universal token of the hubchain.
3. **Exchange for the destination synthetic token**: The universal token is exchanged for a synthetic token corresponding to the target blockchain.
4. **Bridge to the destination network**: The synthetic token is burned in the **Consensus Bridge** on **Sonic**, and the **Consensus Bridge** then unlocks the original token in the destination network.

<figure><picture><source srcset="/files/jecg9s1yihIftzFwyOpr" media="(prefers-color-scheme: dark)"><img src="/files/5s4fVKGduZXdVQJi8Thi" alt=""></picture><figcaption></figcaption></figure>

<figure><picture><source srcset="/files/qmiGgTR1um7rLvfuwSwc" media="(prefers-color-scheme: dark)"><img src="/files/AzQZM00f6pYe4wAKGgnJ" alt=""></picture><figcaption></figcaption></figure>

<figure><picture><source srcset="/files/gRKYelLn7u9Neqk0BMfm" media="(prefers-color-scheme: dark)"><img src="/files/EQuUKQNKZQBnkXbtFYxA" alt=""></picture><figcaption></figcaption></figure>

<figure><picture><source srcset="/files/vXY9J02ybZESBAVCjXAC" media="(prefers-color-scheme: dark)"><img src="/files/2xDzgbjInl7shTIIQ1Bk" alt=""></picture><figcaption></figcaption></figure>

## Advantages Compared to the Previous System

The previous pool system used **Curve** stable pools with 8 assets, connected via liquidity provider (LP) tokens from one or more pools. **CrossCurve MetaLayer** introduces a fundamentally new approach — liquidity isolation, where each pool contains liquidity only for a single direction. This design delivers the following benefits:

### 1. Targeted Incentives

In the previous system, incentives directed into a pool were distributed across all 8 directions, reducing their effectiveness. In paired pools, blockchains can direct incentives exclusively into their own pool, increasing liquidity in that direction and improving bridge conditions for users.

### 2. Reduced Slippage

In **Curve** stable pools, increasing the number of tokens in a pool leads to higher slippage under imbalance. A 2-token pool shows significantly less slippage compared to an 8-token one under the same imbalance. Additionally, in the old system, a significant imbalance in one token increased slippage for all 8 directions, while in paired pools, slippage growth is confined to an affected direction only.

### 3. Improved Liquidity Efficiency

To minimize slippage in the previous system, equal liquidity was required across all 8 directions, which was inefficient for less active ones. Paired pools allow using smaller amounts of liquidity for lower-demand directions while maintaining the same slippage level, thus optimizing liquidity utilization.

### 4. Lower Risk During Depegs

A depeg – where an asset drops in value relative to its underlying – is a common occurrence. In multi-asset pools within a single network, a depeg can have wide-reaching consequences for all connected networks, leading to a liquidity drain across all tokens in the pool. For example, in the previous system, if one asset dropped to zero in value while each had $100,000 in liquidity, the total loss across the remaining directions could reach up to $700,000.

In CrossCurve MetaLayer’s isolated pools, a depeg from one blockchain affects only a single pool. In the same scenario, losses would be capped at $100,000. The system automatically pauses the affected direction when a depeg is detected (based on price deviation), preventing further risks. However, a pool with the synthetic derivative of the depegged token remains in the hubchain until the price stabilizes.

<br>


# CrossCurve Oracle Network

## Introduction

The CrossCurve Oracle Network is a cross-chain messaging service based on BLS signatures. It is a core subsystem of the CrossCurve Token Bridge as well as one of the supported messaging services used within the CrossCurve Token Bridge.

Cross-chain bridges are an attractive target for attackers because the message transmission layer effectively exists outside the onchain execution of both blockchains. In practice, vulnerabilities in traditional bridges are frequent and are almost always related to some form of centralization. A modern alternative is a decentralized cross-chain messaging service that relies on oracle networks secured with BLS cryptography.

## Solution architecture

A network of independent oracles is a decentralized set of validators that:

* Monitor events on the source chain (Ethereum, Polygon, Avalanche, and others)
* Reach consensus on observed events
* Collectively sign proofs for the destination chain

BLS (Boneh-Lynn-Shacham) signatures form the cryptographic foundation and allow the system to:

* Aggregate signatures from many nodes into a single compact signature
* Verify the authenticity of a group signature without revealing individual signatures
* Reduce gas costs on destination blockchains thanks to signature compactness

## How it works: a three-step process

### 1. Event listening

Oracles independently monitor smart contracts on the source chain. When a relevant event is detected, such as a cross-chain message being emitted, each node:

* Verifies the correctness of the event
* Generates a cryptographic proof (Merkle proof)
* Signs it with its BLS private key

### 2. Signature aggregation

The current coordinator collects signatures from network participants:

* Checks that the minimum signing threshold is met
* Aggregates individual BLS signatures into a single multisignature
* Prepares the data package for submission to the destination chain

### 3. Verification on the destination chain

A smart contract on the destination chain:

* Receives the aggregated BLS signature and event data
* Verifies the signature against the known group public key of the oracle network
* Upon successful verification, delivers the original message to the target address on the destination chain

## Advantages of the approach

Security: an attack requires compromising a threshold number of nodes\
Efficiency: a single multisignature verification instead of N individual checks\
Decentralization: no single point of failure


# MetaLayer API

## Introduction

**MetaLayer API** is a comprehensive solution for projects that need token transfer functionality between blockchains. Instead of building and maintaining your own bridge infrastructure (validators, relayers, smart contracts), you can use our unified API.

This saves months of development and significant operational costs, allowing you to focus on growing your core product.

***

### The Problem

#### Who This Is For

Teams that need cross-chain transfers in their product:

* Crypto wallets
* DEX and aggregators
* DeFi protocols
* Payment gateways
* Financial services

#### Challenges of Building Your Own

* Smart contract development and auditing for each network
* Maintaining and securing validators and relayers
* 24/7 monitoring and support
* Continuously expanding the list of supported networks
* Finding optimal routes for users

***

### The Solution: MetaLayer API

We provide all the complex cross-chain bridge infrastructure through a single REST API.

#### What You Get

| Capability               | Description                                   |
| ------------------------ | --------------------------------------------- |
| **Single API**           | One interface for dozens of blockchains       |
| **Route aggregation**    | Automatic search for best transfer paths      |
| **Ready transactions**   | API builds calldata — just send to blockchain |
| **Status tracking**      | Monitor operations from start to finish       |
| **Fee configuration**    | Flexible business logic for your product      |
| **Continuous expansion** | New networks and tokens added by our team     |

***

### Core Features

#### Route Aggregation

Search for optimal transfer path among multiple available routes and liquidity pools. The algorithm considers:

* Network and protocol fees
* Available liquidity
* Execution time
* Price impact

#### Priority Routes

Ability to configure exclusive, most favorable routes for your project. Partnership terms available upon request.

#### Simple Integration

* All operations via REST API
* No need for your own nodes
* Ready calldata for transactions
* Detailed documentation and examples

#### Extensive Network Support

| Category | Networks                                |
| -------- | --------------------------------------- |
| EVM L1   | Ethereum, BSC, Polygon, Avalanche       |
| EVM L2   | Arbitrum, Optimism, Base, zkSync, Linea |
| Others   | Continuously expanding                  |

### How It Works

```
┌─────────────────┐      ┌─────────────────┐      ┌─────────────────┐
│      Your       │      │   MetaLayer     │      │   Blockchain    │
│   Application   │◀────▶│      API        │      │    (Source)     │
└────────┬────────┘      └─────────────────┘      └────────▲────────┘
         │                                                  │
         │                 User sends TX                    │
         └──────────────────────────────────────────────────┘
                                                            │
                                                  Relayers / Validators
                                                            │
                                                            ▼
                                                 ┌─────────────────┐
                                                 │   Blockchain    │
                                                 │  (Destination)  │
                                                 └─────────────────┘
```

#### Step 1: Request Routes

Your application requests possible routes for transfer from network A to network B.

```
POST /routing/scan
{
  "params": {
    "chainIdIn": 1,        // Ethereum
    "chainIdOut": 42161,   // Arbitrum
    "tokenIn": "0x...",
    "tokenOut": "0x...",
    "amountIn": "1000000000000000000"
  },
  "slippage": 1
}
```

#### Step 2: Select Route

API returns options with estimated time, fees, and output amount. Your application selects the best one.

```json
{
  "amountOut": "998500000",
  "priceImpact": 0.15,
  "totalFee": { "percent": "0.15" },
  "expectedFinalitySeconds": "180"
}
```

#### Step 3: Get Estimate

Request signature and final parameters for the selected route.

```
POST /estimate
→ { "executionPrice": "...", "deadline": "...", "signature": "0x..." }
```

#### Step 4: Build Transaction

Get ready data for blockchain submission.

```
POST /tx/create (with buildCalldata: true)
→ { "to": "0x...", "data": "0x...", "value": "0" }
```

#### Step 5: Send and Track

User signs and sends transaction. Monitor status via REST API or WebSocket.

```
GET /transaction/{requestId}
→ { "status": "in progress" | "completed" }
```

#### Step 6: Completion

Transfer completes in the destination network. All confirmation and relay logic is handled by MetaLayer infrastructure.

***

### Getting Started

#### For Developers

Detailed technical documentation with code examples:

* **API Reference**: Complete description of all endpoints
* **Quick Start**: Step-by-step integration guide

**Go to Developer Documentation →**

#### Resources

| Resource      | Link                                  |
| ------------- | ------------------------------------- |
| Swagger UI    | <https://api.crosscurve.fi/api-docs/> |
| API Base URL  | <https://api.crosscurve.fi>           |
| Documentation | <https://docs.crosscurve.fi>          |

#### For Business

To discuss integration terms, partnership rates, and get test access, contact our team:

* Custom terms discussion
* Priority routes for your project


# CrossCurve MetaLayer - ru

**CrossCurve MetaLayer** — это комплексное децентрализованное решение для кросс-чейн ликвидности, бесшовных обменов токенов и глубокого доступа к ликвидности — защищённое Consensus Bridge.

В основе MetaLayer лежит протокол **MetaAggregation**: он объединяет множество агрегаторов, мостов и DEX в единый слой маршрутизации, автоматически находя и выполняя лучшие маршруты среди всех источников.

***

## Как это работает

1. Пользователь инициирует кросс-чейн обмен через [Crosschain DEX](https://docs.crosscurve.fi/user-documentation/swap-interface)
2. [MetaLayer API](https://docs.crosscurve.fi/developer-documentation/guide-for-developers/integration-guide) параллельно запрашивает все подключённые агрегаторы и источники ликвидности
3. Маршруты сравниваются по лучшей цене и скорости
4. Выбирается и выполняется оптимальный маршрут
5. Пользователь получает активы в сети назначения

→ [Руководство по интерфейсу обмена](https://docs.crosscurve.fi/user-documentation/swap-interface)

***

## MetaAggregation

MetaAggregation — это ключевой принцип CrossCurve MetaLayer. Вместо того чтобы быть ещё одним агрегатором или мостом, MetaLayer агрегирует сами агрегаторы — создавая единую точку доступа ко всему ландшафту кросс-чейн ликвидности.

**Чем это отличается от обычных агрегаторов:**

* Обычные агрегаторы подключаются к отдельным DEX и источникам ликвидности
* MetaLayer подключается к множеству агрегаторов, мостов И отдельных источников одновременно
* Маршруты сравниваются на всех уровнях — находя пути, которые отдельные агрегаторы могут пропустить

**Что это даёт:**

* **Глубокий доступ к ликвидности** — агрегированная ликвидность из множества источников обеспечивает низкое проскальзывание даже для крупных транзакций
* **Лучшая маршрутизация** — параллельные запросы ко всем источникам находят оптимальные пути с учётом цены, скорости и комиссий
* **Широкое покрытие** — доступ к EVM и non-EVM сетям, DEX, мостам и протоколам обмена сообщениями через один интерфейс

***

## Основные продукты

* [MetaLayer API](https://docs.crosscurve.fi/developer-documentation/guide-for-developers/integration-guide) — единый API для кросс-чейн операций
* [Consensus Bridge](/crosscurve-metalayer-1/what-is-crosscurve-metalayer/crosscurve-consensus-bridge) — мультипротокольная валидация сообщений
* [Token Bridge](/crosscurve-metalayer-1/what-is-crosscurve-metalayer/crosscurve-token-bridge) — кросс-чейн переводы токенов
* [Oracle Network](/crosscurve-metalayer-1/what-is-crosscurve-metalayer/crosscurve-oracle-network) — ценовые потоки и данные
* [Crosschain DEX](https://docs.crosscurve.fi/user-documentation/swap-interface) — интерфейс децентрализованной биржи

***

## Consensus Bridge

Транспортный слой для безопасной валидации кросс-чейн сообщений. Использует одновременный консенсус от нескольких независимых протоколов обмена сообщениями, снижая риски единой точки отказа.

Этот мультипротокольный подход работает подобно 2FA — транзакция подтверждается только когда несколько независимых систем достигают согласия. В отличие от мостов, которые полагаются на один протокол обмена сообщениями, Consensus Bridge требует подтверждения от нескольких независимых источников перед выполнением транзакции.

→ [Подробнее о Consensus Bridge](/crosscurve-metalayer-1/what-is-crosscurve-metalayer/crosscurve-consensus-bridge)

***

## Для интеграторов

CrossCurve MetaLayer предоставляет инфраструктуру для кошельков, DEX и dApps, которым нужна кросс-чейн функциональность.

### Единый API

MetaLayer API предоставляет один эндпоинт для всех кросс-чейн операций. Вместо интеграции множества мостов и агрегаторов по отдельности, партнёры подключаются один раз и получают доступ ко всему ландшафту ликвидности. Это сокращает время разработки и затраты на поддержку.

### Без требований к собственной ликвидности

MetaAggregation устраняет необходимость для партнёров искать или поддерживать собственную ликвидность. Протокол автоматически маршрутизирует через существующие пулы ликвидности всех интегрированных источников — партнёры фокусируются на своём продукте, а MetaLayer обеспечивает доступ к ликвидности.

### Собственная инфраструктура моста

В отличие от чистых агрегаторов, которые полностью зависят от сторонних мостов, CrossCurve оперирует собственным мостом и слоем обмена сообщениями. Для интеграторов это означает:

* Прямой доступ к инфраструктуре моста без комиссий посредников
* Упрощённая интеграция — один интерфейс контракта для агрегированных маршрутов и нативных переводов через мост
* Меньшая задержка для маршрутов через нативную инфраструктуру

### Безопасность через консенсус

Consensus Bridge обеспечивает мультипротокольную валидацию кросс-чейн сообщений. Интеграторы могут опционально включить этот слой безопасности для своих транзакций — получая мультипротокольную валидацию без дополнительной реализации. Это позволяет партнёрам выбирать уровень безопасности, соответствующий их задачам.

→ [Руководство по интеграции](https://docs.crosscurve.fi/developer-documentation/guide-for-developers/integration-guide) | [Smart Contracts](https://docs.crosscurve.fi/developer-documentation/crosscurve-smart-contracts)

***

## White Label решения

CrossCurve предлагает white label интеграцию для партнёров, которые хотят предоставлять кросс-чейн функциональность под собственным брендом. Полная кастомизация UI и пользовательского опыта с использованием инфраструктуры MetaLayer.

→ [White Label Solutions](broken://pages/8b2f0cf020b3ab9e40839e0c6d9af9fd7fbb4c85) *(в разработке)*

***

## Поддерживаемые сети

CrossCurve MetaLayer нативно поддерживает множество сетей, с расширенным доступом через интегрированные агрегаторы. Протокол фокусируется на EVM-совместимых сетях с постоянным расширением на новые сети.

→ [Список сетей и контрактов](https://docs.crosscurve.fi/developer-documentation/crosscurve-smart-contracts)

***

## Почему децентрализация важна

CrossCurve MetaLayer — это децентрализованный протокол для управления кросс-чейн ликвидностью. В отличие от intent-протоколов, где основная логика работает офф-чейн, MetaLayer следует принципам DeFi — любой может участвовать без высоких барьеров входа и зависимости от централизованных посредников.

→ [Case Studies](broken://pages/01c7e2356d39ab1368430b41456ffd4f9f19026a) *(в разработке)* | [Аудиты безопасности](https://docs.crosscurve.fi/about-crosscurve/security-audits)


# CrossCurve ($EYWA) Roadmap

CrossCurve Technical Roadmap

<figure><img src="/files/bCl6q8AUelAY5tzDt9xp" alt=""><figcaption><p>CrossCurve Roadmap</p></figcaption></figure>

## 1. Migration to Sonic

Hub Chain Migration: Transition of CrossCurve’s main liquidity layer from Fantom to Sonic for higher performance and scalability.

***

## 2. CrossCurve V2: Liquidity MetaLayer

• New Architecture: Isolated paired pools with synthetic derivatives and Sonic-based liquidity.

• Synthetic Routing: Cross-chain swaps via Sonic liquid assets (e.g., USDC.e, scETH, scBTC).

• Efficient Swaps: Any asset from any chain can be exchanged through two pools.

***

## 3. Incentive Mechanisms

• CrossCurve Incentives: Projects can incentivize veEYWA and veCRV holders for voting and liquidity attraction.

• CrossCurve Delegations: Anyone can launch a veEYWA voting aggregator, manage voting power, and earn through protocol revenue, staking boosts, bribes, and inflation rewards.

***

## 4. Community Rewards

• Sonic Airdrop Rewards:

• CrossCurve won Sapphire Tier in Sonic BOOM Season 1.

• Received Sonic GEMs (\~$1M).

• These will be distributed among CrossCurve liquidity providers.

***

## 5. Consensus Bridge

• LayerZero DVN Integration:

• Provides a secure base level of trust for cross-chain swaps and messaging.

• Recommended validator network for multiple protocols.

***

## 6. Router Evolution

Router v3

• Advanced Token Transfers:

• Supports transfers to arbitrary addresses.

• Integrated with top aggregators: Li.fi, Bungee, Rango.

• Collects fees for route construction.

• All transactions pass through the Consensus Bridge.

Router v4: CrossCurve as a Liquidity Aggregator

• “Router of Routers” model:

• Supports external token bridges (e.g., Circle, Tether, LayerZero OFT, Wormhole, Axelar, CCIP).

• Omnichain swap support.

• DEX Integration:

• Operates on any external DEX: Uniswap, Balancer, Velodrome, Aerodrome, etc.

• Non-EVM Expansion:

• Porting to chains like Solana, TON, Tron, Sui, Aptos, Ripple, Stellar, Cardano.

• Native Bitcoin Integration:

• Connection with Bitcoin L2 partners for native BTC liquidity.

***

## 7. CrossCurve Foundation

• Governance & Sustainability:

• Launching a dedicated CrossCurve Foundation.

• Focus on decentralization, maximizing holder value, and long-term ecosystem growth.

<br>


# 2024

## Product & CrossCurve Roadmap <a href="#product-and-crosscurve-roadmap" id="product-and-crosscurve-roadmap"></a>

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FpQFMqMOEqykwaKniQTPW%252FFrame%25201171277017d.png%3Falt%3Dmedia%26token%3D5621b362-22e3-4da6-9d32-7ebf293ca4be&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=516ffea6&#x26;sv=2" alt=""><figcaption></figcaption></figure>

## Roadmap timeline: <a href="#q4-2024" id="q4-2024"></a>

### **📍 Q4 2024**

▪️ ✅**New** [**xWETH**](https://curve.finance/#/fantom/pools/factory-stable-ng-37/deposit) **and** [**xBTC**](https://curve.finance/#/fantom/pools/factory-stable-ng-39/deposit) **pools, as well as adding new chains**

Adding pools with Ethereum and Bitcoin, support of the Linea, Mantle, Blast, and Taiko chains.

▪️ ✅[**Early farming rEYWA**](https://docs.crosscurve.fi/user-documentation/early-farming-program)

A unique program for liquidity providers within which users will be rewarded with rEYWA tokens. These tokens can then be exchanged for $EYWA 1:1 after the TGE.

▪️ ✅**The first cross-chain listing on** [**CrossCurve**](https://docs.crosscurve.fi/summary/launch-plan-2024)

Listing of a project on the [CrossCurve DEX](https://app.crosscurve.fi/), which will make that token available for trading at once in all the networks included into CrossCurve.

▪️ ✅**Two $EYWA sale community rounds**

An exclusive opportunity for the EYWA community (alpha-testers and anyone Airdrop-eligible) and our key partners — Curve Finance and Alphamind — to obtain $EYWA tokens prior to the listing.

▪️ ✅**Activating the NFTs’ utility**

The transfer of EYWA NFTs into the Arbitrum network, activation of the merge function of the NFT, the ability to claim the Airdrop after the TGE, and listing on popular marketplaces.

▪️ ✅**TGE**

Token generation, the start of the unlock period, and the preparation for CEX listing.

▪️ ✅**CEX listing**

Adding the $EYWA token to centralized exchanges in December 2024.

▪️ ✅**Launch of the EYWA DAO**

Transferring the control over all of the EYWA smart-contracts to the DAO community. Creating a marketplace of incentives for the EYWA DAO community, and the launch of veTokenomics. Stimulating the demand for $EYWA from Web3 projects and liquidity providers.

▪️ ✅**Multiple Incentives in the EYWA DAO**

Increasing the income in several pools via a collaboration with Curve Finance. Governing the revenue via DAO voting.

▪️ ✅**Adapting the TG Mini App** [**Llamaville** ](https://t.me/llamaville_bot)**for onchain-education.**

### **📍 Q1 2025**

▪️ **Upgrading Hubchain to Sonic**

Lowering gas fees, increasing transaction speed, and strengthening of security by connecting to the Consensus Bridge.

▪️ **Connecting partner bridges & tokens to CrossCurve**

Adding new tokens from large partner projects for swapping on CrossCurve.

## **Key Milestones:** <a href="#key-milestones" id="key-milestones"></a>

* ✅Launching [CrossCurve.fi](https://crosscurve.fi/) and updating [Eywa.fi](https://eywa.fi/) websites & PR campaign in February.
* ✅Launching CrossCurve DEX based on the aggregation of Curve pools and Eywa Oracle Network in March.
* ✅Implementing a point system and new tasks in EYWA Adventure Quest.
* ✅Launching CrossCurve app, using Curve liquidity pools in March.
* ✅Launching new quest tasks on the website in March.
* ✅Launching the [Ambassador Program](https://forms.gle/1PSSCVpzqLxB8ALq9).
* ✅Launching the [Early farming program](https://docs.crosscurve.fi/user-documentation/early-farming-program).
* ✅Adding a new [xSTABLE](https://curve.finance/#/fantom/pools/factory-stable-ng-24/deposit), [xWETH](https://curve.finance/#/fantom/pools/factory-stable-ng-37/deposit) and [xBTC](https://curve.finance/#/fantom/pools/factory-stable-ng-39/deposit) pools across 12 EVM chains: even lower slippages
* ✅Undergoing a comprehensive third-party audit to enhance [Consensus bridge](https://docs.eywa.fi/eywa-ecosystem/products/eywa-v2/consensus-bridge) security
* ✅Expanding the KOL list for TGE & new partnerships
* ✅Launching [Season 2](https://docs.crosscurve.fi/user-documentation/leaderboard-and-points-system) of the Airdrop
* ✅Introducing the long-term on-chain [Ambassador Program](https://forms.gle/gbQ2v5JvR29BdejX8)
* ✅Conducting Eywa token TGE on Arbitrum and token sales on launchpads.
* Migrating to [Eywa Consensus Bridge](https://docs.eywa.fi/eywa-ecosystem/products/eywa-v2/consensus-bridge).
* ✅Conducting the first cross-chain listing of a token
* ✅Conducting a Community Round.
* ✅Paying bribes to Curve and Convex via Stake DAO and Votium to attract incentives to the main pools.
* ✅Launching EYWA DAO for EYWA token's main utility.
* ✅Offering bond purchases, based on [Bond Protocol](https://bondprotocol.finance/).
* ✅Migrating the EYWA NFT collection to Arbitrum, activating EYWA NFT functions - container, merge, vote boosting in EYWA DAO, and getting tokens locked in NFTs.
* ✅Launching a vote-boosted farming program.
* Creating the EYWA DAO bribery market.
* ✅Integrating Convex, StakeDAO, and Yearn (cvxEYWA, sdEYWA, yEYWA markets) - launching staking for Eywa token.
* Integrating into cross-chain bridge aggregators: Rubik, Li.Fi, etc.
* ✅Receiving CEX confirmation for primary listing
* Uniswap V2/V3 integration for cross-chain token listings


# CrossCurve Tokenomics

We present the new improved edition of CrossCurve tokenomics, developed in accordance with the recommendations of experts, auditors and advisors.

<div data-full-width="true"><figure><img src="/files/WeFoHXs7kGP579IvKSk6" alt=""><figcaption></figcaption></figure></div>

<div data-full-width="true"><figure><img src="/files/YZ2b62QMyHNoPw6TS2Ac" alt=""><figcaption></figcaption></figure></div>

<div data-full-width="true"><figure><img src="/files/nOcxBjF1fUVFF2E4OfXa" alt=""><figcaption></figcaption></figure></div>

**🔗 Full version of CrossCurve tokenomics is available in this** [**spreadsheet**](https://docs.google.com/spreadsheets/d/1D462pSMcItjFUgjSpMq4-cf-LCa0hjqcwR1giyz9jnM/)

## 🎬 **Initial circulation supply, FDV and initial market cap**

**Listing price**: $0,07\
**Fully diluted valuation**: $70 000 000\
**Market cap on TGE**: $3 023 740\
**IMC (without liquidity)**: $921 539

After listing, the total circulating number of the **Eywa** tokens will be 43 196 286 (4,32% of the total supply). This figure represents the sum of the tokens unlocked on the community round, market-making tokens, airdrop, treasury and KOL tokens. &#x20;

## **TGE mechanics**

The TGE stage includes the following steps:

1. The **Eywa token** [smart contract](https://etherscan.io/address/0x8cb8C4263EB26b2349d74ea2cB1B27bc40709e12) will be deployed in [Ethereum](https://etherscan.io/address/0x8cb8C4263EB26b2349d74ea2cB1B27bc40709e12) chain;
2. The entire EYWA emission (1 billion tokens) will be issued and then transferred to the [Arbitrum](https://arbiscan.io/address/0x7a10f506e4c7658e6ad15fdf0443d450b7fa80d7) chain using the **CrossCurve Token Bridge**.
3. The vesting contracts will be deployed in [Arbitrum](https://arbiscan.io/address/0x7a10f506e4c7658e6ad15fdf0443d450b7fa80d7) chain.
4. EYWA is an omnichain token and can be moved to [Arbitrum](https://arbiscan.io/address/0x7a10f506e4c7658e6ad15fdf0443d450b7fa80d7), [BSC](https://bscscan.com/address/0x7a10f506e4c7658e6ad15fdf0443d450b7fa80d7) and [Fantom](https://ftmscan.com/address/0x7a10f506e4c7658e6ad15fdf0443d450b7fa80d7) chains.
5. The **CrossCurve team** will send the **Eywa token** emission to the vesting contracts in accordance with the project’s tokenomics.
6. Token distribution begins after **Listing date** in a special section on app.crosscurve.fi which will become available after the **TGE**. On TGE, users will be able to connect their wallets and access their personal vesting safes, linked to their addresses. During the vesting period, **Eywa** tokens are unlocked according to the scheme defined in tokenomics, and owners can transfer the unlocked tokens to their wallets.
7. The **Listing date** will occur no later than 14 days after **TGE**.

## 🕐 Eywa token vesting rules

The CrossCurve tokenomics outline various user categories, each with different lockup periods. After the TGE, all users will receive their personalized safes with vested tokens.

A vesting period is a time interval during which tokens are unlocked according to a previously approved schedule. The tokens’ unlock logic is programmed into smart contracts and cannot be changed.

A vesting mechanism aims to mitigate pressure on a token market price, reduce the likelihood of speculation, protect the interests of token holders, and positively influence the long-term project development.&#x20;

**Details on vesting periods and the unlock scheme are available in the CrossCurve** [**tokenomics**](https://docs.google.com/spreadsheets/d/1D462pSMcItjFUgjSpMq4-cf-LCa0hjqcwR1giyz9jnM/edit?gid=232769479#gid=232769479)**.**

#### The Eywa vesting tokens feature the following:

1. **Limited movement.** \
   Allocations above 1.5 million tokens can only transfer their vesting tokens to whitelisted addresses, facilitating an OTC market.\
   &#x20;

   Allocations of smaller size, including all Airdrops rounds and Community round participants **can move their tokens** but **ONLY** by **using** [**Eywa NFT**s](https://docs.eywa.fi/eywa-token/eywa-nft-collection). This feature will be available after the [NFT collection](https://opensea.io/collection/eywaprotocol) migrates to Arbitrum.

   In simple terms, this means that these tokens can be tied to **Eywa NFT**s and sold on an [NFT marketplace](https://opensea.io/collection/eywaprotocol) at any time before the lock-in period ends.

{% hint style="info" %}
Migration of Eywa NFTs will be enabled sometime before the TGE. Until then, Eywa NFT tokens can only be purchased on the [Tofu marketplace](https://tofunft.com/en/collection/eywa-nft/items) in the Aurora chain.

Once migrated, the collection will be listed on leading marketplaces such as [OpenSea](https://opensea.io/collection/eywaprotocol) and others.
{% endhint %}

2. **Opportunity to use vesting tokens for staking.** <br>

   **Eywa vesting token** holders can stake their tokens before the end of the vesting period and receive staking/farming rewards.
3. **Opportunity to participate in the CrossCurve DAO** to receive **veEYWA** votes.&#x20;

{% hint style="info" %}
**Only** veEYWA holders will be eligible to **receive boosted rewards for liquidity provision**, **protocols income** and **bribes**.

Simply put, **ONLY veEYWA vote holders** will be able to receive EYWA tokens as **rewards**.
{% endhint %}

Note: Any changes in the accruals during validators’ rounds will be updated [here](https://app.gitbook.com/o/-Mj16WVCJPmcHIm_q9RF/s/-MeeWpeOIxH8_6YI1UtB/~/changes/243/eywa-oracle-network-will-be-ended-in-april-2024/validators-token-distribution).


# Overview of CrossCurve DAO

**CrossCurve DAO** — is a democratic, transparent, and decentralized organization that makes strategic decisions, engages participants, and incentivizes their contributions.

**The goal of CrossCurve DAO** is to create long-term incentives for attracting sustainable cross-chain liquidity, as well as to accumulate and manage the protocol’s own liquidity to ensure better conditions for cross-chain swaps in the market.

DAO governance is based on **locking the EYWA governance token into veEYWA**, which grants **voting power**. This voting power allows veEYWA holders to participate in decision-making, receive incentives, and earn income from EYWA protocols.

***

## **Advantages of veEYWA**

Locking EYWA provides you with the following benefits:

* Staking income
* Voting rights and participation in DAO decision-making
* Incentive earnings when voting for pools
* Increased rewards for providing liquidity
* A share of the platform’s fee revenue

***

## **Locking EYWA (veEYWA)**

**veEYWA** stands for **vote-escrowed EYWA**. Users can lock their EYWA tokens **for a maximum of 3 years**, in exchange for veEYWA. **The amount of veEYWA**[ ](https://resources.curve.fi/ru/vecrv/overview/#vecrv-decay)decreases **linearly as the chosen lock duration elapses. veEYWA cannot be transferred directly, but can be transferred within an EYWA DAO NFT**. The longer you lock, the more veEYWA you receive. For details, please see [the lock formula](https://docs.eywa.fi/eywa-token/eywa-dao/obtaining-veeywa-and-calculating-the-boost#the-formula-for-the-linear-relationship-between-lock-time-and-voting-power-boost-is), but the simple explanation is:

* 1 EYWA, locked for 3 years = 1 veEYWA
* 1 EYWA, locked for 2 years = 0.66(6) veEYWA
* 1 EYWA, locked for 1.5 years = 0.5 veEYWA
* 1 EYWA, locked for 1 year = 0.33(3) veEYWA

The longer you lock your EYWA, the greater your voting power (expressed in veEYWA) and the higher the boost you can achieve.

***

## **NFT Boosts**

Owning an EYWA NFT can affect the amount of veEYWA you receive and, therefore, your voting power. An NFT’s rarity is determined by two parameters - MV (multiplier for veEYWA), a multiplier applied to the veEYWA you receive; as well as CT (Capacity per NFT), the maximum number of EYWA tokens affected by the NFT’s influence. Check the table below for the characteristics of each rarity level:

| Rarity    | Multiplier for veEYWA (MV) | Capacity per NFT (CT) |
| --------- | -------------------------- | --------------------- |
| common    | 1.006                      | 500                   |
| uncommon  | 1.036                      | 3 000                 |
| rare      | 1.3                        | 25 000                |
| legendary | 2.8                        | 250 000               |
| infinity  | 3                          | 1 500 000             |

EYWA NFTs enhance your DAO voting power, increase returns from staking, incentives, and fees, and allow trading of locked tokens. They also attract investors due to their rarity and functionality.

Here are some ways EYWA tokens benefit different types of users:

**For veEYWA holders - those who have locked their tokens to gain voting power:**

* **Boosts** voting power when making DAO decisions
* **Boosts** the voting power that can be exchanged for incentives (to distribute EYWA inflation across CrossCurve pool gauges)
* **Boosts** staking income for veEYWA holders
* **Boosts** the voting power used for distributing $EYWA in CrossCurve pools
* **Boosts** income from distributing the protocol’s fee revenue among veEYWA holders

***

## **Staking Income**

Staking income is the reward for long-term holding and locking of EYWA tokens. The longer and larger the locked amount, the higher your staking rewards, which are credited at the end of each epoch.

Also, staking yield depends on the total volume of locked EYWA: the more tokens locked, the lower the yield.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfVcXakNe0Mg5zJRQBmvzyMPxGXiOhsncMSgmt5pQ-U60IGqD1AGNFkRt-GMpOCCRe8lZ85xP8Wmt7TvxAGPLBQb8yH7rdycPI8OJVzj-eBRXjdMJe5bz83BJWLFvExE99BlWaMYQ%3Fkey%3DJtoduL2AZRFdqWPBN3RAWD1O&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=a4276e5a&#x26;sv=2" alt=""><figcaption></figcaption></figure>

You can view the detailed calculations at the following [link](https://docs.google.com/spreadsheets/d/13S_nSQ5yGw007FdrZ62JbbtEESJtxMPAjFfDIVpcJ9o/edit?gid=2059672431#gid=2059672431).

Using EYWA DAO NFT further increases your staking earnings.

***

## **Voting Rights and DAO Decision-Making**

**CrossCurve DAO functions include:**

1. Managing protocol contracts: bridges, new networks, contract deployments, fees, and permissions.
2. Managing the DAO treasury: inflation (amount and rate), incentives for community development, expenses to attract customers and partners, emission to bonds, gauges, and grants.

All of these functions are carried out through voting.

CrossCurve DAO voting is divided into three main categories. **Core voting** affects the calculation of the voting coefficient for distributing staking rewards.

**Core voting addresses:**

* Changes/additions to DAO, CrossCurve, and EYWA functionality;
* Incentives;
* Inflation and directives;
* Bonds;
* Grants;
* Gauges.

**Other voting topics:**

* Incentive proposals;
* Incentive directions;
* Gauge listings.

**Miscellaneous votings:**

Votings not included in the categories above.

***

## **Increased Rewards for Providing Liquidity (up to x2.5)**

CrossCurve DAO allows certain pools to receive additional rewards from $EYWA token emissions.

When $EYWA emissions are allocated to a pool, the interface displays a range of possible APR that users can earn by staking their LP position.

**The final APR boost depends on the user’s voting power** (formed by locking veEYWA) and the ratio of your liquidity to the total liquidity, taking into account other participants’ boosts in a specific pool. A maximum boost can increase your yield by up to 2.5 times.

Thus, holding veEYWA allows you to achieve higher returns when providing liquidity. Using EYWA DAO NFT further increases your yield boost in these pools.

***

## **Voting for Pools and Receiving Incentives (Bribes)**

Locking EYWA tokens provides unique opportunities for additional income through receiving incentives for voting on certain pools. By voting, veEYWA holders determine the distribution of liquidity and rewards among CrossCurve pools. Projects seeking to attract liquidity offer veEYWA holders incentives (various tokens) in exchange for votes in their favor.

Locking EYWA turns voting rights into a source of income: veEYWA holders choose the most profitable offers and receive rewards in tokens, cryptocurrencies, or other forms of income from the projects. The higher your veEYWA balance, the more profit opportunities you have.

Using EYWA DAO NFT further increases your earnings when voting for pools.


# Voting

## Voting on Emission and Incentive Parameters <a href="#voting-on-emission-and-incentive-parameters" id="voting-on-emission-and-incentive-parameters"></a>

Every three months (every 12 epochs), the project may initiate a vote to change the parameters of token emission distribution from the **CrossCurve Treasure**.

During this voting, the following parameters are determined:

1. **The amount of emission per epoch**: the total number of **EYWA** tokens allocated for the project’s development.
2. **The percentage allocated to pool rewards** (Pools incentives).
3. **The percentage allocated to bond creation** (Bonds incentives).
4. **The percentage allocated to grants** (Grants incentives).
5. **The percentage allocated to attract external rewards to project pools** (Bribes incentives).

***

## **Voting Conditions and Restrictions**

**Voting frequency**: Once a voting is initiated, the next one can only occur after three months.

**Parameters for voting**: All five parameters must be proposed for the voting:

1. Emission amount per epoch.
2. % for Pool incentives.
3. % for Bond incentives.
4. % for Grant incentives.
5. % for Bribe incentives.

**Restrictions**:

* **The sum of percentages for parameters 2-5** must total exactly **100%**.
* **The emission per epoch** cannot exceed the average emission since the DAO’s launch by more than **25%**.
* **Reducing emission** is not restricted and can be lowered to **0**, if DAO participants support it.

***

## **Initial DAO Parameters**

* **Emission per epoch**: 1 262 295 **EYWA** tokens.
* * **38%** — Pool incentives.
  * **25%** — Bond incentives.
  * **0%** — Grant incentives.
  * **37%** — Bribe incentives.

***

## **Emission Distribution Algorithm per Epoch**

1. **Determining the total emission volume** A certain emission amount **E** is allocated from the **EYWA Treasure** (for example, the initial 1 262 295 EYWA tokens or another value approved by the DAO).
2. **Calculating staking rewards**: The amount of staking rewards **S** is calculated.
3. **Calculating token volumes for incentives** After deducting the staking rewards, the remaining amount is distributed as follows:

$$
Pools\_{incentives}=ratio\_{Pools}∗(E−S)
$$

$$
Bonds\_{incentives}=ratio\_{Bonds}∗(E−S)
$$

$$
Grants\_{incentives}=ratio\_{Grants}∗(E−S)
$$

$$
Bribes\_{incentives}=ratio\_{Bribes}∗(E−S)
$$

{% hint style="success" %}
***Note**:*

* *The sum of* ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FoNkzcp4bsEMW1Mjclbch%252Fimage.png%3Falt%3Dmedia%26token%3Dfe3bc713-b22d-4d33-93d3-57af94a575a7\&width=300\&dpr=4\&quality=100\&sign=f28f7ce4\&sv=2)*,* ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FYmQFykf9X9UMmAVEaQaZ%252Fimage.png%3Falt%3Dmedia%26token%3D619d7f62-72ec-4674-9e1e-848210eb8263\&width=300\&dpr=4\&quality=100\&sign=479dc379\&sv=2)*,*![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252F9BxRcBTSHrhbe8vXYA5x%252Fimage.png%3Falt%3Dmedia%26token%3D6527b314-d4d4-479e-9560-48fb17fa9775\&width=300\&dpr=4\&quality=100\&sign=eb073fb7\&sv=2)*and*![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FtlcKNEK6raBCEn5sonHD%252Fimage.png%3Falt%3Dmedia%26token%3D8b19b060-6362-4774-a396-a35afcd1f8e0\&width=300\&dpr=4\&quality=100\&sign=254aa6f7\&sv=2) *coefficients must be 100%.*
* *These parameters can be changed by DAO participants through voting.*
  {% endhint %}

***

## Voting for Pools <a href="#voting-for-pools" id="voting-for-pools"></a>

All **veEYWA** holders can participate in weekly (every epoch) voting to distribute **Pool incentives** among the pools.

### **What are Pool incentives?**

**Pool incentives** are **EYWA tokens**, allocated from the **CrossCurve Treasury** each epoch to attract liquidity providers to the project. DAO participants vote on how this amount is distributed among the pools.

### **Benefit for Liquidity Providers**

The more votes directed to a pool where a provider’s liquidity is located, the higher their reward in the next epoch.

### **List of Eligible Pools**

Only those pools connected to the CrossCurve project are eligible for Pool incentives distribution:

1. **Pools created by the project before the DAO launch**.
2. **Pools added via a DAO vote**.

* Any DAO participant can initiate a vote to add a new pool.
* To include a pool in the list, the proposal must receive more than **50% of the DAO votes**.

### **Voting Procedure**

Voting takes place on a separate page in the **DAO** section. To participate, a user must:

1. **Distribute** all **100%** of their votes among the available pools.
2. **Press the "Vote" button** to confirm their voting choice.

Before the end of the current epoch, a user can cancel their votes and vote again.

***

## Incentive Distribution Scheme Based on Voting Results <a href="#incentive-distribution-scheme-based-on-voting-results" id="incentive-distribution-scheme-based-on-voting-results"></a>

1. **Vote Counting Process:**

At the start of a new epoch, all **veEYWA** votes cast for pools in the previous epoch are counted. The percentages allocated by participants are converted into a specific number of EYWA tokens directed to each pool.

1. **Formula for Incentive Distribution:**

$$
E\_{pool X} = \frac{V\_{pool X}}{\sum^n\_{i=1}V\_{pool i}} \* Pool\_{insentives}
$$

where:

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252Fph3nocXNHWwxxkjasLgk%252Fimage.png%3Falt%3Dmedia%26token%3De64e9ef8-0798-4bf1-bb08-8a764ec1945f\&width=300\&dpr=4\&quality=100\&sign=43b4e9f8\&sv=2) — the number of EYWA tokens allocated to pool X.

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FUbecunFX3l4M2TkhaLLz%252Fimage.png%3Falt%3Dmedia%26token%3D65543df4-6007-435c-8773-391f3fa20a77\&width=300\&dpr=4\&quality=100\&sign=ec01e7d2\&sv=2) — the total EYWA token amount allocated to all pools in the current epoch

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252F9DiBfAu4xiS2LApYS3hx%252Fimage.png%3Falt%3Dmedia%26token%3Dffa80f43-1b6c-4e0c-bee0-aeea3eb323ad\&width=300\&dpr=4\&quality=100\&sign=22153c8d\&sv=2)— the amount of **veEYWA** votes cast for pool X.

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FFZetVuTcebpnJTLg2yzf%252Fimage.png%3Falt%3Dmedia%26token%3D669a852b-8b93-45b4-9487-6e2c80460991\&width=300\&dpr=4\&quality=100\&sign=5ebae9ff\&sv=2)— the amount of **veEYWA** votes cast for pool i out of all **n** pools

**Thus, the number of EYWA tokens allocated to a pool depends on the proportion of veEYWA votes that pool received relative to all votes.**

***

## Reward Distribution to Liquidity Providers <a href="#reward-distribution-to-liquidity-providers" id="reward-distribution-to-liquidity-providers"></a>

At this stage, all incentives allocated each epoch to attract liquidity providers to the project’s pools are distributed via [**Angle Merkl**](https://merkl.xyz/) service.

### **Funds Flow Scheme:**

**CrossCurve Treasure → Pools incentives → Gauge → Angle Merkl → Liquidity Providers**

Liquidity providers can claim their rewards:

* Through **the project’s pool interface**.
* Through t**he** [**Angle Merkl**](https://app.merkl.xyz/) **service interface**.

***

## Boosting Liquidity Provider Income for DAO Participants <a href="#boosting-liquidity-provider-income-for-dao-participants" id="boosting-liquidity-provider-income-for-dao-participants"></a>

If a liquidity provider is also a **DAO** participant, they receive **increased rewards** through a boost coefficient **B**.

### **Boost Coefficient Formula:**

$$
B\_{user} = 1.5 \* \frac{D*v}{d*V} + 1
$$

where:

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FKlDukaSWbLsQmjhqkCYA%252Fimage.png%3Falt%3Dmedia%26token%3D9c9e4b77-2036-4ffc-881f-05bf0f5f80a0\&width=300\&dpr=4\&quality=100\&sign=b72dcf5a\&sv=2) — the user’s boost coefficient (cannot exceed 2.5)

*D* — the total sum of all deposits in the pool (in USD)

*d* — the user’s deposit amount in the pool (USD).

*V* — the total veEYWA of all users.

*v* — the user’s veEYWA amount.

### **Calculating the User’s Reward:**

A maximum boost of **B=2.5** does not mean the reward is simply increased by 2.5 times. The total ![](/files/yaOLGuAanFSbnJucjg93) is divided among all liquidity providers taking into account their individual boost coefficient B.

### **User Reward Formula:**

$$
Reward\_{user} = \frac{B\_{user}\*d\_{user}}{\sum^n\_{i=1}B\_{i}\*d\_{i}}\*Reward\_{all}
$$

Where:

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FmE8VQGVeK4wmFxzGBYwF%252Fimage.png%3Falt%3Dmedia%26token%3D91c2adc0-26e2-497d-bbfb-7ff51211d3a4\&width=300\&dpr=4\&quality=100\&sign=ca36c9e6\&sv=2)— the user’s reward

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FmcYS9bIPJrtlMtQFjevo%252Fimage.png%3Falt%3Dmedia%26token%3Dfb28003d-c56d-428d-97d0-47ee4f026f4a\&width=300\&dpr=4\&quality=100\&sign=7a8aada9\&sv=2)— the total amount of tokens allocated as liquidity rewards

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FaEkjONQmPvnXV2ANmITs%252Fimage.png%3Falt%3Dmedia%26token%3D04a34eb2-a5c8-4965-93ca-f266fee0054d\&width=300\&dpr=4\&quality=100\&sign=15da6e3f\&sv=2)— the user’s boost coefficient

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252F9SU9RNFtNNPTzb8iqIK0%252Fimage.png%3Falt%3Dmedia%26token%3D4314e004-4a7e-48af-ad8e-92f9aa33298c\&width=300\&dpr=4\&quality=100\&sign=1290e663\&sv=2)— the user’s deposit size (USD).

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252F4XHD4xpOAieT7pboZ5iu%252Fimage.png%3Falt%3Dmedia%26token%3D7e6d6fb2-3167-4b32-8724-fc9058a38cd1\&width=300\&dpr=4\&quality=100\&sign=94332afd\&sv=2)— the boost coefficient of user i.

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252Fnjipm4Kl9QvtXnRBahjH%252Fimage.png%3Falt%3Dmedia%26token%3D94799a14-b42f-458c-b687-8bc63fbecdf6\&width=300\&dpr=4\&quality=100\&sign=3a6e550d\&sv=2)— the deposit size of user i (USD).

### **Restrictions:**

* Maximum boost coefficient: **2.5**.
* Rewards are distributed proportionally, taking into account each user’s deposit and boost coefficient.

**This system incentivizes DAO participants to provide liquidity, increasing their returns thanks to holding veEYWA.**


# Obtaining veEYWA and Calculating the Boost

In order to become a participant in CrossCurve DAO, you need to lock your EYWA tokens or EYWA NFT along with them.

Users can lock EYWA tokens for up to 3 years, receiving veEYWA — their voting power in the DAO. The longer the lock duration and the higher the NFT rarity, the greater the participant’s voting power (influence) in the DAO and the more incentives and benefits they gain.

Voting power decreases as the token unlock time approaches unless the lock is extended. This encourages long-term commitment, strengthens the project’s stability, and allows participants to actively influence its development.

**EYWA NFTs** multiply **veEYWA**, increasing voting power, income, and a user's influence in the DAO. To do this, you must attach EYWA tokens or one or more Vesting Safes containing EYWA tokens to an **EYWA NFT**.

**A Vesting Safe** is a special contract from the CrossCurve team that stores locked EYWA tokens. The tokens in the safe unlock according to an algorithm matching the type of round in which they were received.

**The** [**Locker**](https://docs.crosscurve.fi/user-documentation/dao/eywa-locker-interface) is a smart contract where owners lock their EYWA tokens for various durations. The purpose of locking is to obtain voting power in the form of veEYWA. Voting power depends on the lock duration: the longer the lock, the greater the voting power for the same number of locked tokens.

* **Maximum lock duration**: 3 years (156 weeks), providing the maximum ratio: 1 locked token = 1 vote.
* **Minimum lock duration**: a few days (until the end of the current epoch). For example, 2 days give 2/1092 of a vote.

**Example**: 156 tokens locked for one week give 1 vote.

### **The formula for the linear relationship between lock time and voting power boost is:**

$$
G=\frac{T}{156}
$$

Where **T** is the lock time in weeks (Formula 1)

***

## Features of setting lock time in a smart contract when creating a lock <a href="#features-of-setting-lock-time-in-a-smart-contract-when-creating-a-lock" id="features-of-setting-lock-time-in-a-smart-contract-when-creating-a-lock"></a>

When working with the [Locker](https://docs.crosscurve.fi/user-documentation/dao/eywa-locker-interface) smart contract, note that the contract automatically "rounds" the submitted lock date to the end of the previous epoch (Thursday 00:00 UTC). This means that if a date falls on a Friday, Saturday or Monday, the smart contract will set the lock time to the preceding Thursday.

To accommodate this behavior, the website interface for interacting with the [Locker](https://docs.crosscurve.fi/user-documentation/dao/eywa-locker-interface) sends a especially calculated date, ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FsB9f2EBCpFtIqAQJYlnF%252Fimage.png%3Falt%3Dmedia%26token%3Ddb5d5099-acf0-454c-a3d6-00a9716440dd\&width=300\&dpr=4\&quality=100\&sign=d8f35d2b\&sv=2) to the smart contract:

$$
T\_{lockout end} = T\_{now} + T\_{end current epoch} + n \* T\_{epoch} + 24 hour
$$

where:

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252F1NMM5cxWeAsQHxbrc3yh%252Fimage.png%3Falt%3Dmedia%26token%3Da3c3f490-d9a3-42d9-8d36-a5e0c0e8c250\&width=300\&dpr=4\&quality=100\&sign=46ce26da\&sv=2) - the current time,

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FbZUoOvLDFQz3BEpVo7uG%252Fimage.png%3Falt%3Dmedia%26token%3D70ddbad2-6126-4846-bd01-9ce21270dc54\&width=300\&dpr=4\&quality=100\&sign=daa55fd\&sv=2) - time remaining until the end of the current epoch,

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252F4iD0tRF5r2nHYuZOplXY%252Fimage.png%3Falt%3Dmedia%26token%3Dd81968d0-88be-4f01-9b59-4fce87c0eeb1\&width=300\&dpr=4\&quality=100\&sign=be92f408\&sv=2) - the duration of one epoch (1 week),

*n* - the number of weeks the user wants to lock tokens.

Additionally, the total lock time cannot exceed 156 epochs (weeks).

Due to these mechanics, achieving a ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FmpptHFhco0JI1jwzVavJ%252Fimage.png%3Falt%3Dmedia%26token%3D28f076b3-0739-403b-9caa-b6112fe148d7\&width=300\&dpr=4\&quality=100\&sign=6d44f29c\&sv=2) value equal to 1 is nearly impossible. The closest approximation can only occur if a locking transaction is sent for 156 weeks immediately after the start of a new epoch, such as Thursday at 00:00:01 UTC. In that case:

$$
G = \frac{156*7*24*60-1}{156*7*24*60}
$$

However, time constantly moves forward, and even a minute later:

$$
G = \frac{156*7*24*60-61}{156*7*24*60}
$$

Whether or not to continuously update the lock time, and at what intervals, is a decision each DAO participant must make individually based on their own objectives and intentions.

### **The total** ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FNuRKeKiC7e0SnNJpzHNU%252Fimage.png%3Falt%3Dmedia%26token%3D3e53320f-a7f7-40d1-aec3-ef544fe98188\&width=300\&dpr=4\&quality=100\&sign=d65c4520\&sv=2) **votes a token holder has are calculated using the formula:**

$$
V\_{veEYWA} = \sum^n\_{i=1}V\_{i}\*G\_{i}
$$

Where:

* ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FVDfC655gkF09DYWjkunx%252Fimage.png%3Falt%3Dmedia%26token%3Dcac56611-592c-4994-b632-515fc90392e1\&width=300\&dpr=4\&quality=100\&sign=21ae48fd\&sv=2) is the number of tokens locked by the owner i, considering NFT boosts,
* ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252F7LeQqsprCL3bOWwYyw4g%252Fimage.png%3Falt%3Dmedia%26token%3D4915e05f-a7f8-4031-865e-8ee91412682d\&width=300\&dpr=4\&quality=100\&sign=d38b4c7e\&sv=2) is the lock-time coefficient for user i,
* *n* is the number of users who have locked their EYWA tokens

(Formula 2)

***

## **EYWA DAO NFT** <a href="#eywa-dao-nft" id="eywa-dao-nft"></a>

<figure><img src="https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FHNmT762mLMMbqakZGXLr%252Fimg%2520%284%29.png%3Falt%3Dmedia%26token%3Dc3abbcbb-1384-40fa-8c2c-51af9c2278cf&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=bcae0881&#x26;sv=2" alt=""><figcaption></figcaption></figure>

**EYWA DAO NFT** is an ERC-721 NFT created when EYWA tokens are locked in the [**EYWA Locker**](https://docs.crosscurve.fi/user-documentation/dao/eywa-locker-interface).

**Key features:**

* **Attaching assets**: Each EYWA DAO NFT can have EYWA tokens, Vesting Safes, and other EYWA NFTs attached to it.
* **Obtaining veEYWA**: The obtained veEYWA is automatically tired to the corresponding EYWA DAO NFT.
* **Multiple ownership**: A user can own an unlimited number of EYWA DAO NFT.
* **Summation of veEYWA**: The total amount of a user’s veEYWA is equal to the sum of the veEYWA of all their EYWA DAO NFTs.

Thus, **EYWA DAO NFT** serves as a hub for managing your locked assets and voting power in the DAO, providing flexibility and scalability in project governance.

***

## Creating an EYWA DAO NFT <a href="#creating-an-eywa-dao-nft" id="creating-an-eywa-dao-nft"></a>

**When creating an EYWA DAO NFT in the Locker, you can lock EYWA tokens in various states** ***When transferring to the Locker:***

1. **EYWA tokens** (standard ERC-20)

* Ownership is transferred to the [**Locker**](https://docs.crosscurve.fi/user-documentation/dao/eywa-locker-interface) contract.

1. **Vesting Safe contracts with direct ownership** (held in the user’s wallet)

* Ownership of the Vesting Safe contract is transferred to the Locker.

1. **Vesting Safe contracts with ownership via an NFT** (Vesting Safe contracts attached to an EYWA NFT)

* The Vesting Safe is detached from an EYWA NFT and transferred to the Locker.
* The EYWA NFT ownership is also transferred to the Locker.

1. **ERC-20 EYWA tokens with ownership via an NFT** (EYWA tokens attached to an EYWA NFT)

* Tokens are detached from an EYWA NFT and transferred to the Locker.
* Ownership of an EYWA NFT is also transferred to the Locker.

## Calculating veEYWA: <a href="#calculating-veeywa" id="calculating-veeywa"></a>

The[ **Locker**](https://docs.crosscurve.fi/user-documentation/dao/eywa-locker-interface) calculates the amount of veEYWA based on the total number of EYWA tokens locked, including both standard ERC-20 tokens and those in the Vesting Safe.

## Restrictions when creating an EYWA DAO NFT <a href="#restrictions-when-creating-an-eywa-dao-nft" id="restrictions-when-creating-an-eywa-dao-nft"></a>

* You cannot create an EYWA DAO NFT by adding an empty EYWA NFT to the Locker.
* You can attach no more than 100 Vesting Safes and 100 EYWA NFTs to one EYWA DAO NFT.

***

## Modifying an EYWA DAO NFT <a href="#modifying-an-eywa-dao-nft" id="modifying-an-eywa-dao-nft"></a>

> ***You can modify an EYWA DAO NFT in several ways:***

**Adding additional EYWA tokens:**

* You can lock more EYWA tokens in any of the ways described above at the time of creating an **EYWA DAO NFT**.

**Adding/attaching empty EYWA NFTs:**

* You can attach additional empty **EYWA NFTs** to an existing **EYWA DAO NFT**.

**Removing/detaching EYWA NFTs:**

* You can detach an **EYWA NFT** from an **EYWA DAO NFT**, returning them to the user’s ownership.

**Extending the lock duration of tokens:**

* You can extend the lock duration of already locked **EYWA** tokens to increase voting power.

***

## Increasing veEYWA using EYWA NFTs <a href="#increasing-veeywa-using-eywa-nfts" id="increasing-veeywa-using-eywa-nfts"></a>

**EYWA NFT Collection**

A released collection **EYWA NFTs** allows users to increase their voting power in the DAO. To do this, you must attach your NFTs from this collection in the[ **Locker**](https://docs.crosscurve.fi/user-documentation/dao/eywa-locker-interface). When sending NFT tokens, they are locked under different conditions than standard **EYWA** tokens.

**Attaching and Detaching EYWA NFTs**

* **Attaching EYWA NFTs:**
* * When one or more **EYWA NFTs** are added to an **EYWA DAO NFT**, a boost is applied to the locked EYWA tokens, increasing voting power.
* **Detaching EYWA NFTs:**
* * **If an EYWA DAO NFT did not participate** in pool voting in the current epoch:
  * * **EYWA NFTs** can be attached at any time.
  * **If an EYWA DAO NFT participated** in pool voting in the current epoch:
  * * The attached **EYWA NFTs** involved in voting cannot be detached
    * To detach them, **you must cancel the vote** for the pools.

***

## **NFT Rarity Types and Their Characteristics**

| Rarity    | Multiplier for veEYWA (MV) | Capacity per NFT (CT) |
| --------- | -------------------------- | --------------------- |
| Common    | 1,006                      | 500                   |
| Uncommon  | 1,036                      | 3 000                 |
| Rare      | 1,3                        | 25 000                |
| Legendary | 2,8                        | 250 000               |
| Infinity  | 3                          | 1 500 000             |

**MV (Multiplier for veEYWA)**: A multiplier that increases veEYWA.

**CT (Capacity per NFT)**: The maximum number of EYWA tokens affected by an NFT.

***

## **Calculating the NFT Boost to Increase Voting Power**

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FekN1BWWpvAWaFY28Nq4j%252Fimage.png%3Falt%3Dmedia%26token%3Db8f4fe30-948e-484d-9bd9-19f5b2c3339f\&width=300\&dpr=4\&quality=100\&sign=7e014746\&sv=2) total number of tokens locked by the owner

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FWfqWCA7Uw5vLun3bQis3%252Fimage.png%3Falt%3Dmedia%26token%3D8ce5eeb6-6315-42e1-b788-73b1b76661a3\&width=300\&dpr=4\&quality=100\&sign=dbdf4357\&sv=2) number of tokens of the same rarity locked by the owner

$$
V\_{rarity} = N\_{common}\*500+N\_{uncommon}\*3000+N\_{rare}\*25000+N\_{legendary}\*250000+N\_{infinity}\*1500000
$$

\- this is the total number of tokens that can be affected by NFT boosts (Formula 3)

If ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FJTf2RMXU5mYtY0iu9DPy%252Fimage.png%3Falt%3Dmedia%26token%3D95a6d513-febf-4dfa-976e-3897ce8fccd9\&width=300\&dpr=4\&quality=100\&sign=6060279b\&sv=2) is greater than or equal to ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252F0P6QTcgbgmvZ9ZH4ctRV%252Fimage.png%3Falt%3Dmedia%26token%3D619de73b-13bf-4f96-b366-0c722237e157\&width=300\&dpr=4\&quality=100\&sign=d84fa7c8\&sv=2), then the overall boost formula is:

$$
V\_{result} = V\_{all}-V\_{rarity}+N\_{common}*500*1.006+ N\_{uncommon}*3000*1.036+
+N\_{rare}*25000*1.3+N\_{legendary}*250000*2.8+N\_{infinity}*1500000*3
$$

(Formula 4)

If ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FQvoOljraG3zaor65ScNr%252Fimage.png%3Falt%3Dmedia%26token%3Da5bb00e4-4b13-4fcb-a20b-17767bf28182\&width=300\&dpr=4\&quality=100\&sign=7c00981b\&sv=2) is greater than ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FpCCwtCw0kqOBoIE2EPBc%252Fimage.png%3Falt%3Dmedia%26token%3Dcf51365a-15af-465a-9ca5-b2d1a9257fc0\&width=300\&dpr=4\&quality=100\&sign=2ee6acbe\&sv=2) , it means the volume of tokens that could theoretically be influenced by the NFT boost is greater than the owner’s tokens. Therefore, we must fairly allocate the available token volume for the greatest results. For that, we use the following algorithm:

$$
V\_{temp} = V\_{all}
$$

1. ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FrWQncBy7mAW38tB7Syc3%252Fimage.png%3Falt%3Dmedia%26token%3D52015a45-b768-452d-9490-86f394a340e4\&width=300\&dpr=4\&quality=100\&sign=289f0090\&sv=2)=![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FHwRPSyKOo4hxAdB02lyE%252Fimage.png%3Falt%3Dmedia%26token%3D7cd38314-f69a-4f8b-b668-c735845d0122\&width=300\&dpr=4\&quality=100\&sign=6f6378f2\&sv=2)\*1500000
2. If ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FUQCBcToGLrIad92sTLB6%252Fimage.png%3Falt%3Dmedia%26token%3D8a1b4481-2c76-43a9-9730-b08ee6d47493\&width=300\&dpr=4\&quality=100\&sign=185f961e\&sv=2) is less than or equal to ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FwYdnUAxtia1ucCPlpFtJ%252Fimage.png%3Falt%3Dmedia%26token%3D69c29dc9-38e6-4c0b-aead-64f564fbd513\&width=300\&dpr=4\&quality=100\&sign=5c404cc9\&sv=2), then ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FvtBRka2aR1wO0aTQ90Ma%252Fimage.png%3Falt%3Dmedia%26token%3De3faa691-49d2-4313-8edf-7881a4f9d6f8\&width=300\&dpr=4\&quality=100\&sign=42dd2c2a\&sv=2)= ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FdLi40XffMfLz20MbNcA5%252Fimage.png%3Falt%3Dmedia%26token%3D7d937426-fdee-406b-b778-3d0d1e1e7cf3\&width=300\&dpr=4\&quality=100\&sign=5da07694\&sv=2)\*3;
3. Else: ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252F6rx8n6wvBFFkRHHzcZ0S%252Fimage.png%3Falt%3Dmedia%26token%3Db5f15084-980c-434a-bd0b-a219cb65f740\&width=300\&dpr=4\&quality=100\&sign=a1042741\&sv=2)= ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FVLbfTRhwalaoGmtPopY3%252Fimage.png%3Falt%3Dmedia%26token%3D502d5649-dc77-4035-9765-67a6741269a0\&width=300\&dpr=4\&quality=100\&sign=706da642\&sv=2)\*3; ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FranNCCRxB9zypW2pwH5c%252Fimage.png%3Falt%3Dmedia%26token%3D0dce5c06-96d9-4ceb-8291-a198cff83bce\&width=300\&dpr=4\&quality=100\&sign=6e2714a4\&sv=2)=![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FUwsCLeJaEbA7MnO2il2y%252Fimage.png%3Falt%3Dmedia%26token%3D64667892-3939-4b5f-b468-da1df9dd29ce\&width=300\&dpr=4\&quality=100\&sign=4999c30c\&sv=2)-![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FbcnNDb1jALETIRL999fi%252Fimage.png%3Falt%3Dmedia%26token%3D0d527e2f-3a10-417c-b61c-07e03a74832f\&width=300\&dpr=4\&quality=100\&sign=291526be\&sv=2)
4. ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FsZ6W8XeJJuQjE1a5MFQ5%252Fimage.png%3Falt%3Dmedia%26token%3D83022a96-e0b0-4018-8ef5-68f329a4b06d\&width=300\&dpr=4\&quality=100\&sign=957171d2\&sv=2)=![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FTpvz4PpbOcwlYHmWe0Lx%252Fimage.png%3Falt%3Dmedia%26token%3D96bae9af-a299-4582-8a35-f497b74ba064\&width=300\&dpr=4\&quality=100\&sign=bcd03\&sv=2)\*250000
5. If ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FEA04SHouvg08bZHY9BpP%252Fimage.png%3Falt%3Dmedia%26token%3D4680f4b2-e0c8-46cc-9663-e9f4ffff2353\&width=300\&dpr=4\&quality=100\&sign=c6e5eae1\&sv=2) is less than or equal to ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252Fb859mWFrZAJz0wIQZ0rO%252Fimage.png%3Falt%3Dmedia%26token%3D6d7d87eb-0876-4df1-bce8-0e5cb088259e\&width=300\&dpr=4\&quality=100\&sign=f7aa43aa\&sv=2), then: ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FdMfExDiN3uzKg4BNt92M%252Fimage.png%3Falt%3Dmedia%26token%3D11010184-bef6-4890-b5b6-234b8a1166e4\&width=300\&dpr=4\&quality=100\&sign=8818d825\&sv=2)=![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252Fu2DPcCUPKJnfIM6yXaP6%252Fimage.png%3Falt%3Dmedia%26token%3D705ca948-8377-412f-b3c2-4ee6cc61c367\&width=300\&dpr=4\&quality=100\&sign=d6be1ce4\&sv=2)+ ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FN0yFjLex02HM4yeh7Jqp%252Fimage.png%3Falt%3Dmedia%26token%3D0843370e-be19-4639-890f-ec70a9ccad20\&width=300\&dpr=4\&quality=100\&sign=5294c9b1\&sv=2)\*2.8;
6. Else: ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FGeEhGZRH3k7R7uqVzRGf%252Fimage.png%3Falt%3Dmedia%26token%3D617b43fb-93bf-493b-8c81-7d55e2e21104\&width=300\&dpr=4\&quality=100\&sign=65e7f475\&sv=2)= ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FCJOKIl9v9Dx5bgJM7sCz%252Fimage.png%3Falt%3Dmedia%26token%3Df3ba7edd-0a1d-4ec1-b55f-d6314d0cf9da\&width=300\&dpr=4\&quality=100\&sign=6dcbc0a8\&sv=2)+ ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FpILJccYtt7EFeUdxotqC%252Fimage.png%3Falt%3Dmedia%26token%3Db2b64b84-027a-487e-bf68-c75df3401d34\&width=300\&dpr=4\&quality=100\&sign=820105cd\&sv=2); ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FmJY3i9G6v45Gt18BANSj%252Fimage.png%3Falt%3Dmedia%26token%3D85e85358-d961-4d13-a4e7-bd156fb719ca\&width=300\&dpr=4\&quality=100\&sign=f9e23256\&sv=2)=![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FfA9h2GnUn3CnBVM9rknL%252Fimage.png%3Falt%3Dmedia%26token%3D8a5a52b6-6a5a-411b-afbd-19b2426cd40c\&width=300\&dpr=4\&quality=100\&sign=8738ecb1\&sv=2)-![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FaIPxPguI9dMNeY6pKz0Z%252Fimage.png%3Falt%3Dmedia%26token%3D135706a0-e8e5-47c0-be2b-707c862f0f96\&width=300\&dpr=4\&quality=100\&sign=695ad213\&sv=2)
7. ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FUVMpt2GhwfmZBECIyoqs%252Fimage.png%3Falt%3Dmedia%26token%3D2278e3d6-6787-4258-b4cf-94a5ab51de52\&width=300\&dpr=4\&quality=100\&sign=dd8184b1\&sv=2)=![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FheCy4hmD3R6Go26u70uq%252Fimage.png%3Falt%3Dmedia%26token%3D89c9ced4-3bc7-4c41-9ee7-eae54b664534\&width=300\&dpr=4\&quality=100\&sign=d6dde655\&sv=2)\*25000
8. If ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FK2CbGPz9yHbn5klKXJNx%252Fimage.png%3Falt%3Dmedia%26token%3D0747840c-9db7-469f-b9b5-53d4527df70b\&width=300\&dpr=4\&quality=100\&sign=19eb29f3\&sv=2) is less than or equal to ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FqcvjQ88uBq12SL6nvT8Q%252Fimage.png%3Falt%3Dmedia%26token%3Df22fd6a5-0685-4153-8ddb-d4afa64a6772\&width=300\&dpr=4\&quality=100\&sign=5551775f\&sv=2), then ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FYAElz490LHVBkNsAuN1U%252Fimage.png%3Falt%3Dmedia%26token%3D887eda6d-3fc8-4d03-b006-6aef0b6b0b5d\&width=300\&dpr=4\&quality=100\&sign=74f0d107\&sv=2)=![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FYfhFg50jlBFzcxxgjZnN%252Fimage.png%3Falt%3Dmedia%26token%3Df42240ec-df6e-406e-8245-7e4960ade552\&width=300\&dpr=4\&quality=100\&sign=10dfe7b3\&sv=2)+ ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FZcSLE2jxyjzYybjiTetL%252Fimage.png%3Falt%3Dmedia%26token%3Dc4a2617b-d243-43c6-9e50-33ae79ab5441\&width=300\&dpr=4\&quality=100\&sign=76329645\&sv=2)\*1.3;
9. Else: ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FmjVniVqiCugV1IReAFfb%252Fimage.png%3Falt%3Dmedia%26token%3Dd702771b-ffc6-4793-ae17-f3b1e0730f02\&width=300\&dpr=4\&quality=100\&sign=de35b614\&sv=2)= ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FO9YLsCw3OBL6vmmBz0YQ%252Fimage.png%3Falt%3Dmedia%26token%3D104e2925-e475-4254-90be-cbb95f019600\&width=300\&dpr=4\&quality=100\&sign=1c3f48bb\&sv=2)+ ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FHsyILvuAhxTHbeWAVXOp%252Fimage.png%3Falt%3Dmedia%26token%3Dc252ef05-beb8-41bd-87bf-65d6aafbdcba\&width=300\&dpr=4\&quality=100\&sign=72322dbb\&sv=2); ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FIyBFGHARD0r2xO7MrEkF%252Fimage.png%3Falt%3Dmedia%26token%3D6a281774-ed44-47e7-96af-0dac646a1f77\&width=300\&dpr=4\&quality=100\&sign=ea99436f\&sv=2)=![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FKYjrVPk4yXXtMidIQsGk%252Fimage.png%3Falt%3Dmedia%26token%3D7d32e4c9-d8a6-419a-9c0d-986f671e6947\&width=300\&dpr=4\&quality=100\&sign=764702a4\&sv=2)-![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FTXIfbstTKGUscjtpjCMN%252Fimage.png%3Falt%3Dmedia%26token%3D33b04f06-54d9-4ed8-87f4-f61d493cae1d\&width=300\&dpr=4\&quality=100\&sign=ba81d5b4\&sv=2)
10. ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252Fts1g1AfTIWww7b3A1r1w%252Fimage.png%3Falt%3Dmedia%26token%3D6e2eaeb2-cebb-4d6f-825c-03494c02ce25\&width=300\&dpr=4\&quality=100\&sign=7d508d21\&sv=2)=![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252F1pLlfA1eXJzIA10X9SsP%252Fimage.png%3Falt%3Dmedia%26token%3D11733747-eb77-46a9-93eb-ddd2d9567f10\&width=300\&dpr=4\&quality=100\&sign=59ea6959\&sv=2)n\*3000
11. If ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FpkCk2aZ9SVOjR5vB7b9k%252Fimage.png%3Falt%3Dmedia%26token%3D5421cda4-cfc8-48fc-8243-77494510e87f\&width=300\&dpr=4\&quality=100\&sign=7213890a\&sv=2) is less than or equal to ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FtL4ca5lqn20siG9c4gJt%252Fimage.png%3Falt%3Dmedia%26token%3D352ad5df-539b-4690-b0ba-b0198b3d2fd1\&width=300\&dpr=4\&quality=100\&sign=6ff5f521\&sv=2), then ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252Fh9QGIabZVa5oIJZG8t5L%252Fimage.png%3Falt%3Dmedia%26token%3D3e700489-e7dc-4378-9074-5e6e1f6c185a\&width=300\&dpr=4\&quality=100\&sign=c454f99a\&sv=2)=![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FQpjAPsj3EsFcQjM6D77g%252Fimage.png%3Falt%3Dmedia%26token%3Deff3caf3-6276-4e44-8f60-5683f88a5785\&width=300\&dpr=4\&quality=100\&sign=ea8e9917\&sv=2)+ ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FIfe48IU3FjhgsWdpu4bZ%252Fimage.png%3Falt%3Dmedia%26token%3De8a7447e-ad2c-4487-bdcc-c783fc7231d7\&width=300\&dpr=4\&quality=100\&sign=734d09c5\&sv=2)\*1.036;
12. Else: ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FrGCwHcTTPVkBFEbU33fG%252Fimage.png%3Falt%3Dmedia%26token%3Daf686cbe-7858-49d7-b75f-c2b90306159c\&width=300\&dpr=4\&quality=100\&sign=ea939ec2\&sv=2)= ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252Fh889gQx1EP0ImruNhIDP%252Fimage.png%3Falt%3Dmedia%26token%3D52733683-cc72-45a7-a2c6-ea037fca7e69\&width=300\&dpr=4\&quality=100\&sign=7f1808c3\&sv=2)+ ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252Fa6ZZSsVJULvnWYEcnAIE%252Fimage.png%3Falt%3Dmedia%26token%3Dc8b614b6-fbcb-4c3d-9e0d-4939545aeb0b\&width=300\&dpr=4\&quality=100\&sign=66c7202b\&sv=2); ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FITTR7pQ9CLINLgs64jrF%252Fimage.png%3Falt%3Dmedia%26token%3Ded16a897-05ca-4144-8b29-f3ffa1f82f95\&width=300\&dpr=4\&quality=100\&sign=7a841cd7\&sv=2)=![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FBA4mGGCa7B4b8sqSoWtU%252Fimage.png%3Falt%3Dmedia%26token%3De5288d0f-1449-49b2-ae98-806a4dc5d87e\&width=300\&dpr=4\&quality=100\&sign=aba0ff18\&sv=2)-![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FmVbALI6NR5XFTEC1Q45Y%252Fimage.png%3Falt%3Dmedia%26token%3D77fe847d-4705-4ca9-b662-420b0920a621\&width=300\&dpr=4\&quality=100\&sign=117300ce\&sv=2)
13. ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FIUmQMV3IKN2KeOsH5nb8%252Fimage.png%3Falt%3Dmedia%26token%3D83e0c0b7-c1de-4054-b36a-ca6f6ee9c34e\&width=300\&dpr=4\&quality=100\&sign=2da3e4e3\&sv=2)=![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252F2vfw5qReoySgdwTrtHT7%252Fimage.png%3Falt%3Dmedia%26token%3D63616374-7a48-463f-98d5-5f1b10ab7d91\&width=300\&dpr=4\&quality=100\&sign=36e08a82\&sv=2)\*500
14. The overall results are equal to ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252Ftx4ez2b4HVal99nOFR9g%252Fimage.png%3Falt%3Dmedia%26token%3Da320e898-b454-4504-8587-2dcdaacb08c0\&width=300\&dpr=4\&quality=100\&sign=b885bc34\&sv=2)=![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FzWWxVx3aVVjVlIPRQTKo%252Fimage.png%3Falt%3Dmedia%26token%3D8c33fe30-7584-4594-b2f8-e1d0ca6908c8\&width=300\&dpr=4\&quality=100\&sign=518e8413\&sv=2)+ ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252Fz7Pt0XXTFnw0SNrgmOWq%252Fimage.png%3Falt%3Dmedia%26token%3D782cad0a-9b45-41cf-91c9-522f1dd58ed8\&width=300\&dpr=4\&quality=100\&sign=52245408\&sv=2)\*1.006

The final ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FucYGXFhbheXSt72tgQJd%252Fimage.png%3Falt%3Dmedia%26token%3D3661d468-5ce8-47b6-bf65-6a8fb55c4efc\&width=300\&dpr=4\&quality=100\&sign=67cd5eae\&sv=2) is then used to determine the amount of veEYWA votes owned by the token holder.

#### **Examples of NFT Boost Calculations**

1. Example: ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FWVSm8QtG47leWn0rOC3f%252Fimage.png%3Falt%3Dmedia%26token%3Db886efd3-3bfd-44f8-ba37-98fe18d17bd4\&width=300\&dpr=4\&quality=100\&sign=12df993e\&sv=2) 1 000 000 tokens and one Legendary NFT are locked (![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FZUBKooOXSAhObx9nZ0Pe%252Fimage.png%3Falt%3Dmedia%26token%3D79f65bb1-3d56-40e3-a34c-ce710bc9517d\&width=300\&dpr=4\&quality=100\&sign=af245cd2\&sv=2)=1). Using the Formula 3: ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FGrBv8J0Paq586YGFP0Ws%252Fimage.png%3Falt%3Dmedia%26token%3Da2e75d56-e5b5-4337-b1b7-684b697da927\&width=300\&dpr=4\&quality=100\&sign=aae58e52\&sv=2)=0\*500+ 0\*3000+0\*25000+1\*250000+0\*1500000 = 250000

Since ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FBWMCxoQksoKWfIHnKmZv%252Fimage.png%3Falt%3Dmedia%26token%3D11ab8b14-00e5-4b15-a01f-65adc6675705\&width=300\&dpr=4\&quality=100\&sign=c193c6e6\&sv=2) is greater than ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FnJUJBixSknpGcg2R3mWD%252Fimage.png%3Falt%3Dmedia%26token%3Ded23163b-4b15-4a24-8da0-b69dcb583822\&width=300\&dpr=4\&quality=100\&sign=c48328f4\&sv=2) , we shall use the Formula 4:![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FgcHd89OyNC9oCUWooFP0%252Fimage.png%3Falt%3Dmedia%26token%3D041570fb-fde2-440d-b89e-15af6e59a20d\&width=300\&dpr=4\&quality=100\&sign=df5b9c5a\&sv=2)=1000000-250000+0\*500\*1.006+ 0\*3000\*1.036++0\*25000\*1.3+1\*250000\*2.8+0\*1500000\*3 = 750000+700000=1450000

1. Example. ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FIY5kumM6cg8d2ZYvw6n1%252Fimage.png%3Falt%3Dmedia%26token%3D1eff1b10-df1d-4945-9db2-54dd1af71319\&width=300\&dpr=4\&quality=100\&sign=268b04c\&sv=2) 1 000 000 tokens and ten Legendary NFTs are locked (![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FnOPcUWtM012GiibQzkwp%252Fimage.png%3Falt%3Dmedia%26token%3D7c8ec57f-f1ce-4dd9-a43d-e0df5a52d40a\&width=300\&dpr=4\&quality=100\&sign=1e1d2087\&sv=2)=10). Using the Formula 3: ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FfyOWziUjixxJJXroeobB%252Fimage.png%3Falt%3Dmedia%26token%3Ddbc1fb66-962c-4bcb-aca7-e4316b996aef\&width=300\&dpr=4\&quality=100\&sign=fc208d67\&sv=2)=0\*500+ 0\*3000+0\*25000+10\*250000+0\*1500000 = 2500000

Since ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FTR92XFZT721h4CvCUxz2%252Fimage.png%3Falt%3Dmedia%26token%3D8fba56a7-8db0-489e-8239-79aa516584e6\&width=300\&dpr=4\&quality=100\&sign=86dbdddc\&sv=2) is less than ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252Fw14wQJPi51IcRG1YaaoP%252Fimage.png%3Falt%3Dmedia%26token%3D01c2a6b6-81dd-4d78-bf9d-d205e28a5954\&width=300\&dpr=4\&quality=100\&sign=ce87b295\&sv=2) , we cannot use the Formula 4. Therefore, we shall use the following algorithm:

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252Fglz44LR6ffh25KCwBVA1%252Fimage.png%3Falt%3Dmedia%26token%3D1718ea29-e431-4685-818f-087df93c280c\&width=300\&dpr=4\&quality=100\&sign=c903f3ef\&sv=2)=![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252F598nrpf73VhBMJFzoA5R%252Fimage.png%3Falt%3Dmedia%26token%3D3a854c9c-eedf-4330-9ab0-ebe127a32dc8\&width=300\&dpr=4\&quality=100\&sign=555978c3\&sv=2)=1 000 000

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FstRjGOdbQ9T4ide1XkV8%252Fimage.png%3Falt%3Dmedia%26token%3Db854d188-c972-44f6-bbc7-14707c01e28e\&width=300\&dpr=4\&quality=100\&sign=9ae1fcf3\&sv=2)=![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252F6SRdb6dnp6vc8tE4OfSI%252Fimage.png%3Falt%3Dmedia%26token%3Dc708e522-30d7-42a1-a4c9-9c4471e96724\&width=300\&dpr=4\&quality=100\&sign=de7a5c3a\&sv=2)\*1500000=0

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252F7OnV9CMLqphCCtxFDp5J%252Fimage.png%3Falt%3Dmedia%26token%3D32ac7ec2-d7b9-4aed-bdbd-8e1e6238bdaa\&width=300\&dpr=4\&quality=100\&sign=967dcc15\&sv=2) is greater than ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FMDQ5aDqAqq1ZrROD1Wpy%252Fimage.png%3Falt%3Dmedia%26token%3Df18bee7b-7da5-45ca-8396-e7fd203279f3\&width=300\&dpr=4\&quality=100\&sign=57012aa5\&sv=2), therefore

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FN6Z3a7zGU9mQb3rZuwPH%252Fimage.png%3Falt%3Dmedia%26token%3Dcd2472f0-5f9b-41e2-a0f0-a82907a1827a\&width=300\&dpr=4\&quality=100\&sign=b5a46415\&sv=2)= ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FPGdVadCBS8T385fZIgI6%252Fimage.png%3Falt%3Dmedia%26token%3Df75c992d-89e0-4505-b745-7b42a1ffc754\&width=300\&dpr=4\&quality=100\&sign=ff88cbde\&sv=2)\*3=0; ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FGBbPWeEapnfnsnni8vOz%252Fimage.png%3Falt%3Dmedia%26token%3Db8b00551-65bf-475e-9fac-6e299af950c3\&width=300\&dpr=4\&quality=100\&sign=902dabca\&sv=2)=![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252Fpcc4JSaYtYd2jGTjwjoS%252Fimage.png%3Falt%3Dmedia%26token%3D17dbb345-f983-422d-9924-a7c591b0ebe0\&width=300\&dpr=4\&quality=100\&sign=ddf86b3e\&sv=2)-![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FBqyCNTBh5GHDZ2g2nznL%252Fimage.png%3Falt%3Dmedia%26token%3D3c290b2a-e3e4-4acb-ba80-87a61c24e61e\&width=300\&dpr=4\&quality=100\&sign=7d08f88b\&sv=2) = 1 000 000

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FZ8GZNkuL6KYqZV93MiGf%252Fimage.png%3Falt%3Dmedia%26token%3D29ac4af0-1cb3-467a-a67a-6830e5084ea9\&width=300\&dpr=4\&quality=100\&sign=b9118b2b\&sv=2)=![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FIISRyBblutLNbxG4ocDN%252Fimage.png%3Falt%3Dmedia%26token%3D6c0cb433-6118-4dee-a09e-911438d1a99f\&width=300\&dpr=4\&quality=100\&sign=654859fd\&sv=2)\*250000 = 10\* 250 000 = 2 500 000

If ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252F402S6TobCn3barKJNK9I%252Fimage.png%3Falt%3Dmedia%26token%3Da4e0b448-d5a5-44ab-a302-fa0d26189100\&width=300\&dpr=4\&quality=100\&sign=ff779731\&sv=2) is less than or equal to ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FhVp2ixm72zC5EoAz5Sef%252Fimage.png%3Falt%3Dmedia%26token%3Ddeb36ced-1a08-495c-a9a8-1c0b0a2a66dc\&width=300\&dpr=4\&quality=100\&sign=2ed843a2\&sv=2), therefore the final calculations are equal to: ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FdlbtheWfnlH74JzpyNNb%252Fimage.png%3Falt%3Dmedia%26token%3D84caa8d7-a243-47c2-adf1-dc42bcd6fea9\&width=300\&dpr=4\&quality=100\&sign=3aac0635\&sv=2)=![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FAYgMngv62gfnRkGIJyUA%252Fimage.png%3Falt%3Dmedia%26token%3D542de05e-ef34-4cc8-abd4-f35413042226\&width=300\&dpr=4\&quality=100\&sign=9e55582d\&sv=2)+ ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FsbwBWZdeRO96Sn92M6Xe%252Fimage.png%3Falt%3Dmedia%26token%3Dde7853da-1036-4ea4-b969-064af7a11ee9\&width=300\&dpr=4\&quality=100\&sign=b753e157\&sv=2)\*2.8 = 0+1 000 000 \*2.8 = 2 800 000

1. Example. ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252F4tea7WY0z37T1yJcA5Q4%252Fimage.png%3Falt%3Dmedia%26token%3D135ffcc2-f633-4328-af89-ac57473739dc\&width=300\&dpr=4\&quality=100\&sign=bf35cbf9\&sv=2) 2 000 000 tokens,1 Infinity NFT (![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FctMj51SPwtpp22stNKve%252Fimage.png%3Falt%3Dmedia%26token%3D349d4ef4-b28c-47a5-a463-036a4385bfbd\&width=300\&dpr=4\&quality=100\&sign=6073a0ce\&sv=2) =1) and 10 Legendary NFTs are locked(![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FwBQ5IRa0NFjfaRmzf4nK%252Fimage.png%3Falt%3Dmedia%26token%3D72700e22-0114-470a-a9d7-dc947749ede1\&width=300\&dpr=4\&quality=100\&sign=cf46d064\&sv=2)=10). Using the Formula 3, we get: ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FnN9qX6Zq7znBI87TjBTY%252Fimage.png%3Falt%3Dmedia%26token%3Dd6e0e74b-7d3f-47ce-a681-2f38510a1176\&width=300\&dpr=4\&quality=100\&sign=a664af7a\&sv=2)=0\*500+ 0\*3000+0\*25000+10\*250000+1\*1500000 = 4 000 000

Since ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FYtFL6StqbKtkcpBoSbTB%252Fimage.png%3Falt%3Dmedia%26token%3D8ca59af7-000f-48f1-a8a4-d1bd33ce56c8\&width=300\&dpr=4\&quality=100\&sign=79de2ada\&sv=2) is less than ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FJsLuFwBwUbcUhvTgS5vj%252Fimage.png%3Falt%3Dmedia%26token%3D3747da98-66e3-4ec7-8a7c-021742533069\&width=300\&dpr=4\&quality=100\&sign=22206e57\&sv=2) , we cannot use the Formula 4. Therefore, we shall use the following algorithm:

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FCUvm5GMBvmo687ppDHJE%252Fimage.png%3Falt%3Dmedia%26token%3Dd0dea895-1a5f-43a1-9529-a35669ede2cd\&width=300\&dpr=4\&quality=100\&sign=3de25e16\&sv=2)=![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FroyX0syJETTiCOjbgRmn%252Fimage.png%3Falt%3Dmedia%26token%3Db693861c-4d55-4435-bee7-b0d7356ae47b\&width=300\&dpr=4\&quality=100\&sign=646ca0d1\&sv=2)=2 000 000

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FCspwk1nn7vISZj3MXKsl%252Fimage.png%3Falt%3Dmedia%26token%3De69f7259-37da-4edf-a6c7-4b600873eb49\&width=300\&dpr=4\&quality=100\&sign=3f739c7e\&sv=2)=![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FdciXCWP0A0ns99lJMP26%252Fimage.png%3Falt%3Dmedia%26token%3Da75f4114-917b-48d5-9b06-8d8a4bb23c67\&width=300\&dpr=4\&quality=100\&sign=64aa7339\&sv=2)\*1500000 =1\*1 500 000

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FEP6YAcyF6QcLMTBCCAuy%252Fimage.png%3Falt%3Dmedia%26token%3D4d57b684-1846-45c1-b676-88b653b6375d\&width=300\&dpr=4\&quality=100\&sign=45c5341b\&sv=2) is greater than ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252F4CqFtjl9NC3XlsM076SL%252Fimage.png%3Falt%3Dmedia%26token%3D7d95fe7e-ea2c-4b60-8c3e-8ce4b83bc036\&width=300\&dpr=4\&quality=100\&sign=6660c304\&sv=2), therefore

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FtdqxQnx9IfQGQwJHMvrQ%252Fimage.png%3Falt%3Dmedia%26token%3D87fcb7a3-f218-4477-a76d-3e82e25e2c5b\&width=300\&dpr=4\&quality=100\&sign=53b453a5\&sv=2)= ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FYTgLBpj1OFS4UmTomvu8%252Fimage.png%3Falt%3Dmedia%26token%3D7c2249cd-3b99-4bc4-a836-26dd1a05fa53\&width=300\&dpr=4\&quality=100\&sign=db45ba42\&sv=2)\*3=4 500 000; ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FusZe717VStlUNv2flyJF%252Fimage.png%3Falt%3Dmedia%26token%3Dac6e717f-d10e-4a3f-a6ce-e477a31f6b71\&width=300\&dpr=4\&quality=100\&sign=c778e758\&sv=2)=![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252F5IP1ixyR14Wn06ZQp2sM%252Fimage.png%3Falt%3Dmedia%26token%3D9be1e61f-72f9-4ec8-a7ba-0f49d3f090d8\&width=300\&dpr=4\&quality=100\&sign=98a07361\&sv=2)-![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252Fhl3oUsphgXEpVCcDfuka%252Fimage.png%3Falt%3Dmedia%26token%3Da63316a0-b02a-46d1-acce-96cd0aee585e\&width=300\&dpr=4\&quality=100\&sign=c84a5ca4\&sv=2)=2 000 000 -1 500 000 = 500 000

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FwS6l0FOcm4AJ22lWr8Ki%252Fimage.png%3Falt%3Dmedia%26token%3D0b9c919f-9a9a-4da8-85be-49489dc348dd\&width=300\&dpr=4\&quality=100\&sign=8a1048ad\&sv=2)=![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FJx0h4XTJZTpBIBQCI3sd%252Fimage.png%3Falt%3Dmedia%26token%3Dd9ba822a-63a0-4282-91a8-a8c5e1ee7dc6\&width=300\&dpr=4\&quality=100\&sign=fd298133\&sv=2)\*250000=10\*250 000 = 2 500 000

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FYiS5FFMkXyFI56aMrqQV%252Fimage.png%3Falt%3Dmedia%26token%3D5c7602a9-4460-4011-bd18-eb55ea5f423f\&width=300\&dpr=4\&quality=100\&sign=5d0fd3f8\&sv=2) is less than ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FgLz4h6JD9npRzCmim3Mr%252Fimage.png%3Falt%3Dmedia%26token%3Dd65a29a5-c6d2-4063-8231-a7632703f8a7\&width=300\&dpr=4\&quality=100\&sign=32ddd6f4\&sv=2), therefore the final calculations are equal to: ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FKeJVZMSlJAZZw1pN5wk1%252Fimage.png%3Falt%3Dmedia%26token%3D827b2bba-f9a7-4085-812d-67f4342b564e\&width=300\&dpr=4\&quality=100\&sign=eb44a222\&sv=2)=![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FJlHgCc1uOBq92BZll84v%252Fimage.png%3Falt%3Dmedia%26token%3D131533df-f19d-4eae-81ee-3134fc350033\&width=300\&dpr=4\&quality=100\&sign=2cf69314\&sv=2)+ ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FSWlh438cnjiNSKNME3RY%252Fimage.png%3Falt%3Dmedia%26token%3D438c6af9-9668-40c4-ac8a-78c52654dbed\&width=300\&dpr=4\&quality=100\&sign=f7404f17\&sv=2)\*2.8=4 500 000 + 500 000\*2.8 = 5 200 000

***

## Maximum Possible Number of Votes <a href="#maximum-possible-number-of-votes" id="maximum-possible-number-of-votes"></a>

The **CrossCurve** protocol provides a unique system that allows reaching a maximum number of votes — **2 820 221 429**. This figure is achieved through a combination of **EYWA** tokens and NFT multipliers, as well as their optimal distribution according to capacity.

***

## Protection Against Front-Running Front-running is a practice in which someone (usually a trader or bot) gains information about an upcoming transaction and uses it to execute a trade earlier, thereby gaining an advantage. <a href="#protection-against-front-running-front-running-is-a-practice-in-which-someone-usually-a-trader-or-bo" id="protection-against-front-running-front-running-is-a-practice-in-which-someone-usually-a-trader-or-bo"></a>

In the new version of our NFT collection, a “freeze” mechanism has been introduced. After detaching tokens from an NFT, a 4-hour period is activated during which the NFT cannot be moved. This prevents the aforementioned unscrupulous practice: if a user attempts to detach tokens from an NFT being sold. They cannot finalize the deal since the NFT cannot be transferred to the buyer. As a result, only buyers who possess tokens will be able to purchase the NFT, reducing the risk of front-running.

Furthermore, the mechanism also applied to cases where tokens are locked in the DAO Locker. This means that when locking an NFT in the Locker, the same 4-hour “freeze” applies. This delay is necessary to ensure the system’s security and prevent abuse. Users should keep this feature in mind to avoid misunderstandings. It’s important to plan NFT-related actions with a “freeze” period in mind.


# Staking mechanics

Staking is the process of locking coins for a certain period, making them unavailable for trading. This mechanism supports decentralization and provides rewards to participants.

In the **CrossCurve** protocol, staking involves locking tokens in the DAO locker. Rewards are accrued every epoch and are tied to each user’s **EYWA DAO NFT**. Accrual occurs at the start of the new epoch for the previous one. In CrossCurve[ DAO](https://docs.eywa.fi/eywa-token/eywa-dao), the epoch length is one week, with the end of the epoch at Wednesday 24:00 UTC and the start of the epoch at Thursday 00:00 UTC.

By using the “**Compound**” transaction, a user can add the earned rewards to the corresponding **EYWA DAO NFT**, in order to add them to the principal of your position and earn compound interest.

***

*More details on reward calculations per epoch are provided below.*

#### **Distribution of Rewards Among DAO Participants**

Each epoch, a fixed number of EYWA tokens (![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252Fmp3dX83x2o5nXymMptTS%252Fimage.png%3Falt%3Dmedia%26token%3D3477f6dd-dc49-4955-bc64-412147c5df98\&width=300\&dpr=4\&quality=100\&sign=4f9b6cf4\&sv=2)), is allocated for DAO participant rewards. This amount depends only on the total number of locked EYWA tokens in that epoch. All calculations, including the number of locked tokens and the calculated veEYWA, are performed at the end of the epoch. The allocated rewards are then distributed among participants proportionally to their share of veEYWA.

***

#### **Algorithm for Calculating Rbase at the Start of DAO Operations**

1. Calculating the ratio of all locked EYWA tokens in this epoch to the total possible volume of EYWA tokens (1,000,000,000):

$$
Ratio\_{Locked EYWA} = \frac{V\_{Locked EYWA}}{1 000 000 000}
$$

1. If ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252F4AlPTYsHZcRUUe8FRlMB%252Fimage.png%3Falt%3Dmedia%26token%3Dc0e49a5b-49fd-4e11-ba21-7ee716af4345\&width=300\&dpr=4\&quality=100\&sign=7201589d\&sv=2) is less than 0.14, then ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FGQw9XmEpeyUurVo4YAWu%252Fimage.png%3Falt%3Dmedia%26token%3Df399920b-92a6-4b52-9fb1-ef09e9b29870\&width=300\&dpr=4\&quality=100\&sign=937b7de0\&sv=2) is calculated as:

$$
R\_{base} = Ratio\_{Locked EYWA}*i*Inflation+Inflation\*0.01
$$

, where

$$
i = (3-Ratio\_{Locked EYWA}\*9)
$$

*Inflation* - the emission amount in the calculation epoch.

1. If ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FIuc95X1asGcOWs3f8Mtk%252Fimage.png%3Falt%3Dmedia%26token%3D392d0bfc-b1d9-4188-a65a-4483b9f3659f\&width=300\&dpr=4\&quality=100\&sign=3acb253a\&sv=2) is greater than or equal to 0.14, then ![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FxgyEVChY1BHXyMNCOdeP%252Fimage.png%3Falt%3Dmedia%26token%3Dcc1547e3-3ae5-4131-a3a3-c45be8e12513\&width=300\&dpr=4\&quality=100\&sign=c8117a91\&sv=2) is calculated as:

$$
R\_{base} = Ratio\_{Locked EYWA}*i*Inflation+Inflation\*0.18752
$$

, where

$$
i= (0.5 - Ratio\_{Locked EYWA}\*0.2)
$$

*Inflation* - the emission amount in the calculation epoch.

All numerical coefficients indicated in the formulas are current at the time of DAO launch. They can be changed by DAO participants via voting.

***

## Staking APY Table with 10 Million Locked Tokens Increments <a href="#staking-apy-table-with-10-million-locked-tokens-increments" id="staking-apy-table-with-10-million-locked-tokens-increments"></a>

For convenience, we have prepared [tables](https://docs.google.com/spreadsheets/d/13S_nSQ5yGw007FdrZ62JbbtEESJtxMPAjFfDIVpcJ9o?gid=2059672431) with results grouped by different levels of locked token amounts.

<figure><img src="https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcOXstYnvWHBnxtGPlOFEzuES2Hblr9ULK6HEqjJnzG9tuMUx8Fi393KbE5am5dphp5T-GH4zojeo7FRjpiZ5LlPg1HQwBbIFY1UFy08ySlRxija64GfQgqEbNcHH9KTWdH8Y_PBA%3Fkey%3DnV9W2lltrM23MfiCIsx9ciV7&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=700658ec&#x26;sv=2" alt=""><figcaption></figcaption></figure>

***

## **Distribution of Rewards Among DAO Participants**

After determining the total amount for all users (![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FI78o9m2JZGia9FTZoJy2%252Fimage.png%3Falt%3Dmedia%26token%3Dd10282dc-54f6-4237-b893-1158c92ab986\&width=300\&dpr=4\&quality=100\&sign=54ae31b\&sv=2)), it is distributed among DAO participants **proportionally to the amount of veEYWA** each participants holds.

$$
R\_{User Base} = \frac{L\_{user}}{L\_{all}}\*R\_{base}
$$

, where

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252Fm6rIpcPMcopyrFonpcRW%252Fimage.png%3Falt%3Dmedia%26token%3D9579f68f-32b7-4982-95a6-87a3b1e4c9a0\&width=300\&dpr=4\&quality=100\&sign=be817228\&sv=2)- the user’s veEYWA,

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252F3ZYKcK0GAjrTiXuMg4nA%252Fimage.png%3Falt%3Dmedia%26token%3Db0814867-8910-4900-b014-3cda0c384286\&width=300\&dpr=4\&quality=100\&sign=e8ebb549\&sv=2)- the total veEYWA of all users,

![](https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FpuInEAuwpxlxWWEvWLP5%252Fimage.png%3Falt%3Dmedia%26token%3D55ead809-5417-4a56-890a-94de4c3d2c25\&width=300\&dpr=4\&quality=100\&sign=1ba0c359\&sv=2)- the total reward allocated to all participants.


# NFTs


# CrossCurve DAO NFT

**EYWA DAO NFT** is an ERC-721 NFT created when EYWA tokens are locked in the[ **Locker**](https://docs.crosscurve.fi/user-documentation/dao/eywa-locker-interface).

**Key features:**

* **Attaching assets**: Each EYWA DAO NFT can have EYWA tokens, Vesting Safes, and other EYWA NFTs attached to it.
* **Obtaining veEYWA**: The obtained veEYWA is automatically tired to the corresponding EYWA DAO NFT.
* **Multiple ownership**: A user can own an unlimited number of EYWA DAO NFT.
* **Summation of veEYWA**: The total amount of a user’s veEYWA is equal to the sum of the veEYWA of all their EYWA DAO NFTs.

Thus, **EYWA DAO NFT** serves as a hub for managing your locked assets and voting power in the DAO, providing flexibility and scalability in project governance.

***

## Creating an EYWA DAO NFT <a href="#creating-an-eywa-dao-nft" id="creating-an-eywa-dao-nft"></a>

**When creating an EYWA DAO NFT in the Locker, you can lock EYWA tokens in various states** ***When transferring to the Locker:***

1. **EYWA tokens** (standard ERC-20)

* Ownership is transferred to the[ **Locker**](https://docs.crosscurve.fi/user-documentation/dao/eywa-locker-interface) contract.

1. **Vesting Safe contracts with direct ownership** (held in the user’s wallet)

* Ownership of the Vesting Safe contract is transferred to the Locker.

1. **Vesting Safe contracts with ownership via an NFT** (Vesting Safe contracts attached to an EYWA NFT)

* The Vesting Safe is detached from an EYWA NFT and transferred to the Locker.
* The EYWA NFT ownership is also transferred to the Locker.

1. **ERC-20 EYWA tokens with ownership via an NFT** (EYWA tokens attached to an EYWA NFT)

* Tokens are detached from an EYWA NFT and transferred to the Locker.
* Ownership of an EYWA NFT is also transferred to the Locker.

## Calculating veEYWA: <a href="#calculating-veeywa" id="calculating-veeywa"></a>

The[ **Locker**](https://docs.crosscurve.fi/user-documentation/dao/eywa-locker-interface) calculates the amount of veEYWA based on the total number of EYWA tokens locked, including both standard ERC-20 tokens and those in the Vesting Safe.

#### Restrictions when creating an EYWA DAO NFT <a href="#restrictions-when-creating-an-eywa-dao-nft" id="restrictions-when-creating-an-eywa-dao-nft"></a>

* You cannot create an EYWA DAO NFT by adding an empty EYWA NFT to the Locker.
* You can attach no more than 100 Vesting Safes and 100 EYWA NFTs to one EYWA DAO NFT.

***

## Modifying an EYWA DAO NFT <a href="#modifying-an-eywa-dao-nft" id="modifying-an-eywa-dao-nft"></a>

> ***You can modify an EYWA DAO NFT in several ways:***

**Adding additional EYWA tokens:**

* You can lock more EYWA tokens in any of the ways described above at the time of creating an **EYWA DAO NFT**.

**Adding/attaching empty EYWA NFTs:**

* You can attach additional empty **EYWA NFTs** to an existing **EYWA DAO NFT**.

**Removing/detaching EYWA NFTs:**

* You can detach an **EYWA NFT** from an **EYWA DAO NFT**, returning them to the user’s ownership.

**Extending the lock duration of tokens:**

* You can extend the lock duration of already locked **EYWA** tokens to increase voting power.


# EYWA NFT Collection

Unique NFTs from Eywa!

### NFT collection description <a href="#nft-collection-description" id="nft-collection-description"></a>

EYWA NFT Characters

<figure><img src="https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2F4033939941-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-MeeWpeOIxH8_6YI1UtB%252Fuploads%252FsKt8KL2HjdwqUthpxcDU%252F2.png%3Falt%3Dmedia%26token%3D15ad1a24-7757-4224-adab-6d6f8de9eeef&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=fcc8606f&#x26;sv=2" alt=""><figcaption></figcaption></figure>

The Eywa NFT collection includes 53 996 unique NFTs. Their number diminishes as they are merged.

The collection represents four mythical characters: **Magician**, **Dryad**, **Ant**, and **Spider**. EYWA NFTs are an example of generative art where each character features randomized attributes that grant it uniqueness.

<details>

<summary>Eywa NFT Characters </summary>

The characters in the collection are unique creations, drawing inspiration from beloved science fiction universes.

**The Magician** Crafted from leaves and various flora types, the magician is inspired by the Star Wars universe and Elemental creatures, as well as ancient Roman and Greek mythology.

**The Dryad** This character is inspired by ancient Greek myths, aliens, and the golden era of science fiction, presenting a stunning fusion of a wood nymph with a World of Warcraft (WoW) hero.

**The Ent** Assembled from tree bark and roots, the Ent is inspired by the Ents from the Lord of the Rings (LOTR) universe, Swamp Thing from DC Comics, and Groot from Marvel.

**The Spider** The spider character embodies an aggressive, dynamic figure, combining an arachnid with a trickster — a mix of Baal from Diablo II, Monsters, Inc., and other characters, infused with elements of insects and alien life forms.

We have deliberately directed our design team to embrace a “**fairytale**” aesthetic in the creation of our characters' likenesses. Regardless of age, **we all cherish a touch of magic in our lives**.

Echoing the words of Steve Jobs: “Follow your heart, stay hungry, stay foolish!” we are committed to developing the finest cross-chain product on the market. **Thank you for your support!**

</details>

The collection is broken down into five levels of rarity: **Common**, **Uncommon**, **Rare**, **Legendary**, and **Infinity**. The rarest of all are the Magician Infinity NFTs, of which there are only 193 in the entire EYWA NFT collection.

<figure><img src="https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXd978e9KufVfrwrCRv36BiIDYAwg9zefwNW0rNRpcb5KPtuf_6bxEoMb-Kma3-_lNnJ-q0CkhCJfp7RDd30tZC6U21bkIbsYAv5bTKuCzPN7Cvuzetq-4cqmguOY6ptNzNYNM8m%3Fkey%3DUS-yFIJ_x2IYhunTMs-mfgAv&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=8294d0ca&#x26;sv=2" alt=""><figcaption><p><strong>Common</strong></p></figcaption></figure>

<figure><img src="https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcQIauOmaXzJl9EBVdg6pXhNNcBI0oS9ngUQqTtS7fYSI4H538OoKg0NELYnCNqBrzzMMupx-Xn2PszlFmyqmiZIzdrx9GqUULPW94q2sX5_tRcF1NWzjlznddKaT-YPcZAm0BKzw%3Fkey%3DUS-yFIJ_x2IYhunTMs-mfgAv&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=48713166&#x26;sv=2" alt=""><figcaption><p><strong>Uncommon</strong></p></figcaption></figure>

<figure><img src="https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdk80oJTZ9uZS1myqgb73Msr4qEsg-T0d6vEq4qPeFv5eDBYyR9MN3okK9Sj9NR0HVg4HkHsU9bPc1SwEK7uLIe2gqfxUgQAYFgjMRU6UlHmfvug6rOYoTjdYsJfu7nUxTfQvNUaw%3Fkey%3DUS-yFIJ_x2IYhunTMs-mfgAv&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=8601efa0&#x26;sv=2" alt=""><figcaption><p><strong>Rare</strong></p></figcaption></figure>

<figure><img src="https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdVdFc7TqUV5yawaW4BmJE6ti3qDXz3k9DZq8apPY8GzWS5zHAfMPpqBVuxmFq-bLmbLUyoZFNGf7mlhJUxJj48E9mqFcfLVZD3qqcaaUk4Xa_7lOX16pwD-T-MMklqMxbzmMLB5Q%3Fkey%3DUS-yFIJ_x2IYhunTMs-mfgAv&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=bc51f89b&#x26;sv=2" alt=""><figcaption><p><strong>Legendary</strong></p></figcaption></figure>

<figure><img src="https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcpGybAN0Sr_XsiA3uIipczYEXM_VSD_qO-9GUHvVDeqCd7IeHRusQ4AwugSlHnjXydhS-YnqS0wf40kAtgsdVwbyuNM-QL6Dur3J5v1ePlYTYWzqJdu4Y3dEdSrZ4khvdo2uX4dg%3Fkey%3DUS-yFIJ_x2IYhunTMs-mfgAv&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=3f3e2810&#x26;sv=2" alt=""><figcaption><p><strong>Infinity</strong></p></figcaption></figure>

Currently, the collection is available on the **Aurora** and **Arbitrum** networks:&#x20;

On the **Aurora** network, the collection is available for trading within our Telegram communities (Links to Telegram chats for trading Eywa NFTs: [**English speaking region**](https://t.me/eywa_nft_en) [**CIS region**](https://t.me/eywa_nft_ru)).&#x20;

On the **Arbitrum** network, the collection is available  for trading on [**OpenSea**](https://opensea.io/collection/eywaprotocol).

Here is the Eywa NFT collection address in [**Aurora** ](https://explorer.mainnet.aurora.dev/token/0xB2e6a5a864A1004C3c828a2e767A08C173939b01/token-transfers)and [**Arbitrum**](https://arbiscan.io/address/0x33b98A477512A34Af0D311DA5F59FC5341693962).

## The utility of EYWA NFTs <a href="#the-utility-of-eywa-nfts" id="the-utility-of-eywa-nfts"></a>

The EYWA NFT collection is composed of ERC-721 tokens with the following unique functions:

• **Container** function for storing up to 1 500 000 EYWA tokens

• **Merge** function that allows you to increase the size of the container and the rarity of the NFT by combining multiple NFTs of one level into one rarer NFT

• **CrossCurve DAO** vote multiplier function via veEYWA

### Container <a href="#container" id="container"></a>

Each NFT in the collection functions as a container for EYWA tokens. You can attach both unlocked and locked in **vesting safes**<mark style="color:red;">**\***</mark> tokens to the NFT. This allows the user to sell blocked EYWA tokens at any time.

{% hint style="info" %}
*<mark style="color:red;">\*</mark>* ***Vesting safes** are objects containing EYWA tokens that are blocked for a certain period of time based on the rules of the funding round (detailed information about the rules of each round and vesting periods are available* [*here*](https://docs.eywa.fi/eywa-token/tokenomics-eywa-crosscurve)*).*
{% endhint %}

<figure><img src="https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdjxbyMNsra9bcwrdI3zHa2qesaqa7EY7mgsdd6z7fqGct7wF4o5kyw4XnLlFRACP8u2Me1oO7Y7xpwzKJzXC0k_SgohekfPuMkQDx-Ygz-wMb2HKJingsPh_djKq1fsDTlnO2kJw%3Fkey%3DUS-yFIJ_x2IYhunTMs-mfgAv&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=3cd99ac8&#x26;sv=2" alt=""><figcaption></figcaption></figure>

The capacity of each NFT is the maximum number of EYWA tokens it can contain and depends on the rarity of the NFT. The highest capacity — 1 500 000 EYWA — is reserved for the Infinity rarity level NFTs. In the Aurora chain, you can see your current balance of token in the container. Once migrated to the Arbitrum chain, the tokens will be separated from the NFT and can be received as vesting safes via the **Claim portal** after the TGE.

For details, see the table below:

<table data-header-hidden><thead><tr><th width="374"></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td>common</td><td>500</td><td></td></tr><tr><td>uncommon</td><td>3 000</td><td></td></tr><tr><td>rare</td><td>25 000</td><td></td></tr><tr><td>legendary</td><td>250 000</td><td></td></tr><tr><td>infinity</td><td>1 500 000</td><td></td></tr></tbody></table>

### Merge <a href="#merge" id="merge"></a>

Several NFTs of the same type can be merged to create a single NFT with a higher rarity level. This will also merge all of the tokens contained in the source NFTs.

<figure><img src="https://docs.eywa.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXf0rzzltmKOg62mKrlpjIX1GeHAYdOcqhIaa8sz16PdTAQvYCprVNeJD4XRpQpixhPWsXdypdqLUZAVhvxi4Nm0Bvu2FNsKmgJHEOjYr08JguHVGW02ggkuCpSDkCAWmws-KPRM%3Fkey%3DUS-yFIJ_x2IYhunTMs-mfgAv&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=1c4f531c&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Multiplier table for NFT merging:

| Rarity    | Merge multiplicator |             |
| --------- | ------------------- | ----------- |
| common    | 5                   | 1 uncommon  |
| uncommon  | 7                   | 1 rare      |
| rare      | 9                   | 1 legendary |
| legendary | n/a                 | n/a         |
| infinity  | n/a                 | n/a         |

### veEYWA voting multiplier <a href="#veeywa-voting-multiplier" id="veeywa-voting-multiplier"></a>

To vote in the **CrossCurve DAO**, users must lock EYWA tokens — the longer the lock period, the more voting power the user gets. Using EYWA NFTs can also increase voting power. Each NFT can increase the number of available votes by the maximum number of tokens it can contain.

For details, see the table below:

| Rarity    | Maximum amount of tokens for boost | Multiplier for veEYWA votes |
| --------- | ---------------------------------- | --------------------------- |
| common    | 500                                | 1.006                       |
| uncommon  | 3 000                              | 1.036                       |
| rare      | 25 000                             | 1.3                         |
| legendary | 250 000                            | 2.8                         |
| infinity  | 1 500 000                          | 3                           |

{% hint style="info" %}
*For example, a user with 100,000 EYWA tokens can use one Legendary NFT to give his votes a 2.8 multiplier, since a Legendary NFT type can cover up to 250,000 tokens, or 4 Rare NFTs a 1.3x multiplier each (since each Rare NFT can only cover 25,000). Users can use any number and combination of NFTs for veEYWA vote multipliers to cover all of their holdings of EYWA.*
{% endhint %}

## Migration to Arbitrum <a href="#migration-to-arbitrum" id="migration-to-arbitrum"></a>

After the NFT collection is migrated to the Arbitrum chain, all of the above functions will become available. Before the TGE, we will open up a [**bridge**](https://docs.crosscurve.fi/user-documentation/eywa-nft/eywa-nft-gallery/gallery-bridge-interface-in-the-aurora-chain) to move the NFTs from [**Aurora**](https://explorer.mainnet.aurora.dev/token/0xB2e6a5a864A1004C3c828a2e767A08C173939b01/token-transfers) to [**Arbitrum**](https://arbiscan.io/address/0x33b98A477512A34Af0D311DA5F59FC5341693962), as well as the NFT Manager to fully engage with all of the functions of the NFTs.

The [**NFT Manager**](https://docs.crosscurve.fi/user-documentation/eywa-nft/eywa-nft-manager-interface) will ensure access to tokens contained in the NFTs, which will be separated from their containers after the migration to Arbitrum and be put together in each user’s wallet. Users will be able to put tokens into vesting safes and keep [**rEYWA**](https://docs.crosscurve.fi/user-documentation/outdated/early-farming-program) in the NFTs.


# Proposals


# Staking in CrossCurve

Staking is the simplest way to earn passive income in **CrossCurve**. All you need to do is lock **EYWA** tokens (instructions available [here](https://docs.crosscurve.fi/user-documentation/dao/locker-interface)), which automatically makes you a member of our **DAO** and enables you to receive rewards every epoch.\
\
You can boost your earnings through additional mechanics like longer lock durations, using NFTs, and participating in votes.

## How does staking work in CrossCurve?

Each epoch, a portion of **EYWA** tokens from the **DAO Treasury** is allocated to incentivize protocol activity. Most of these tokens go to [**rewarding DAO participants**](https://docs.crosscurve.fi/crosscurve-dao/staking-mechanics#distribution-of-rewards-among-dao-participants).

To receive these rewards, you must lock **EYWA** tokens in the **DAO Locker**. Once locked, you receive an NFT that records your voting power — **veEYWA**. The more **veEYWA** you hold, the larger your share of the rewards.

Each epoch runs from **Thursday 00:00 UTC** to **Wednesday 24:00 UTC**. At the start of each new epoch, rewards from the previous one are [distributed](https://docs.crosscurve.fi/user-documentation/dao/locker-interface).

***

## How to maximize your APR?

Formulas:

* **veEYWA** = ((EYWA amount × lock period in weeks) ÷ 156
* **User share** = your veEYWA ÷ total veEYWA in DAO
* **Reward** = User share × total reward pool (EYWA)
* **Weekly Return Rate (WRR)** = Reward ÷ locked EYWA amount

For example, if you lock 156 EYWA for 1 week, then you will get:

* **1 veEYWA**

If total **veEYWA** in the **DAO** is 1 000, and the reward pool is 1 000 **EYWA**, then your reward is:

* **0.1% of the pool = 1 EYWA**

Weekly return rate (WRR): **0.64%**

Your income depends directly on your share of **veEYWA**. To increase it, you can:

1. **Lock more EYWA tokens**
2. **Extend your lock duration**
3. **Use EYWA NFT with a** [**veEYWA multiplier**](https://docs.crosscurve.fi/crosscurve-dao/nfts/eywa-nft-collection#veeywa-voting-multiplier)

These methods can be combined. Here are strategy examples:

### **1. Increasing EYWA amount**

Locking **1560 EYWA for 1 week** will get you:

* **10 veEYWA (10 times more)**

If total **veEYWA** in **DAO** is **1009**, then your share is:

* **0.99% of the pool = 9.9 EYWA  (9.9 times more)**
* **Weekly return rate (WRR): 0.63% (almost no change)**

{% hint style="info" %}
*Increasing the amount boosts total rewards, but return per token remains almost the same.*&#x20;
{% endhint %}

### **2. Increasing lock duration**

Locking **156 EYWA for 3 years (156 weeks)** will get you:

* **156 veEYWA (156 times more than when locking for 1 week)**

If total **veEYWA** in **DAO** is **1 155**, and the reward pool equals to **1 000 EYWA**, then your share is:

* **13.5% of the pool = 135 EYWA (135 times more)**
* **Weekly return rate (WRR): 86.5% (135 times higher)**

{% hint style="success" %}
*Locking for a longer period significantly boosts both rewards and returns — the most efficient strategy without extra spending.*
{% endhint %}

### **3. Using NFT with x3 multiplier**

Locking **156 EYWA for 1 week** and using **NFT with the x3 multiplier** will get you:

* **3 veEYWA (3 times more than without an NFT)**

If total **veEYWA** in **DAO** is **1002**, and the reward pool equals to **1 000 EYWA**, then your share is:

* **0.29% of the pool = 2.9 EYWA (2.9 times more)**
* **Weekly return rate (WRR): 1.9% (approximately 3 times higher)**

{% hint style="success" %}
*NFTs give an instant boost — same amount and duration, but 3x higher veEYWA and rewards. This is a great option to multiply your profits.*&#x20;
{% endhint %}

### 4. Combined strategy: increasing lock duration + utilizing NFTs

Locking **156 EYWA for 156 weeks** and applying **NFT x3** will get you:

* **468 veEYWA (468 times more)**

If total **veEYWA** in **DAO** is **1467**, and the reward pool equals to **1 000 EYWA**, then your share is:

* **31.9% of the pool = 319 EYWA (319 times more)**

Weekly return rate (WRR): **204.5% (319 times higher)**

{% hint style="success" %}
*Combining max lock duration and NFT multiplier creates a compounding effect, giving a 468x increase in veEYWA compared to the base case. This leads to significant return and relative profit growth.*&#x20;
{% endhint %}

{% hint style="info" %}
***Note**: All values are illustrative. Actual results depend on total veEYWA distribution across participants. However, the core logic of these calculations remains accurate.*
{% endhint %}

## How other participants affect your APR

In addition to the steps you can take to maximize your **APR**, it’s important to consider “external” conditions. In the section “How to increase staking income,” we looked at examples where the **veEYWA** volume of other **DAO** participants was static. But in reality, this figure is constantly changing. One important point: **how other participants lock their EYWA also affects your final yield**.

#### **Reward distribution specifics depending on veEYWA amounts**

Let’s consider a few simple scenarios with two **DAO** participants. Suppose that in the previous epoch, only two users participated in the DAO:

**Scenario 1**: both locked 75 000 EYWA for the maximum term (3 years)

* veEYWA of participant A = 75 000
* veEYWA of participant B = 75 000
* Total veEYWA = 150 000
* Shares are equal — both participants receive 50% of the rewards
* APY = 7 906%

**Scenario 2**: both have 75 000 EYWA, but:

* Participant A locks for 3 years → 75 000 veEYWA
* Participant B locks for 1 year → 25 000 veEYWA
* Total veEYWA = 100 000
* Participant A receives 75% of all rewards
* Participant B — 25%

Based on the [table](https://docs.google.com/spreadsheets/d/13S_nSQ5yGw007FdrZ62JbbtEESJtxMPAjFfDIVpcJ9o?gid=2059672431) the total reward pool for the week (epoch) is **13 190.73 EYWA**, therefore:

* Reward A: (75 000 / 100 000) × 13 190.73 = **9 892.5 EYWA**
* Reward B: (25 000 / 100 000) × 13 190.73 = **3 297.5 EYWA**

**Weekly Return Rate (WRR)**:

* WRR A = (9 892.5 ÷ 75 000) × 100% = 13.19%
* WRR B = (3 297.5 ÷ 75 000) × 100% = 4.37%

**APY calculation**:

* APY A = ((1 + 13.19% ÷ 100%)^52 – 1) × 100% ≈ 62 700%
* APY B = ((1 + 4.37% ÷ 100%)^52 – 1) × 100% ≈ 824%

***

## “Compound” button and APY

To receive staking rewards each epoch, you must press the “**Compound**” button. This action adds the accrued reward to the lock amount.

Increasing the lock amount raises your **veEYWA** share and, accordingly, your reward in the next epoch. The yield displayed on the locker page (**APY**) is shown assuming regular use of **Compound** — based on the principle of bank compound interest.

If you do not press **Compound**, your yield will be lower than what is shown in the interface. Therefore, to earn income that matches the displayed **APY**, you must manually add the reward to the lock each epoch.

***

## How to maximize earnings

1. Lock EYWA for the maximum term
2. Use NFTs with a high multiplier
3. Press “**Compound**” **each epoch**
4. Participate in incentive voting

***

## Conclusion

Staking in **CrossCurve** is more than just passive income. It includes many mechanics that allow you **to earn returns far beyond traditional staking**.

You’re not just earning — you’re helping shape the **CrossCurve** ecosystem and receiving real rewards for it.


# Providing Liquidity to CrossCurve Pools

## Types of Liquidity Pools

**CrossCurve** offers two distinct types of pools, each with unique features and earning opportunities.

### Stable Pools

Stable pools are designed for assets whose prices are pegged to each other:

* **Examples**: Stablecoin pairs, such as USDT/USDC
* **Derivative Assets**: Pairs like wstETH/rETH are also considered stable since their relative prices do not fluctuate significantly
* **Goal**: Maintain an exchange rate of 1:1 between assets as accurately as possible
* **Features**: Minimal slippage and stable exchange prices due to a specialized AMM formula

{% hint style="success" %}
*Stable pools are optimized for trading correlated assets with minimal losses and slippage, making them attractive to conservative investors.*
{% endhint %}

### Volatility Pools

Volatility pools are intended for pairs of assets with fluctuating prices:

* **Examples**: USDT/EYWA, ETH/BTC and other uncorrelated assets
* **Formation**: Created by combining heterogeneous assets
* **Protection**: Utilize **Curve**'s unique mechanism to mitigate impermanent loss
* **Features**: Higher risk but potentially higher returns

{% hint style="success" %}
*Volatility pools are suitable for investors willing to accept higher risks in exchange for potentially higher returns.*
{% endhint %}

## Liquidity Provision Process

### Adding Liquidity

**CrossCurve** offers two modes for adding/removing liquidity:

#### 1. Easy Mode

* Allows adding or removing funds with a single asset
* Simplifies the process for beginners
* Automatically handles all necessary conversions and transactions

#### 2. via Curve (Balanced)

* Designed for adding large sums
* Requires balanced addition of assets to optimize yield
* Minimizes slippage losses

## Importance of Pool Balancing

When working with liquidity pools, it's essential to understand the concept of balance:

* An ideally balanced pool has an equal percentage distribution of all assets
* For instance, in a xCRVUSDC pool with six s-tokens, the optimal share for each asset is 16.6% of the total TVL
* Adding an underrepresented asset (share <16.6%) earns an additional bonus
* Adding an overrepresented asset (share >16.6%) results in losses&#x20;

## Ways to Earn When Providing Liquidity

### 1. Trading fees

The primary income source for liquidity providers is the trading fees from swaps occurring within the pool:

* Fees are automatically distributed among all liquidity providers
* The amount of fees received is proportional to your pool share

### 2. Farming and Additional Rewards

In addition to trading fees, liquidity providers may receive extra incentives:

* EYWA inflation allocated by **CrossCurve DAO** voting as an incentive to attract liquidity&#x20;
* Other tokens added by external projects to attract liquidity
* Increased rewards for veEYWA holders (vote-escrowed EYWA)
* Points for participating in external project programs

### 3. Access to StakeDAO and Convex Strategies for Enhanced Yields

* Obtaining higher yields by placing funds into **CrossCurve** pools through strategies within “**Curve Wars**” protocols, such as **Convex** or **StakeDAO**

### 4. Cross-chain Capabilities

**CrossCurve**'s unique advantage is its ability to manage liquidity across different blockchains:

* Liquidity providers can add and withdraw liquidity from all available networks
* Liquidity providers can swap LP tokens across networks without impermanent loss
* The ability to quickly and cost-effectively move funds in search of higher yields

## Yield Optimization

To maximize yields when providing liquidity, it's recommended to:

* **Analyze pool conditions** before adding liquidity
* **Select the optimal mode**:
* * Easy Mode for small amounts and beginners
  * Balanced mode for larger sums and experienced users
* **Monitor pool balance** when adding or removing liquidity to earn bonuses rather than incur penalties due to pool imbalances
* **Combine with EYWA locking** to obtain additional rewards through yield boosts
* **Participate in voting** for liquidity distribution between polls and vote for your pool (if beneficial, considering other opportunities for selling votes)

## Conclusion

Providing liquidity on **CrossCurve** is a powerful earning tool in DeFi. The platform combines **Curve Finance**'s proven reliability with **CrossCurve'**&#x73; innovative cross-chain technologies, ensuring user security, convenience, and potentially high returns.

It’s crucial to remember that liquidity provision always entails certain risks; thus, it’s advisable to carefully study pool mechanisms and yield optimization strategies before making significant investments.

<br>


# Voting for Incentives

**Voting** in **CrossCurve** is more than just participation in governance; it is an effective tool for generating additional income. Your voting power (veEYWA) becomes a valuable asset capable of producing returns alongside basic staking rewards.&#x20;

## How Voting Generates Income

By locking EYWA tokens, you receive veEYWA—voting power that:

* Grants the right to influence liquidity distribution between pools
* Allows support for projects offering additional rewards
* Creates an additional income stream beyond basic staking

{% hint style="success" %}
***Important**: The more veEYWA you hold, the higher the potential earnings from voting. Projects aiming to attract liquidity to their pools offer incentives in various tokens in exchange for your support in voting.*<br>
{% endhint %}

## Sources of Income from Voting

### 1. Direct Incentives from Projects

Different projects compete for your support, offering their tokens as incentives for your votes:

* Additional token payouts occur each epoch
* Opportunity to receive tokens from promising projects. Selling immediately or holding onto them is your choice.

### 2. Monetizing Voting Power through NFTs

A unique **CrossCurve** advantage is monetizing your voting power by selling EYWA DAO NFTs:

* **Vote Selling**: Although the veEYWA tokens themselves cannot be transferred directly, you can sell NFTs containing your voting power on the secondary.
* **Pricing**: NFT value directly correlates with the amount of veEYWA contained and potential income from voting.
* **Liquidity of Locked Assets**: Option to sell voting power without waiting for the lock period to end.

Given the limited issuance of veEYWA, their value could increase, enhancing the worth of your voting NFTs and creating a third revenue stream.

## Strategies for Maximizing Voting Profits

### Monitoring High-Incentive Offers

Track projects offering the largest rewards for voting. Analyze proposals, selecting those providing an optimal balance between:

* Reward size
* Project stability
* Token growth potential

Or delegate this task to professionals via **CrossCurve**'s website interface. (This feature will be available soon)

### Combining with NFT Boosters

Strengthen your voting power through EYWA NFTs:

* More veEYWA = more votes = higher rewards
* Legendary or Infinity level NFTs can increase voting returns by up to 2.8x and 3x respectively&#x20;

### Active Management of Voting Assets

Regularly participate in votes to avoid idle veEYWA:

* Unused votes yield no extra profits (delegate or remember to vote yourself)
* Monetize your voting power by selling NFTs when necessary
* Reinvest tokens received from voting into staking to leverage compound interest

## Conclusion

Voting in CrossCurve is not merely a bureaucratic function but a tangible opportunity to gain additional income, influence the evolution of DeFi, and actively participate in a growing community.

<br>


# Migration to Sonic


# Why are we moving to Sonic

**CrossCurve is moving to Sonic**

We have made a strategic decision to migrate **CrossCurve'**&#x73; hub chain from **Fantom** (**FTM**) to **Sonic**. This is not just a network change - it’s a transition to a new level of speed, efficiency, and possibilities. Let's explore why Sonic is the optimal choice, what benefits it brings to users, and how this step will shape our future.

## Why are we moving to Sonic?

### 1. Game-changing speed

**Sonic** dramatically accelerates blockchain operations. The average transaction finalization time is just **720 milliseconds**.

For comparison:

* **Ethereum** — \~12 seconds
* **Fantom Opera** — \~1-2 seconds

This makes **Sonic** one of the fastest **EVM**-compatible blockchains. In **DeFi**, speed is critical: minimal latency reduces arbitrage risks, improves liquidity conditions, and enhances user experience.

**Sonic** brings blockchain interactions closer to **Web2** performance—transactions process instantly, while fees remain minimal.

### 2. An economic model that rewards projects

Most blockchains either burn fees or direct them to network funds. **Sonic** takes a different approach:

* **Up to 90% of fees are returned to developers**
* **Projects generate sustainable revenue without raising fees**
* **Liquidity is redistributed to benefit everyone**: users, developers, and token holders

The more activity in the network, the higher the protocol revenues and user incentives.

### 3. Simple migration and ecosystem support

**Sonic** is an evolution of **Fantom’**&#x73; technology but with enhanced features.

What does this mean for projects?

* **Easy migration** — smart contract code requires minimal changes
* **$120M support fund** — **Fantom** has allocated grants to migrate dApps to **Sonic**
* **Major centralized exchanges have integrated automatic FTM → Sonic (S) swaps**

We gain all the advantages of the new network without losing functionality or liquidity.

## Why is Sonic better than other blockchains?

### 1. ve(3,3) Flywheel: a powerful tokenomics model

**Sonic’**&#x73; economy is built on the **ve(3,3)** concept, which incentivizes staking, liquidity, and long-term token holding.

This model has already proven successful in **Curve**, **Solidly** and **Velodrome**, creating a sustainable **DeFi** cycle.

### 2. Leading DeFi projects are moving to Sonic

**Sonic** has already attracted top players, including:

* **AAVE** — a leading DeFi protocol managing $10B+ in assets
* **Curve** — the largest stablecoin exchange platform
* **Solidly and other major DeFi projects** — key players in the industry

This means liquidity and users are already migrating to **Sonic**, making participation in this ecosystem strategically important.

### 3. Full Ethereum compatibility

**Sonic** supports **EVM**, making it fully compatible with existing **Ethereum** and **Fantom** smart contracts.

А **Sonic Gateway** — a native bridge enabling secure asset transfers between **Ethereum** and **Sonic** without reliance on centralized solutions.

## Conclusion

**CrossCurve**’s transition to **Sonic** is not just an upgrade - it’s a leap forward in technology.

What are the key benefits?

* **720ms transactions** — faster than any other EVM blockchain
* **Up to 90% of fees returned to developers** — projects earn more
* **Seamless migration with $120M support** — transition risks minimized.
* **Top DeFi projects onboarded** — **Sonic’**&#x73; ecosystem is growing rapidly


# Sonic Upgrade Stages

Migrating the hubchain to **Sonic** is a major system upgrade affecting the protocol’s architecture, mechanics, and economy. The principles of working with liquidity are changing, system resilience is increasing, and new earning opportunities are opening up for **CrossCurve** users. Below are the key stages of this transition:

### 1. Deployment of Pools on Sonic✅

Pools based on a new architecture—isolated pair pools—are being launched on **Sonic**. Previously, large multichain pools were used, combining up to 8 blockchains with synthetic derivatives. Now, each pool includes only the liquidity of one isolated blockchain and the hubchain – in this case, the liquid tokens of the **Sonic** blockchain.

This approach enhances the system’s overall resilience and reduces imbalance risks. Individually, the pools will be less liquid, but the overall architecture will provide greater flexibility, resilience, and potentially higher returns for liquidity providers.&#x20;

### 2. Whitelisting on Curve and Activation of CRV Incentives✅

We are initiating a voting process in the **Curve DAO** to get whitelisted and connect the pools to protocol reward distribution. This will allow us to activate **CRV** incentives for our pools and increase yields for our liquidity providers. Since the voting takes about two weeks, we are starting the process in advance to launch reward distribution as quickly as possible after migrating our hubchain.&#x20;

### 3. Connecting Sonic Pools to Routing

After deployment and basic setup, the **Sonic** pools will be connected to our routing system. At this stage, swaps through the new pools in **Sonic** will become available to **CrossCurve** users. To ensure a seamless transition, **Sonic** and **Fantom** pools will operate in parallel, allowing liquidity to flow between them without interrupting system functionality.

### 4. Activation of CrossCurve DAO Incentives on New Pools✅

After launching the pools and connecting them to the infrastructure, we will activate incentives from **CrossCurve DAO** – our first step in attracting liquidity to the new **Sonic** pools. External projects will be able to offer rewards to **CrossCurve DAO** participants in exchange for votes on specific liquidity pools, allowing users to start earning right away.

### 5 Connecting Sonic Gems  to Incentives on Fantom Pools✅

As Sapphire-tier winners in the **Sonic Boom** program, we possess special airdrop points called **Gems**. These are distributed among applications based on product metrics and activity. We will direct all of them toward incentivizing liquidity in our pools in the form of the **cmGEMS1** token, using it as a reward distribution mechanism within the protocol.

***

&#x20;                                                                         ***WE ARE HERE***&#x20;

***

### 6. Disabling Incentives on Fantom Pools

As incentives are activated on **Sonic** pools, they will simultaneously be disabled on **Fantom**. However, **CRV** rewards will continue to be distributed for some time after deactivation due to the mechanics of **Curve**.

### 7. Disconnecting Fantom Pools from Routing

After most of the liquidity has been migrated to **Sonic**, **Fantom** pools will be disconnected from the routing system. Swaps through them will no longer be possible; the pools will remain accessible for withdrawals only. It is especially important for **CrossCurve** users to move their assets before this stage to avoid high slippage, as the majority of liquidity will have already been relocated.

### 8. Connecting Sonic Points and Rings to New Pools

At this stage, the pools will start generating **Sonic Points** and **Rings**, allowing liquidity providers to participate in additional reward programs, including all future airdrops. Thanks to the new pool architecture, half of the liquidity will be concentrated in Sonic blockchain assets, enabling our users to earn even more incentives

### 9. Activation of $EYWA and $CRV Rewards via Votemarket

After completing the **Curve** vote and configuring campaigns on **Votemarket**, we will activate the reward distribution in **$EYWA** and **$CRV** tokens – thus completing the migration of our hubchain to Sonic and fully launching most of the economic incentives in the new pools.


# Liquidity transfer from Fantom to Sonic

**CrossCurve** liquidity pools are starting their migration from the **Fantom** network to the **Sonic** network (learn more here). In this step-by-step guide, we will explore how to transfer your liquidity safely and profitably.

{% hint style="success" %}
***Please carefully read the entire list of required actions for transferring liquidity before starting the process.***
{% endhint %}

When migrating to **Sonic**, keep in mind that the architecture of the pools has changed — instead of 8-directional paired pools are now used. Therefore, before transferring liquidity, please decide which paired pools you will transfer your liquidity to and how you will do it:

* &#x20;You can simply withdraw liquidity from a pool with 8 tokens and distribute it across 8 corresponding paired pools.&#x20;
* Alternatively, you can divert all liquidity from the old 8-directional pool to a single paired pool or split it across several.&#x20;

> *It’s also important to understand that, unlike the previous architecture, paired pools now include not only the directional (**synthetic**) token but also a "**universal**" token (**xfrxUSD** for **USD**, **xfrxETH** for **ETH**, and **scBTC** for **BTC** assets). Thus, transferring liquidity will require both the destination token and the "local universal" token.*

<details>

<summary>Learn more about the changes in pool architecture.</summary>

#### Pool Hub-Chain Structure Update

This update will also affect the structure of the pool hub-chain. The previous pool system used **Curve** stable pools with 8 assets, connected via liquidity provider (LP) tokens from one or more pools:&#x20;

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfz_fcNSQ_spxAu0rvQfVwgIFNWPCLz7sR_d3A67XVTX3I8o7SXIGgxteVAupdmaaqEsSLe4XDAwQWTf6xqNQGljC8tnIxU1keHsLBbaXFe4K521x3pVYWNe1DDdDHh3U3D0XbT?key=DjinIJuhuMxEvVMyPZR-qYsk)

**V1**\
Pools (**xSTABLE**, **xSTABLE2**, **xSTABLE3**) consist of 8 synthetic derivatives backed by the original asset locked in LP tokens on **Curve**.

**CrossCurve MetaLayer** introduces a fundamentally new approach—liquidity isolation, where each pool contains liquidity for only one direction:&#x20;

<img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXflP3UhU0U-dKdW68WZjq3f0xN3JAbJof2HKxKo6JC9V5yq1hUci92iDD7wg3rJgSesmd_V0bREh6ZxfsoOLVRrWXwyOVauhRq47dKFKf9Zva-TZ3Ix5tjDTSyIh6LCPl5cz351jg?key=DjinIJuhuMxEvVMyPZR-qYsk" alt="" data-size="original">

**V2**\
Each paired pool in the hub-chain consists of two tokens:

* **A universal token**—an asset from **Sonic**, common for all pools of the same type (**xfrxUSD** for **USD** assets, **xfrxETH** for **ETH**, and **scBTC** for **BTC**).
* **A synthetic derivative**, backed by the original asset locked in the **Consensus Bridge**. This can be either a single asset or LP tokens from **Curve**.

As a result, all **xSTABLE** pools will transform into 20+ paired pools. When transferring liquidity, it won’t be possible to do a one-to-one transfer, as paired pools require an additional "**universal**" pool token.

</details>

There are numerous ways to transfer liquidity, and it’s impossible to describe every scenario, so we’ll outline the key general steps:

1. Choose the pool to which liquidity will be transferred, such as **xsArbitrum**.
2. Determine the amoun of each token needed. In the **Arbitrum** example, you’ll need 25% **frxUSD** tokens and 25% **scUSD** tokens to obtain 50% **xfrxUSD** and 50% **sUSDC\_arb** (percentages are based on the total liquidity planned for transfer to the **xsArbitrum** pool).
3. Obtain the **synthetic** token corresponding to this direction—in this case, **sUSDC\_arb**.
4. For **USD** and **ETH** pools, you’ll need to obtain **xfrxUSD** or **xfrxETH** tokens, respectively. To do this, in **Sonic**, you need to acquire **frxUSD**, **scUSD**, **frxETH**, and **scETH** accordingly. For example, you’ll need equal amounts of **frxUSD** and **scUSD** to deposit into the **CrossCurve frxUSD** pool.
5. Deposit the **universal token** and the destination token (**synthetic**) into the paired pool. In our example, you’ll need to deposit **xfrxUSD** and **sUSDC\_arb** into the **CrossCurve Stable ARB** pool.

## Brief list of all actions for Liquidity Transfer

If you provided liquidity to **CrossCurve** pools on the **Farms** tab in the **Fantom** network, you’ll need to follow these steps to transfer your funds from the **Fantom** network to the **Sonic** network:

1. **Unstake** your position on the **Farms** page.
2. Decide which pools your liquidity will be transferred to:

* You can distribute liquidity across 8 directions.
* You can choose one or several directions.

3. Decide which method you’ll use to transfer liquidity:

* * In **Easy Mode**, directly swap LP tokens from the pool for the required tokens.&#x20;

{% hint style="warning" %}
***Note**: This may result in losses due to conversion and slippage. For low liquidity pools and large amounts, losses can be significant.*
{% endhint %}

Examples of swap directions in **Easy Mode**:

* **xSTABLE** → **sUSDT\_eth**
* **xSTABLE3** → **sUSDC\_arb**
* **xSTABLE2** → **sUSDC\_ba**
* * In **Balanced Mode**, withdraw 8 synthetic tokens from the LP token and swap them directly.

{% hint style="success" %}
*This method is more labor-intensive but allows for the most cost-effective swaps and is better suited for large liquidity amounts.*
{% endhint %}

Examples of swap directions in **Balanced Mode**:

* **s3CRV\_e** → **sUSDT\_eth**
* **s2CRV\_ar** → **sUSDC\_arb**
* **s4pool\_b** → **sUSDC\_ba**

4. Swap your **FTM** for **S** (or obtain **S**) to pay for gas (gwei).
5. Obtain the **universal token** for paired pools:

* For **USD** pools, obtain the LP token **xfrxUSD**.
* For **ETH** pools, obtain the LP token **xfrxETH**.
* For **BTC** pools, obtain the **scBTC** token.

6. Obtain a synthetic token corresponding to the desired direction (e.g., **sUSDT\_eth**, **sUSDC\_arb**, **sUSDC\_ba**, etc.)
7. Deposit liquidity into the pools:

* To obtain **xfrxUSD**, deposit **frxUSD** and **scUSD** into the pool.
* To obtain **xfrxETH**, deposit **frxETH** and **scETH** into the pool.

7. Lock liquidity in the new pools on the Sonic network to earn profits.

{% hint style="danger" %}
***Important Note**: Rewards distribution in **CrossCurve** pools on the **Fantom** network will end at the conclusion of the current epoch. Voting for these pools and reward distribution to **DAO** participants in these pools will be paused. Starting from the next epoch, voting for reward allocation in the new pools on the **Sonic** network will begin.*
{% endhint %}

## Detailed description of Liquidity Transfer actions

<details>

<summary><strong>Unstake LP tokens from CrossCurve Pools on Fantom</strong></summary>

Go to the **Farms** staking page to view all available pools and the size of your positions in them.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXde1yx6KfokUJqxK19O3TOiZT9PIjdhPrBvy55QPAxxqLexAJxW0OoYkw2Xy4ImHStBhgjIzIJK1iNKNuNORbr5QW7qRSeAn4c7ngf0MFhzR_CUe6E7_gi38kgqrtWwyXPTN45zNg?key=DjinIJuhuMxEvVMyPZR-qYsk)

1. First, withdraw accumulated rewards by clicking **Claim in all pools** and signing the transaction in your wallet.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXef8msf4R2Ljpwv9MTu_YTkgYMGd0V2NRnsDGZ6xD_jcmhtjXzTwkxpniocfGLbiFujWnk7OTIhakXSDFXCcW18y7cLETTt-6sJBSGSNTs5nlu6RS7edHOxvvKgoVqKkyjKO5txFw?key=DjinIJuhuMxEvVMyPZR-qYsk)

2. After successfully claiming rewards from the pool, click **Unstake** to withdraw LP tokens from staking.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfRDVZPx7DxTyzqSTV8QBJy73IqAEbbMXYewJ6r4c0vt_CrvcfK3e0SeiMn4wscOO5iTZRQTCVT8CK-cYVao2wFasu8hztc2Dsn0fPmyRYQUNfOw4aYeAiLN_O18h3VuqcDw1IdhQ?key=DjinIJuhuMxEvVMyPZR-qYsk)

3. In the modal window, to select the maximum number of LP tokens to withdraw, click **MAX** next to the token balance in your wallet, then click **Unstake** to withdraw your liquidity from the pool and receive LP tokens on the **Fantom** network.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXd9MZfmpvdaXw_qDJkpWShZKtY44esTFNvZsWxxeYWRQFyIJpD4KqHx9Q0drNX-IqVP8Rt0zu96W3VerYR2MUzuTo58o9nJJ6-jglO9knAbk6jtgnmnO9iVtUUxRgkk05RQHHcZ?key=DjinIJuhuMxEvVMyPZR-qYsk)

4. Sign the transaction in your wallet.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfgcFq-BvJ9ejAE77_NnquCtKkIP9Fvt2Wm25Vu43PdyS31qB3DmDtagsxyav7C99oPY5y_AXjPzzPjQC1MgcP_V3DizOBc_VaqdZFtrcMCHvp4AAb-OUYs3QXuc5sWN_JknsTqag?key=DjinIJuhuMxEvVMyPZR-qYsk)

</details>

<details>

<summary><strong>Withdraw Liquidity from LP Tokens in the Pool</strong></summary>

After receiving LP tokens, there are two methods to withdraw your liquidity:

* **Easy Mode** via **CrossCurve** into a single asset of your choice (*may incur penalties due to slippage*).
* **Balanced Mode** on **Curve** into the assets composing the LP in the pool (*the most cost-effective method*).

1. **Easy Mode via CrossCurve**

To quickly withdraw liquidity using **Easy Mode**, go to the **Liquidity** page under the **Yield** tab.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXeR7yPujt5rHydA_PZxsLyoxzNSWnuzzhOwpSTNYs92dNzu3VuWH_4thm5DvtB7_njxe53zMH4VGOqUAjLH4AGbXyPXG4zgIzL5nprPCXJgJ3f_N0oYY18DfLWSXiPv7bmk9uz5fQ?key=DjinIJuhuMxEvVMyPZR-qYsk)

In the pool list, under **Choose pool,** select the pool where you provided liquidity and have LP tokens.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXd21MmL9UMU0q0qHPMMa_a-P2qFdzSwY_ITzFkqK9i_sfquHJCbdFa_3TSezJDYxTL4CDNKjWF1_t2skk9qljHgtbtVz3co3diIfmEuJ5gfgmgXWEDvcif7LIh4wyPtD63Xv3-H?key=DjinIJuhuMxEvVMyPZR-qYsk)

Select the withdrawal mode **Withdraw**, operation type **Easy Mode**, and click **Next** to proceed.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXdAPeV_CUsN0My_Xw-g-URNn6VqgxDTQ199bSusJWUbmpZrnU8vBbpOlgOg1Wb40x3WGKrcOQl62sPFHa0jf6O3xrL0sJBMbHwsRyf_0aSPpgXek_-B_XCYMPVeydcIsapE4Td29A?key=DjinIJuhuMxEvVMyPZR-qYsk)

Choose the asset you want to swap your LP token for by opening the selection list.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXeH9Yx7M1O0kU8TBbHAOORi0uRhm7QOLqCNiReHbsclqdy7dO_Xs2_t6ondYeK_nX8Ws4kGaRA_Iep614m2vJ03mJCSHspIj4qNOX1qcA5oGFUPyS9gkGZYWbKm0L2NuEQ9FrdB?key=DjinIJuhuMxEvVMyPZR-qYsk)

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXe1rl3UYg2RgxF2wkx7wOtxf_c3nJWqS0SW-3Y4LbCsiccNdI-SO9Gs9kJNIDbCv1OytGMbWC-s3Yqm0yyt85T71KR-RxS_cZL_F5pj0q8mUTgObyVF5-bgTBKMHNzl0PvaR5IkiA?key=DjinIJuhuMxEvVMyPZR-qYsk)

Enter the amount of LP tokens to swap or click **MAX** to select the entire balance from your wallet. Click **Approve** and confirm the LP token spending operation in your wallet.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXcw7ykadrIVM9A6da7KCYDDk7LpDc_rKF1KXzFcUywEL8z42HrxEHnXO9dNjouV1YJ-fCsPLA51Wgyr2SVkRi8sbwyHrwVaLew0nfVygVcza2Bb0hmUaADlLwLnsMuKrYWkHafGTg?key=DjinIJuhuMxEvVMyPZR-qYsk)

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfDHs3SBsWiRYpHORxCE3aaiYwaKp2EaMEThyKBnSHPZvd9ZBHxq829uezhbZ0AMZtsY3NesNqgjCaPJ0e1lyoV2uV5bjP99M5-4jzzuEQO94y_0M1g49BdudxW-gCEUvs4Tj1iIw?key=DjinIJuhuMxEvVMyPZR-qYsk)

After confirming the spending operation, click **Swap** to perform the exchange and sign the transaction in your wallet.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXek-0BKX8UmttZetbokcZyF3tLtAdlMzPVT-KzbnVQ_dETXyjuARWznAq_PstNhaSVPy7AJ8DhkgyHNypfUV2MaVkhwUXveeP0Kg58PwkOfVSl1MkRu3zr54HSLfY697u0q4wn-Rg?key=DjinIJuhuMxEvVMyPZR-qYsk)

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXd1xWDTU7chnh05fvnA2coGyJpJucCNbha6FthcGvi4TIDXBAqjvCDTeWYm9Kuj2JguV6i5SwmRwAOxd9RrR5B8mlzU-QUzytn-IqT5rSAUotIhuWR-bXY8JqwamzSdFr3Vjnw2uA?key=DjinIJuhuMxEvVMyPZR-qYsk)

Wait for the transaction to be processed on-chain.

2. **Balanced Mode via Curve**

To withdraw liquidity in **Balanced Mode**, go to the page of the pool you’re interested in on the **Curve** app using the quick link.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXcCiJoTlkNMl5HXcMJBPMc14Dgdb32u7aiaROkXDWdfGso-VPLpBeFMDZByF9uP-5SBxgFGWk5Ti1cX2pUkIPa75wSSlOiJtoL_ntlSk2oAKNyDIeXwHay3Y1_udOMUtgEzQJLk8A?key=DjinIJuhuMxEvVMyPZR-qYsk)

If you haven’t performed an unstake in the **CrossCurve** app, go to the **Withdrawal/Claim** menu under the **Unstake** tab. Enter the number of LP tokens to unstake, click **Unstake**, and sign the transaction in your wallet.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXf3wETzNxo9MzoJxt46LeIeDe5OsN-PsbTjiw-9t0JCkL3Q9VzIa3cJ0t_Ya6HsvpxYFyNiamGQYKJ8Mtrjzz3RnNZ7UPT6IoZXVbjuinMCR6MQbn26qS1rPGD5UGjjJ4Uda57jww?key=DjinIJuhuMxEvVMyPZR-qYsk)

After the transaction is successfully confirmed on-chain, you’ll see a notification: **Unstake Complete**.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXcTu6wqRVfvQWnUt0wFKznElpBWNts2q0lDju7nhKbacLam3vwk9pmblisSWLMYDMz8SZFoYMWn9VLZv0JyJEaDWY20YtN9ToEfq5DOPnR9Ipe7CIVvd-FrjTTk67b78mblXOu8?key=DjinIJuhuMxEvVMyPZR-qYsk)

Claim the rewards on the **Claim Rewards** tab by clicking **Claim** and signing the transaction in your wallet.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXefx1D4wQSLA5MVEYgbQsLPtkxPXRqaTmfLWcWvFLACIjUFG3hFlt9q2VVSIIGa15QNsLJGyyVN-JaS0kV-c04zvZCQ1y3cFhazrYP8ZQ2AR3-9F0_WXe2ZTE_rLIu6Jyk1pg_UCA?key=DjinIJuhuMxEvVMyPZR-qYsk)

To withdraw liquidity, go to the **Withdraw** tab, enter the number of LP tokens, select **Balanced mode**, and click **Withdraw**. Sign the transaction in your wallet.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXdytsjg5dLtDwAhXyXu_KPYMWfrrTYeWtHM4dyQjIZ2JKH5G81f5BZSou_h_HKv8h3G6jivYMHw6eYZTDKuvEWJ8hicMatpUqMVVO2__ttf1Bu4ZDrsH7ymIBKnKqil5XpSPbf34w?key=DjinIJuhuMxEvVMyPZR-qYsk)

After the transaction is successfully confirmed on-chain, you’ll see a notification: **Withdraw Complete**.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXebkXjNFVbGe2UQTWN6kevErourlpAeix8Np1HO_fzR-aFXO7y_ZH4YYeSphxr1a5UWqMux-U022j8FCQmA677orD4DnMiFZ0zJ7vj-0NGhaQAo3XaOUijRAhM3V-YkBXDJDTvf?key=DjinIJuhuMxEvVMyPZR-qYsk)

</details>

### **Obtaining Universal tokens for paired pools**

Each paired pool in the **Sonic** hub-chain consists of two tokens:

* **A universal token**—an asset from **Sonic**, common for all pools of the same type (**xfrxUSD** for **USD** assets, **xfrxETH** for **ETH**, and **scBTC** for **BTC**).
* **A synthetic derivative**, backed by the original asset locked in the **Consensus Bridge**. This can be either a single asset or LP tokens from **Curve**.

Universal tokens come in three types:

* For **USD** pools: LP token **xfrxUSD**.
* For **ETH** pools: LP token **xfrxETH**.
* For **BTC** pools: **scBTC** token.

### **Obtaining LP xfrxUSD**

To obtain **xfrxUSD**, follow these three steps:

1. Obtain **frxUSD** on **Sonic**.
2. Obtain **scUSD** on **Sonic**.
3. Deposit **frxUSD** and **scUSD** into the **CrossCurve frxUSD** pool to receive **xfrxUSD**.

You can obtain **frxUSD** and **scUSD** in various ways; below are a few methods.

#### **Obtaining frxUSD on Sonic using CrossCurve and Frax bridge**

**frxUSD** tokens on the **Fraxtal** network can be swapped from any available asset in the [**CrossCurve**](https://app.crosscurve.fi/swap?inputChainId=7\&inputToken=0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9\&outputChainId=23\&outputToken=0xfc00000000000000000000000000000000000001) app.&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcoRmbF6LPUVvvzvvqJCHemAXckM2Cw2OsDKXTJuYH-4Oy9iinkd9HBCxnSjfQ8A2EezBJAiLS-Ifrqq7o5u3ISfd1XdW6E5VqkkMuc1RgE9ekplMxt7C45Urybqu2jlAi7K2ju?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

Then, bridge them to the **Sonic** network on [**Frax.com**](https://frax.com/?tokenA=0xfc00000000000000000000000000000000000001\&tokenB=0x80eede496655fb9047dd39d9f418d5483ed600df\&originChainId=252\&destinationChainId=146).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe7YTuAIr41wxU_F6smuX91ORUr7eMy1udbZlfSxSSh1TcxAp8bKw_IgVEwKucHP-gYD6du8qt79URyHGbj9p10LL4ncfSjIiaUywp-d7JtceyX1GL2R8ZNzjCiEx03Xc9Bru8NAQ?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

#### **Obtaining scUSD on Sonic using CrossCurve and Rings app**

In the [CrossCurve ](https://app.crosscurve.fi/swap?inputChainId=15\&inputToken=0x3f833ed02629545dd78afc3d585f7f3918a3de62\&outputChainId=13\&outputToken=0xdac17f958d2ee523a2206206994597c13d831ec7)app, you can transfer any available asset to the **Ethereum** network, receiving **USDT**, **USDC**, or **DAI**.&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfocFjxI9shodzgcb2QiokA9PllU86jsoobTiUiAHblbrrEHfVf6TPR5DGqEw3e8t4ymdSkuAyZpEAOWg95pjOl-cIWlY0T5X4dBihb42rhVoRiyjanSwkdv7Ai6ZjcclFBtJrGFA?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

Then, **scUSD** tokens can be swapped in the [Rings ](https://app.rings.money/#/)app by depositing the available assets as collateral.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcAaJWLjQzYnA_gfTFDbjsb0ZE05J2CJyBvN9PuTkCe5KrMcCR37FrvOEcciodHgHTFi38P8xQG3a8W5eiiewKaHViXBrCJS7ExAPto82M6owolMC11YNp6msNSUMlJdrL2iz3iMQ?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

#### **Obtaining frxUSD and scUSD using other bridges for Sonic**

Choose your preferred app from the list of bridges in the [mySonic ](https://my.soniclabs.com/apps?tags=bridge)section under **Apps** in the **Bridge** category.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdZZoaxjVn6fN-Tfj4qNH182XlRXiJn2Bl4GyK4_j3sww5JIxR1KefDC18WkUmyP6YQTEYpvpX2ee2y0BETbR1YwEsGMpapypRvLnkHuxZ_O1fPubhKij_fwUyHRoxn4w6gnUslqw?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

#### **Obtaining frxUSD and scUSD Using the Jumper.exchange Aggregator**

Swaps are also available on the [Jumper.exchange](https://jumper.exchange/?fromAmount=750\&fromChain=42161\&fromToken=0xaf88d065e77c8cC2239327C5EDb3A432268e5831\&toChain=146\&toToken=0xd3DCe716f3eF535C5Ff8d041c1A41C3bd89b97aE) aggregator for any available assets.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdFSDlJYnNfopKY27WwuGrJU34cqvY09_o0kb6w0kWykKJSZi6-6QdoSqTnLIFBUv-QI59lP-Uo8kjJN3v-0K4W_GQski09LiV_3PwmELq-9PcD0C15gpB5xOcAfSBPg8eur0h_XQ?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

### **Obtaining xfrxUSD via the Curve App interface**

To obtain the LP token **xfrxUSD**, you need to provide liquidity in the [**CrossCurve frxUSD**](https://curve.finance/dex/sonic/pools/factory-stable-ng-25/deposit/) pool:[ https://curve.finance/dex/sonic/pools/factory-stable-ng-25/deposit/](https://curve.finance/dex/sonic/pools/factory-stable-ng-25/deposit/).

Go to the [CrossCurve frxUSD](https://curve.finance/dex/sonic/pools/factory-stable-ng-25/deposit/) pool page and connect your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe6ht4rrmW8xK3yPz9Y4PxLS6FqwZ37n5UssZ10dy-6mnFgb5keCya_hzkjrjzSJw5v4UKVjaJns-nRlxMMnuOUIR7VG3m7VccrGXONxxIQjpWasWYulwCMkrbkETjC-m5_N4jn4Q?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

Enter the desired deposit amount on the **Deposit** tab. To avoid losses due to slippage, it’s recommended to deposit funds in a balanced manner by clicking **Add all coins in a balanced proportion** (learn more [here](https://docs.crosscurve.fi/user-documentation/liquidity-interface/liquidity-provision-use-cases/curve-knowledge-database/balanced-liquidity-provision)).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeeNhAu413QMe_qfCGQ1h1cbzsWkQ920LD4OlwcIC6gaelWESm8EcwhmlhXuZNldE7Yiifri8Crm25XzVGLjkQxzPMPdVWORONvB93rtnsfsELQShFwWLSEKfDN2WuuwBRdeWWm?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

In the first transaction, confirm the spending of funds by clicking **Approve Spending** and signing the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcNXdK498D0k7V7f6S2jgFHZ5-OTK-RTeNE4FS0AiyIiXhSilodJsWd_vaONeDdJ-3HKCPTa2_qnC0FX2C7L0LcArnqOQsibUeFtTTYwpU1gOzUhqulBHD40kTXXLtLQg8njGGk?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

In the second transaction, deposit the funds by clicking **Deposit** and signing the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXclGastFVCL0waSV-QR3MgDKFOJJhgDaQ5_2XZvB5hub05iHlSQh-JEY_okE_MyzQYLCO6tS3MM9dtvLmGfBN8H1-XM7kuO_3S3UvId2OJ1ppb_caAAAI3kDcAbHshlMgdVo0n8?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

After the transaction is successfully confirmed on-chain, your wallet will display the amount of received **xfrxUSD** LP tokens.&#x20;

{% hint style="success" %}
*If your wallet doesn’t support automatic token addition, add it manually as a custom token with the contract address* [*0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84* ](https://sonicscan.org/address/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84)*on the **Sonic** network.*
{% endhint %}

### **Obtaining LP xfrxETH**

To obtain **xfrxETH**, follow these three steps:

1. Obtain **frxETH** on **Sonic**.
2. Obtain **scETH** on **Sonic**.
3. Deposit **frxETH** and **scETH** into the **CrossCurve frxETH** pool to receive **xfrxETH**.

You can obtain **frxETH** and **scETH** in various ways; below are a few methods.

#### **Obtaining frxETH on Sonic using CrossCurve and Frax bridge**

**wfrxETH** tokens on the **Fraxtal** network can be swapped from any available asset in the [**CrossCurve** ](https://app.crosscurve.fi/swap?inputChainId=13\&inputToken=0x0000000000000000000000000000000000000000\&outputChainId=23\&outputToken=0x0000000000000000000000000000000000000000)app.&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfzbtvWrAdXKyvVQypnHITjnCQiO0bypBTu-tptT4MtzxPSAUF8WWOrrfgye8CXF-dTp_DonfkMPIrNNRwQ1s9cykhoIIeX-CT5BmoweUiM4p7wsOjofGMqoTbOk0u2EB2xCNHO?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

Then, bridge them to the **Sonic** network on [**Frax.com**](https://frax.com/?tokenA=0xfc00000000000000000000000000000000000006\&tokenB=0x43edd7f3831b08fe70b7555ddd373c8bf65a9050\&originChainId=252\&destinationChainId=146).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfMiw6QWCe6KX4_Ytb27ClNKKhtK-22hzyzmjjBB4g1AUKx3HaekCPqJk3r_1BZFCgkyYf0sCQJhT2aZufecLqLamCHbsLL_aDsgeA9eiTeHecIAzUZKaWEZPFlwHmI4g1D8i8Z?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

#### **Obtaining scETH on Sonic using CrossCurve and Rings app**

In the [**CrossCurve** ](https://app.crosscurve.fi/swap?inputChainId=15\&inputToken=0x3f833ed02629545dd78afc3d585f7f3918a3de62\&outputChainId=13\&outputToken=0xdac17f958d2ee523a2206206994597c13d831ec7)app, you can transfer any available asset to the **Ethereum** network, receiving **WETH** or **ETH**.&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdPdOFh_0WmlvOSbgxzgKNJHTukYvS-92hI97ORndMhum2xDCPiwz-cquBbc3iFI2x_fK9dvqmWxXa66jo9xMU7iX3bY9ICtwAQdOmCW0thA6-F3VawGIIyvqr7RbJ5mquu1FLqPg?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

Then, **scETH** tokens can be swapped in the [**Rings** ](https://app.rings.money/#/)app by depositing the available assets as collateral.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXek066EiBsfpoRc72c3nADowC4Yks_Rl28Ql72GsC0JfJhCD3dNZNhnpiAM2pQ5l9lvTo5YgHfAwOSTL5D-6lpJcFipspidjqxwcuM83JkjKT5TqgjJ21DdDdB6ZE9pwNc-3abphg?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

#### **Obtaining scETH or frxETH on Sonic using other bridges for Sonic**

Choose your preferred app from the list of bridges in the [**mySonic** ](https://my.soniclabs.com/apps?tags=bridge)section under **Apps** in the **Bridge** category.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdd4ZlSwDYdfO3GBEa8FLGhaVBmiJxeTYSBgK8Kg9z7NwSwAZR6RwX01uH2nOLBQOoVFaiY2Rt3rCO6nomf_dFupTFpdwm-q9Qc6ytfmGKkJN4xu23i_11D-89bndqT9Dn84bsx5g?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

**Obtaining scETH or frxETH Using the Jumper.exchange aggregator**

Swaps are also available on the [**Jumper.exchange**](https://jumper.exchange/?fromAmount=750\&fromChain=42161\&fromToken=0xaf88d065e77c8cC2239327C5EDb3A432268e5831\&toChain=146\&toToken=0xd3DCe716f3eF535C5Ff8d041c1A41C3bd89b97aE) aggregator for any available assets.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdshEcdJlDyJGA4ZZqecvTRRM7h4jAv7IXaUAPivPDBEozil5YEe36Xq42FRKkjnWPelVDkBidgYJqLsH096hh-2ZnL1RLaPhaOakb4drOFsz6L9yo8vcwA8FhOqhzYt7znMtwR?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

### **Obtaining xfrxETH via the Curve App Interface**

To obtain the LP token **xfrxETH**, you need to provide liquidity in the [**CrossCurve frxETH**](https://curve.finance/dex/sonic/pools/factory-stable-ng-26/deposit/) pool:[ https://curve.finance/dex/sonic/pools/factory-stable-ng-26/deposit/](https://curve.finance/dex/sonic/pools/factory-stable-ng-26/deposit/).

Go to the [**CrossCurve frxETH**](https://curve.finance/dex/sonic/pools/factory-stable-ng-26/deposit/) pool page and connect your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXci-NogZ4EcKOtWKXfT5K4QylVPTnaR5909jAWybTdQ1TGkB1wXNxIeoQX-oofpTZeS6gPHxHjcZEPi7d99VbTltCTZBaM1BZ9vZxQzOOrGgNtFvdDSNOZ5Ns7OoWrQ_T-P4-bHOQ?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

Enter the desired deposit amount on the **Deposit** tab. To avoid losses due to slippage, it’s recommended to deposit funds in a balanced manner by clicking **Add all coins in a balanced proportion** (learn more [here](https://docs.crosscurve.fi/user-documentation/liquidity-interface/liquidity-provision-use-cases/curve-knowledge-database/balanced-liquidity-provision)).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXctweB1NyR7-2yH_RnB28y-73nc5ndDGse6yYQOC4CiEB3AC3WzFm_Zx5t9ZxoAXeicrWEegptfDBZKYGQCBR9jQMeCcVF_R2ee96yVFHmV1l8UODT9XhmOOrL2rWmefZT_qrUHzA?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

In the first transaction, confirm the spending of funds by clicking **Approve Spending** and signing the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfJwoJ0ChvoKwtK_Sn2EYHcBG_vo6SePD87mHGPjRLtb_TAwHcOjhHqqNr3qkzAsBK2wQ4NxrVjq7JD6th3sUdRdJ50VCGIKpjF4B3SPxZ1UKvxIxgVAoLTlNx3qtqyO3n0ETk3?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

In the second transaction, deposit the funds by clicking **Deposit** and signing the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXexG7fo6jUDGW3EUxlQKEFZWUTQTlGJSqIOO7SEix-PIK1XPLRE8Kl_3LSMao5r_fTczQF2tZsl8pbI2YfrieEt0d39700myPovfBuKRzQmChJ0mxwU1pJRwIiUGVJVnrwnTuVixg?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

After the transaction is successfully confirmed on-chain, your wallet will display the amount of received xfrxETH LP tokens.&#x20;

{% hint style="success" %}
*If your wallet doesn’t support automatic token addition, add it manually as a custom token with the contract address* [*0x346704605c72d9f5f9F02D651e5A3DccE6964F3d*](https://sonicscan.org/address/0x346704605c72d9f5f9f02d651e5a3dcce6964f3d) *on the **Sonic** network.*
{% endhint %}

### **Obtaining scBTC**

You can obtain **scBTC** using the official **Rings** issuer app. Alternatively, you can use third-party services listed below.

#### **Obtaining scBTC on Sonic using CrossCurve and Rings app**

In the [**CrossCurve** ](https://app.crosscurve.fi/swap?inputChainId=15\&inputToken=0x3f833ed02629545dd78afc3d585f7f3918a3de62\&outputChainId=13\&outputToken=0xdac17f958d2ee523a2206206994597c13d831ec7)app, you can transfer any available asset to the **Ethereum** network, receiving **WBTC**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeD6z33lYdmEYFoYGzjhjrtpHvUu9LdTWOWEwMwJpvaYDdSNxdVks5HmB2yfEaNelbcKifIvoW8kKJ0_5xqEv29FH6jMuVfLHrtaINtdXVCFejxpgqmCErOZ0J0tXKg3-228aI0?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

Then, **scBTC** tokens can be swapped in the [**Rings** ](https://app.rings.money/#/)app by depositing **WBTC** on the **Ethereum** network as collateral.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeLCajdsoS8dkZMg4qnKxm3qiEPPXeXpntHghwMbN5xqw0Szas9PB-LiqfD9D6YW9i_QKlEXTRUI1RcB0qsXFcTjLCRzM37bdfWPs6qOyDe1EIJqGeNaWhnXpU2w4I4d5ALlzJzXA?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

#### **Obtaining scBTC on Sonic using other bridges for Sonic**

Choose your preferred app from the list of bridges in the [**mySonic** ](https://my.soniclabs.com/apps?tags=bridge)section under **Apps** in the **Bridge** category.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdd4ZlSwDYdfO3GBEa8FLGhaVBmiJxeTYSBgK8Kg9z7NwSwAZR6RwX01uH2nOLBQOoVFaiY2Rt3rCO6nomf_dFupTFpdwm-q9Qc6ytfmGKkJN4xu23i_11D-89bndqT9Dn84bsx5g?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

**Obtaining scBTC using the Jumper.exchange aggregator**

Swaps are also available on the [**Jumper.exchange**](https://jumper.exchange/?fromAmount=750\&fromChain=42161\&fromToken=0xaf88d065e77c8cC2239327C5EDb3A432268e5831\&toChain=146\&toToken=0xd3DCe716f3eF535C5Ff8d041c1A41C3bd89b97aE) aggregator for any available assets.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdshEcdJlDyJGA4ZZqecvTRRM7h4jAv7IXaUAPivPDBEozil5YEe36Xq42FRKkjnWPelVDkBidgYJqLsH096hh-2ZnL1RLaPhaOakb4drOFsz6L9yo8vcwA8FhOqhzYt7znMtwR?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

### Obtaining a Synthetic Derivative

Each paired pool on the **Sonic** hub-chain consists of two tokens:

* **A universal token** – an asset from **Sonic**, uniform across all pools of the same type (e.g., **xfrxUSD** for **USD** assets, **xfrxETH** for **ETH**, and **scBTC** for **BTC**).
* **A synthetic derivative**, backed by the original asset locked in the **Consensus Bridge**. These can be either single assets or LP tokens from **Curve**.

{% hint style="info" %}
***Synthetic tokens** are categorized into three types:*

* ***s\_Stable\_chain**, where **Stable** represents a **USD** asset variant, and **chain** is the network where the asset is used.*
* ***s\_WETH\_network**, where **WETH** represents **ETH** backing, and **chain** is the network where the asset is used.*
* ***s\_WBTC\_network**, where **WBTC** represents **BTC** backing, and **chain** is the network where the asset is used.*
  {% endhint %}

{% hint style="info" %}
Each type of **synthetic token** corresponds to a pool where it can be paired in an LP token:

* **xs\_chain**, where **xs** is a stable pool, and **chain** is the network where the asset is used.
* **xe\_chain**, where **xe** is a volatile pool, and **chain** is the network where the asset is used.
* **xb\_chain**, where **xb** is a volatile pool, and **chain** is the network where the asset is used.
  {% endhint %}

### Obtaining sUSDC\_arb

**sUSDC\_arb** tokens on the **Sonic** network can be swapped from any available asset in the **xsArbitrum** pool via the [CrossCurve](https://app.crosscurve.fi/liquidity?pool=0x440bcab62d629ba60ca56b80e565636e0c404e60\&type=curve\&action=deposit\&output=0xd3dce716f3ef535c5ff8d041c1a41c3bd89b97ae\&chainOut=146) app.&#x20;

1. Navigate to the **Liquidity** tab in the **Yield** section. Select the **Balanced mode** and click **Next**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXffDk6rg4AaXoz8HvlzivceIPadbY7jHzNa32_pMcQ5H8GgEiWXfvIbhR9K4a7PXH9JjUSF7CP7dlKyHfrRlz4mW_IRDaw2_IKsrsRWg2pxnVMB4RpP6bYOUcOQvpNVCwat6_lsjg?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

Enter the desired amount to swap, approve the spending by clicking **Approve**, and sign the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdDLd9iZCrP4PzVBw2bFxcDfJ592AapjZo-TU3T_CY29poxAVzadmEZgEaIvLd3o2PntKOzo1CSWSv9HN6pGdtuDv0YNGRtgpJUrR67hyIAGXHtLpVXn5oCuBgfnQoCkpCWvNP2MQ?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

Click **Swap** to execute the exchange and confirm the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdcUv3qx0ti32qTm1yZWBGxk6lyLgppmIwkjGWw-5aSHX0P-WQxhBZvwHUygbocF9KpSx1RvHgxEvQqKF6ue0-tWpKOFE9OPeg4auJ0eAjDn8JMK0LQUwcnuasXE4fInzJ8IDA6og?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

2. If you know the swap direction, you can also perform the exchange in the [Trade ](https://app.crosscurve.fi/swap?inputChainId=13\&outputChainId=53\&outputToken=0x54e858c116f3d6bdf3c270f68cba96313b286577)tab using any available asset.&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf2QklHIooACOMHHdfeAzT0KHolQnZy40kgWSXexjrh0Nvms2DIQfWb6-uuU36Snht93yDn54-1nJsKGS2jdSPCuXKuw3UWIQC7cS4unY2zQIzOsvI7pciLRVp8_F-k0mRgcJ_whw?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
***Note**: Some directions may experience high slippage!*
{% endhint %}

## Providing Liquidity to pools on Sonic

To provide liquidity to **Sonic** pools:

* Select the pool where you want to transfer liquidity, e.g., **xsArbitrum**.
* Determine the required token amounts.&#x20;

{% hint style="success" %}
*For the **Arbitrum** example, you need 25% **frxUSD** and 25% **scUSD** to obtain 50% **xfrxUSD** and 50% **sUSDC\_arb** (percentages are based on the total liquidity you plan to transfer to the **xsArbitrum** pool).*
{% endhint %}

* Obtain the synthetic token for this direction, in this case, [**sUSDC\_arb**](https://docs.crosscurve.fi/user-documentation/migration-to-sonic/liquidity-transfer-from-fantom-to-sonic#obtaining-susdc_arb).
* For **USD** pools, acquire [**xfrxUSD** ](https://docs.crosscurve.fi/user-documentation/migration-to-sonic/liquidity-transfer-from-fantom-to-sonic#obtaining-xfrxusd-via-the-curve-app-interface)tokens. For example, deposit an equal amount of [**frxUSD** ](https://docs.crosscurve.fi/user-documentation/migration-to-sonic/liquidity-transfer-from-fantom-to-sonic#obtaining-frxusd-on-sonic-using-crosscurve-and-frax-bridge)and [**scUSD** ](https://docs.crosscurve.fi/user-documentation/migration-to-sonic/liquidity-transfer-from-fantom-to-sonic#obtaining-scusd-on-sonic-using-crosscurve-and-rings-app)into the [**CrossCurve frxUSD**](https://curve.finance/dex/sonic/pools/factory-stable-ng-25/deposit/) pool.
* Deposit the **universal token** and the **directional (synthetic) token** into the paired pool.&#x20;

{% hint style="success" %}
*In our example, deposit **xfrxUSD** and **sUSDC\_arb** into the **CrossCurve Stable ARB pool**.*
{% endhint %}

### Obtaining LP xsArbitrum via Curve

Navigate to the [CrossCurve Stable ARB](https://curve.finance/dex/sonic/pools/factory-stable-ng-73/deposit/) pool page:[ https://curve.finance/dex/sonic/pools/factory-stable-ng-73/deposit/](https://curve.finance/dex/sonic/pools/factory-stable-ng-73/deposit/) and connect your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcTvzq3Mgnecf7i4MmA_RHNpqRP1R0o9QnViy04jMmykH5GP5g49begK2kQz8G6vT-2vL5U-hRvmcgupnwlKrHNl8ACdH8j6cucDxST5DVhp4sFF02ep00xdL9r3P-L6_7tJ_uS_A?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

Enter the desired deposit amount in the **Deposit** tab. To avoid losses due to slippage, it’s recommended to deposit using the balanced method by clicking **Add all coins in a balanced proportion** (more details [here](https://docs.crosscurve.fi/user-documentation/liquidity-interface/liquidity-provision-use-cases/curve-knowledge-database/balanced-liquidity-provision)).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdIk-LDxcgGHY7ysJA_LIJ9tk8neFCXuBYC2gPubI3gUEJRaNS_FqRPVdkZa3Y-NyDHJDWW5jMhwTpThSzOXApk_I0IcCzDCUhxQF-YGeB2vNxZ04dQWaCnZKGmETvH9hX6wZcy4g?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

In the first transaction, approve the spending by clicking **Approve Spending** and sign the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfKaypv2dgQLD1JdNTT9RCb-UQPO2BRujJoY8hu7YyWTeP_6kddjhng9svTZCNLVa1U149OHWzzMv2Vza7oYjrhwUYm8dH4bg_zBJQOh9MCov0ag6-XDKtsVJL-kKvfu5hbCpwoTQ?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

In the second transaction, deposit the funds by clicking **Deposit** and sign the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcfSj05LZ-S1x7K-OlcuV9Xz9cm6iQmMIutA2403PR6P7ER97OdSnnYnB1kxyA7lbz-C9nIesvUv3YyIxj621s_a_iCI4EQxSfJyqu2MBUjO18AVf1Nrq_FErZlLtbRrhWrqy515A?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

After the transaction is confirmed on-chain, the amount of received **xsArbitrum** LP tokens will appear in your wallet.&#x20;

{% hint style="success" %}
*If your wallet doesn’t automatically add the token, manually add it as a custom token using the contract address* [*0x440bcab62d629ba60ca56b80e565636e0c404e60*](https://sonicscan.org/address/0x440bcab62d629ba60ca56b80e565636e0c404e60) *on the **Sonic** network.*
{% endhint %}

### Obtaining LP xsArbitrum via CrossCurve

LP **xsArbitrum** tokens on the **Sonic** network can be swapped from any available asset in the **xsArbitrum** pool via the [**CrossCurve** ](https://app.crosscurve.fi/liquidity?pool=0x440bcab62d629ba60ca56b80e565636e0c404e60\&type=easy\&action=deposit\&output=0x440bcab62d629ba60ca56b80e565636e0c404e60\&chainOut=146)app.

Go to the **Liquidity** tab in the **Yield** section. Select the **Easy mode** and click **Next**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcPTfUz7VfRUbSMooKu9llowAH3t-AAb1gaRYaRsPSZQRuMVSDopq2bQ5LFqJK-fZp_0m00kdMov-s6-jHm6Z3M6_c7S8JQ_1uoaZW3ZBG2thGkuJaBuu0P274Og_lNPFIWFwrE?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

Choose the available asset for the swap.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXclIGeBmRnEwZLMfp6sSE6ZeOY6hjhe3NyvOYZrvZZDmF_TU4SbuEQWmDbjhxX0wTwCIuRh6cOBM1srnOyciPAusXN1I6VxyF2qRtlD2W8pEkJ6VpFmuUgMYYnawv7_Vn5zFR9R?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf_5RaWK4LFcACcTcMuortaHtrFk3USVUUVsRTTQI0_oApSd3Onf7nZqueaf4ltAXHOvxHnieTunloZZ_OHRIJt5f5m8ZszYEpisXEKwGPhmw3AYG531simM4cX0YWsQutbwdiPIA?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

Enter the desired amount to swap, approve the spending by clicking **Approve**, and sign the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXerrCpOXbkP63R8v7xUMBC3VsoFilEgP-NreD43fbfCJsRbm_3vxedC3PX57m3fAgdCPoMIXJLoduqVoMpIa7nuGg8Czo7xGPqHBIE_sUz-7IuBxqMpC3uhywD8SdSJV-9d2YOcKg?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

Click **Swap** to execute the exchange and confirm the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe4gZp5yFcTQMbZwXvs7XhDwj1OD-rpj3zAc-Sy0ZGtaWVC4ByqAZ9BRjBPOEguuSLQ6enQTfXD_nOpn2-xBTW7wdKaHlb77ZZzguiObzyTyVZXx2rtH0yOT5xl4LvcOEHDGf930A?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

### Depositing LP xsArbitrum into the CrossCurve Stable ARB Pool

To provide liquidity to **CrossCurve** pools navigate to the **Farms** page in the **Yield** section:[ https://app.crosscurve.fi/farm](https://app.crosscurve.fi/farm) and connect your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcQU0L9Ue0o7sbVXl8BzEivqPrQilNZzT7r43WohNVzttf1I200wvrWzstmM_HyZQH7G8SiJbH1qt7tEvitVkKTKDCstoYIX_at6JlQOH9X7FtC4hN_YPdYOZUrC0sUicDIFDmayQ?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

In the **xsArbitrum** pool tab, click **Stake LP** **and get rewards**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdNXek4l5YXFrXzJuR94oHL6k8pSSSR-xHp24IMjYkIHH_D974nNUBA9rWy8Qw_R_G6WFEVhzVWL3GxydiCCtH7SSMCXMkb0uCmPf81eXsveNGDyBAgKSP1tvoCvOL0Joc07J7R?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

Enter the deposit amount, approve the spending by clicking **Approve**, and sign the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdIUOlF-smcT12-lrNH8Z1LwCI3j_ySzYBN8VB0QViF8M6HtEeE4k7YvuCx_4g0bLUJguwF8FHC9hKycdP0KzW-8H-3xcSOjCAV97kImk43ST_talrNwMhWn1HI2YUGPHfqMYCN5g?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

After successful confirmation, deposit the funds by clicking **Stake** and sign the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXexyKJyni46JHpS01awk9s5HU1NNgxAjO2ipyp4h0WzHVyfHEGfcy_gCUIvYBzNN3bpa5d0yBfBpuSaK5PIACGQkO_Q3wJWm_rTPBS9NvTiLgS0buH_ceLUKqkmhYLsncnN0AkYUg?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

The deposited amount will appear in the **Staked** field.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeho5cotisPOlXVTYCOWlH6Iqg2TbIEO7GFQUCmk_tpRAtnw8vWnUK8W_l3qOerEPqrRoz_7IehonVfr87gh-dh3OSVy-ZtwTEizixLZh0a_IpMC-nOa033AZb6xu2_r5tiDWWo7A?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

You can view the current **vAPR** and accrued rewards in the selected pool by clicking on the **APY** icon.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfpKr13QSLFereY3Y_DyDYuEkvgCPxdDx1Oz2pnzvTnMw_skbDjDR7CpvYUz7iUBeq9xkpYXSQ83CPuTujZai6IypzvWsX2newmcXkqt1cT3oCOO4qG-uu3CY348jrmkkxmcSEA?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>


# Sonic Incentives on CrossCurve MetaLayer

## Introduction

**CrossCurve** is launching **Sonic** with an updated pool architecture built on the principle of isolated connections: each network connects to a universal asset within Sonic.

For example, the **sxEthereum** pool with the universal token **xfrxUSD** and the s-token с **sUSDC\_arb**

This not only enhances the system's resilience but also opens direct access to all key drop programs of the **Sonic** ecosystem.

{% hint style="success" %}
*Now, every **CrossCurve** user can earn three types of rewards just by interacting with the app.*
{% endhint %}

Currently, **Sonic** incentives are provided for all paired pools on **Sonic** and for the **3UNIT0** pool.

## Season 1

### Sonic Points — Rewards for Users

This is the core drop mechanism from **Sonic**, focused on end users. Points are awarded for holding whitelisted assets and come in two types: passive (for storing assets in a wallet) and active (for using assets in third-party apps, such as **CrossCurve**), which earn double the passive rate.

Thus, farming **Sonic Points** through **CrossCurve** is twice as profitable!

The following assets offer different boosts:

* **scUSD** — **6x**
* **scETH**, **scBTC** — **4x**

At the end of the drop, **Sonic Points** will be converted into NFT-safes, from which $**S** tokens will gradually unlock. All information is displayed in the dashboard: [my.soniclabs.com/points](https://my.soniclabs.com/points)

{% hint style="info" %}
*For **CrossCurve** users, this means simply providing liquidity to **CrossCurve** pools — points are credited automatically, and they will enter the main phase of $**S** distribution.*
{% endhint %}

***

### Sonic Gems (cmGEMS1) — Rewards for Applications

This is a separate program for protocols and the second part of the **Sonic** drop. During the first season, **1 680 000 Gems** will be distributed. **262 500** have already been pre-allocated to the winners of **Sonic Boom**. **CrossCurve**, as one of the winners in the **Sapphire tier**, has already received **8750 Gems**.\
\
The remaining **1 417 500 Gems** will be distributed based on user activity and multipliers. For **CrossCurve** as a bridge, a **5x** multiplier applies.

> *We’ve decided to tokenize these as **cmGEMS1** and allocate **100%** of these tokens as rewards to **liquidity providers** in the project’s pools.*

#### What is required from CrossCurve users?  - Provide liquidity to the project’s isolated Sonic pools on Sonic - Rewards will be distributed through Merkl and will account for your veEYWA boost, if you have one. This can boost your yield up to 2.5x. The instructions to this particular step can be found [here](https://docs.crosscurve.fi/earn-with-crosscurve/providing-liquidity-to-crosscurve-pools).&#x20;

But perhaps the main advantage of **cmGEMS1**, unlike **Points**, is that they can be directly exchanged for $**S**.

***

### Rings Points — Points from Token Issuer on Sonic

**Rings Protocol** is the issuer of the stablecoins **scUSD**, **scETH** and **scBTC**, which are present in the **Sonic** pools on **CrossCurve**. The protocol has its own drop program — **Rings Points**, which are awarded automatically, similar to **Sonic**’s own.

\
Like **Gems**, **Rings Points** can be directly exchanged for $**S** at the end of the season.

***

## Season 2

### Sonic Points — Rewards for Users

This is the core drop mechanism from Sonic, focused on end users. Points are awarded for locking [whitelisted assets](https://docs.soniclabs.com/funding/sonic-airdrop/sonic-points#whitelisted-assets) in  **CrossCurve** pools.

The following assets offer different [boosts](https://docs.soniclabs.com/funding/sonic-airdrop/sonic-points#loyalty-multiplier):

* scUSD — 6x
* scETH, scBTC — 4x

All information is displayed in the dashboard:[ ](https://my.soniclabs.com/points)[my.soniclabs.com/points](http://my.soniclabs.com/points)

{% hint style="info" %}
*For **CrossCurve** users, this means simply providing liquidity to **CrossCurve** pools — points are credited automatically, and they will enter the second phase of $**S** distribution.*
{% endhint %}

***

## Conclusion

\
**CrossCurve**’s transition to **Sonic** is not just an upgrade, but a real expansion of economic opportunities for our liquidity providers.\
With the new pool architecture, almost every provider can receive triple incentive accrual - not counting **CrossCurve**’s own rewards.

{% hint style="success" %}
***Sonic incentives** apply to all paired pools in the **Sonic network**, as well as the **UNIT0** pool.*
{% endhint %}

<br>


# CrossCurve MetaPoints Program

As part of [**Sonic’s Airdrop Season 2**](https://docs.crosscurve.fi/user-documentation/migration-to-sonic/sonic-incentives-on-crosscurve-metalayer#season-2), **CrossCurve** has launched the **CrossCurve MetaPoints** program to reward active users of **CrossCurve**.

### Rules

**Participants**:&#x20;

* Users who provide liquidity to participating pools<mark style="color:red;">**\***</mark> in the **Farms** tab by staking LP tokens in the CrossCurve app
* Users swapping cross-chain via the **Trade** interface (as long the the swap’s route passes through the [Hubchain](https://docs.crosscurve.fi/crosscurve-metalayer/what-is-crosscurve-metalayer/crosscurve-pools-v2#cross-chain-transfer-process))<br>

**Rewards:**&#x20;

Participants receive **MetaPoints**. Also, their activity helps **CrossCurve** receive more  [**Sonic Gems**](https://docs.crosscurve.fi/crosscurve-metalayer/what-is-crosscurve-metalayer/crosscurve-pools-v2#cross-chain-transfer-process), which will be swapped to **$S** tokens at the end of [**Sonic’s airdrop season 2**](https://docs.crosscurve.fi/user-documentation/migration-to-sonic/sonic-incentives-on-crosscurve-metalayer#season-2).  All of the received **$S** tokens will be distributed among all the participants who got enough **MetaPoints** to receive at least one **$S**&#x20;

{% hint style="info" %}
*Rule subject to change on **Sonic’s** end as they publish the final algorithm of point accrual*
{% endhint %}

**Pool marking**:&#x20;

Pools participating<mark style="color:red;">**\***</mark> in the **MetaPoints** program will be marked with a special symbol <img src="/files/CjuRRm4RytXGgUX6F3Ef" alt="" data-size="line">.

### Point accrual mechanics for liquidity providers

* Only the specially marked pools in Farms are included <img src="/files/CjuRRm4RytXGgUX6F3Ef" alt="" data-size="line">

<figure><img src="/files/FPiXAebkp5xpRwfecJw4" alt=""><figcaption></figcaption></figure>

* Points accrue **only for the volume of** [**s-tokens**](https://docs.crosscurve.fi/user-documentation/migration-to-sonic/liquidity-transfer-from-fantom-to-sonic#providing-liquidity-to-pools-on-sonic) in the LP:

&#x20;     ○ E.g., if the LP token only has 40% of its TVL is in s-tokens, then only this 40% counts towards accrual, not the other 60%.&#x20;

* **Accrual formula**:

&#x20;     ○ **1 point = 1$ s-token left in the pool for 1 day**

* **Accrual frequency**:&#x20;

&#x20;     ○ daily at **00:00 UTC**&#x20;

* Each pool could have an individual multiplier that increases or decreases the total amount of accrued points.

### Accrual mechanics for users moving liquidity

* Only cross-chain swaps receive points (as long as the route passes through the [Hubchain](https://docs.crosscurve.fi/crosscurve-metalayer/what-is-crosscurve-metalayer/crosscurve-pools-v2#cross-chain-transfer-process)).&#x20;
* Swaps below $10 do not count.
* Users get 100 **MetaPoints** for every $10 swapped

<figure><img src="/files/pWFBMZga2oCmmznKpwO1" alt="" width="563"><figcaption></figcaption></figure>

### Integration

* Users can find **MetaPoint** accrual information on the **Leaderboard** [page](https://app.crosscurve.fi/leaderboard) in each relevant tab:&#x20;

\- **My MetaPoints** — total **MetaPoints** earned by the connected wallet

\- **In Farms** — total **MetaPoints** earned by staking in Farms

\- **In Swaps** — total **MetaPoints** earned for cross-chain swaps in Trade

\- **Total MetaPoints** — total amount of **MetaPoints** earned by all the participants of the **CrossCurve MetaPoints** program

<figure><img src="/files/TzqphMcLq9vRCVxn6R16" alt=""><figcaption></figcaption></figure>

* In the “**Frams**” LP staking interface, participating pools will have the icon next to them, alongside the point multiplier.

<figure><img src="/files/jlGgm4qTCv5H6dvKsUHI" alt=""><figcaption></figcaption></figure>

* In the “**Trade**” interface, the expected point value of the swap will be reflected alongside points from [**Season 2 of Sonic’s airdrop**](https://docs.crosscurve.fi/user-documentation/migration-to-sonic/sonic-incentives-on-crosscurve-metalayer#season-2).

<figure><img src="/files/qQxzjujAmnltVi6eyaRd" alt="" width="563"><figcaption></figcaption></figure>

***

### FAQ

**1. How do I earn $S tokens**\
**Swap** on **CrossCurve** or provide liquidity to **CrossCurve** pools

**2. Which pools are participating in this program?**\
Only the selected pools marked by the program’s icon in the interface

**3. Does my entire staking position accrue points?**\
No, only the part reflecting the % of [**s-tokens**](https://docs.crosscurve.fi/user-documentation/migration-to-sonic/liquidity-transfer-from-fantom-to-sonic#providing-liquidity-to-pools-on-sonic) in the pool

**4. How is the value of the LP token determined?**\
In USD based on the average daily value

**5. How frequently do the LP points accrue?**\
Daily

**6. What can I do with MetaPoints?**\
At the end of the [**Sonic’s Airdrop Season 2**](https://docs.crosscurve.fi/user-documentation/migration-to-sonic/sonic-incentives-on-crosscurve-metalayer#season-2), they will be converted into **$S** tokens

<br>


# Swap interface

## Introducing the CrossCurve User Interface <a href="#introducing-the-crosscurve-user-interface" id="introducing-the-crosscurve-user-interface"></a>

By visiting the main page at [app.crosscurve.fi](https://app.crosscurve.fi/), you enter the **CrossCurve Application Interface**, where you can see three main sections: the Interface for executing token exchange transactions between different networks ([**Trade**](https://app.crosscurve.fi/swap) tab), the user [**Dashboard**](https://docs.crosscurve.fi/user-documentation/dashboard-interface) interface for interacting with the [**DAO**](https://docs.crosscurve.fi/user-documentation/dao), [**Farming**](https://docs.crosscurve.fi/user-documentation/yield/farms-interface), and [**NFTs**](https://docs.crosscurve.fi/user-documentation/eywa-nft)  ([**Dashboard**](https://app.crosscurve.fi/dashboard) tab), the [**Airdrop Points**](https://docs.crosscurve.fi/user-documentation/leaderboard) statistics page along with referral count ([**Leaderboard**](https://app.crosscurve.fi/leaderboard) tab), the Interfaces for working with liquidity and yield strategies on **CrossCurve** ([**Yield**](https://docs.crosscurve.fi/user-documentation/yield) menu), and the menu for interacting with Vesting Safes and rEYWA ([**Vesting**](https://docs.crosscurve.fi/user-documentation/vesting) menu). There is also a quick link to the [**Locker**](https://docs.crosscurve.fi/user-documentation/dao/locker-interface) where [**DAO**](https://docs.crosscurve.fi/user-documentation/dao) yields are reflected ([**Staking APY**](https://app.crosscurve.fi/locker/create) tab) and a menu for quick purchasing of **$EYWA** tokens ([**Buy EYWA**](https://app.crosscurve.fi/swap?inputChainId=7\&inputToken=0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9\&outputChainId=7\&outputToken=0x7a10f506e4c7658e6ad15fdf0443d450b7fa80d7) menu).

<figure><img src="/files/3WCVPaUop78yziWakyFd" alt=""><figcaption></figcaption></figure>

### Swap Section and its Functionality

To start, in the top right corner click “**Connect wallet**”, select a suitable wallet from the list and confirm the connection, making sure that you are on the original page[ app.crosscurve.fi/swap](https://app.crosscurve.fi/swap)

<figure><img src="/files/YCuJgnbKZ4iANaCcb16c" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/HsattLVSyItBfLalIZfR" alt=""><figcaption></figcaption></figure>

After the successful connection, select the desired chain by clicking on your wallet management menu in the top right corner of the page and then on the chain selection pull down in the top left corner of the popup window.

<figure><img src="/files/iwjQQydsvXUSXBNqlb7A" alt=""><figcaption></figcaption></figure>

Select the desired chain from the list or use the search function.&#x20;

<figure><img src="/files/gnD1BemExmYeOrBqab0h" alt=""><figcaption></figcaption></figure>

### Basic interface elements

The interface consist of basic elements, such as:

#### 1. Wallet management menu

<figure><img src="/files/iuTD0dSJowXjDbMQmqql" alt=""><figcaption></figcaption></figure>

If you click on this section pop-up window will appear:

<figure><img src="/files/omrk6c37vGPaqtr1SExF" alt=""><figcaption></figcaption></figure>

Here you can change network, fund your connected wallet, see your native token balance in the chosen network, go to transaction history, and disconnect your wallet.

![](/files/X42rem6lgd2ngGbF8AxQ) - copy the connected wallet address and generate a QR code for adding funds:

<figure><img src="/files/5XxRi306Psve8UBQ50iF" alt=""><figcaption></figcaption></figure>

![](/files/nZHC0sIGEzFrwciOSvm4) - transaction history in the selected network:

<figure><img src="/files/nZwRiGsw8QaU3vCuiL2K" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
*After completing all your wallet-related activity in our interface, we recommend disconnecting the wallet by clicking on* ![](/files/OkBSCN7aI1DBbyCm8W4e)
{% endhint %}

#### 2. Transaction History

<figure><img src="/files/EhW5QaDCaKhWHSxp4qim" alt=""><figcaption></figcaption></figure>

Here you can see the status of your transactions, if your transaction has failed the icon will have red mark ![](/files/uvMp5Sv1AhHhRCf4DojH).

Transaction history can be viewed in the log. By clicking on Details, links to the network scanner where the transaction was made will appear, providing detailed on-chain information.

<figure><img src="/files/m7LFR5pbTOnetqz4zsFW" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
*Maximum transaction time: 30 minutes. If the maximum time is exceeded, please contact our support team in our official* [***Telegram***](https://t.me/CrossCurveMetaLayer) */* [***Discord***](https://discord.gg/crosscurve) *channel*
{% endhint %}

<figure><img src="/files/V9GphYicgzdQh3ANtda6" alt=""><figcaption></figcaption></figure>

#### 3. Slippage settings.

In the settings, you can specify slippage (by default, the parameter is set at 0.5%) Slippage is a change in price caused by external market movements and not related to the user's activity in the pool. Slippage highly depends on the liquidity volume inside the pool. If a token pool has low liquidity, significant rate changes within the pool require less market movement.

**CrossCurve** users can configure the maximum permissible slippage for cross-chain operation (details [here](https://docs.crosscurve.fi/user-documentation/swap-interface/slippage-settings)):

<figure><img src="/files/ku3smAKVyT4KSzM8pAGu" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/N9FyD5dwOyeetpyy1Zp8" alt=""><figcaption></figcaption></figure>

#### 4. Source and destination input.

Here you can change network and token.

<figure><img src="/files/MUaCDGPiMeNe5giwgeWe" alt=""><figcaption></figcaption></figure>

When you click on **source/destination** input, then **Chains/Token** menu opens:

<figure><img src="/files/OxXzsQLHnk2gEr62MCgO" alt=""><figcaption></figcaption></figure>

#### 5. Send to wallet

After clicking on ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAADdUlEQVR4AXxVTVYbRxD+qnsk2FlHEDfAJ4hZCuLIypbAQzdQToB8ApwDBDkBb5kgnq1kJd0A3wAdAe/8hHoqVdU9P0Ikpamf/rqquqp7Ru3wIhGowmtrE2riFP1JPUyoIUyICxhGyPNJN78Rzi+7N5X9e9dwHQvX+GXExR9g+UFVKUTrw3GB/J/J/nR2NXftbOR2sjPRkc1uRbuluD/zbdFmZ2ek9k42ms6u5/ls0tWUylavGtKXU+1D6yLgadg/Ohn1fzwZ949Ox++OVDc44eIz7r9VvPIZaayn9oXmAih2g0hO2u8w8G3QGy5v7q7e3N5djW8//zn+67Pq/+Dkc5t8XJGdgXk/l3jdp7oDyBbtokOMV3dfPt1nGc3J0Tk5d+5Mq52Yojbcq73pA6DrPc2nf19fSMEy1EfOIA3eMGEfSqSCY5tpUpHIm+3X0xYUXZhG2pnslI2dTZlgw0QumwziR/Ns+MTVYf7R5mhDSYrz1FdL2Q5ZDeWC8LV/eLzX7yU+Ot4LvH6tczGR7rCMbLEXbJmCLOUYndJ/YwFi7E+/XPN09onvZqLF9mg94P+IdZJUVNwcyWKCm5NofRgLqU1YdWQJWEhhCwYt8YwE+y1gtRfWfBCC8Lo4WK95qG9Unl92YgekUSIIj6GgX8P3p+GTsOrwfVXZRPxVPRu8LGj1wZO3N1DfIp+5ub6NXt7IdnvnlZO0UrCGsOqO93zvd1sPLWG/03rwu+1oyxhM79QzsvgDSxf0G3D6LUG6xHNqdPB8qh5bKhvyRg5SrBZaoCAMFlk+cYFyVGmLwka2ZhQq6hYOi5QZL/nHQ8Y21fmai1Gsrp7sZnA/BP/0eg0ahiYTDVer1bd4Bim/paqDE8obhRlojiZkQR770L7PwBNvjInY54Pe8cfBYPjo2CIawuIS2lRmm6h2xEa1SEmencHP8i8qZdik+Zplq2C79Beg5AqllED+1+Lfi2BxiwhyUGhQ8mwg5WI2Y0nNSh4GoPRxBf5AgmyLglw24r71lZadJV9Aomob2yRJAFq8PfzlQxlrHQwOh8t+72QvoBhywe+5KIRVRw6GqV28LypbxyUX5h+ID37qHR9AySohWAcwYgx6px/tSpQr03S6JgeN67O+Sk/latWrs+ZB72Rrq+OHZq3ZKpBdAKJIamsy4dgmqzrBKexfAAAA//8GE5/iAAAABklEQVQDAFrXx0kRrx+gAAAAAElFTkSuQmCC), you’ll see a field to enter the recipient’s wallet address if you want to send to another address.&#x20;

<figure><img src="/files/6qNaupqwrnjbNOcpV0Eb" alt=""><figcaption></figcaption></figure>

Enter the recipient’s address into the **Enter address or wallet domain** field:&#x20;

<figure><img src="/files/Pwrqfc7WlizWGPxS7MZC" alt=""><figcaption></figcaption></figure>

and click **Enter address**

<figure><img src="/files/wyT00h6wspJu2HZvF9sj" alt=""><figcaption></figcaption></figure>

The entered address will be selected as the transaction’s recipient in the **Recipient address** field.&#x20;

<figure><img src="/files/0kBRnEFW1bqPg35vg7l9" alt=""><figcaption></figcaption></figure>

In **Bookmarked wallets**, you can add an address from **Recent wallets** by clicking on <img src="/files/RuYlwfQHOhlPJmgW1Ofp" alt="" data-size="original">. To delete an address from favorites, click on <img src="/files/q36tANobVXDtr4U3veJ8" alt="" data-size="original">.

<figure><img src="/files/aBKBmbYxDwhb2Gagls5D" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/VsJwDdq71WTZ7f7WHb19" alt=""><figcaption></figcaption></figure>

<br>


# How to trade

For your convenience, you can use a single intuitive interface to do all cross-chain swaps and transfers.&#x20;

This is thanks to **CrossCurve** bringing together the optimal available routes from aggregators and bridges to give the user the best value, speed, and efficiency for each transfer.

<figure><img src="/files/N1FdFD0y2yOLL12kKNlY" alt=""><figcaption></figcaption></figure>

**Step 1.** To access **CrossCurve DEX**, go to <https://app.crosscurve.fi/>.

**Step 2.** Go to the **Trade** section.

**Step 3.** Connect your wallet by clicking the **Connect wallet** button in the top right corner.

<figure><img src="/files/iKg3oX9BZ5PeNGagijSF" alt=""><figcaption></figcaption></figure>

**Step 4.** In the **FROM** field, specify the token and the chain from which you are sending. This can be done in a special modal window that appears when you click on the chain or token icon.

<figure><img src="/files/biKlCK5HFAkZqx7b5cLH" alt=""><figcaption></figcaption></figure>

**Step 5.** In the **TO** field, specify the token and the receiving chain.

<figure><img src="/files/qgkY7gMudGgLi9zjHqZ3" alt=""><figcaption></figcaption></figure>

**Step 6.** Enter the amount you’d like to swap and click ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACVUlEQVR4AWRRwU5TURA9M6+QUKML6y9ABRaa6MK2xIVswaWf4BJK+gtsa6nGBaz6D7DWDfTFxIWuoO2yW6uJJMWk793xzH2lxjDpdGbO3Dlz3r2KOyYLpMgEIgB/+GeyqNWz5uVFbW+U7uyP+jv7w8L3GPfmdcxZe+/t19MyxGBkFRFoc/D5aVZKxh9Wa2fd1fpZt8q41jh7v1b/r+6yvvk9+bTyoPIKBsBIQlfJlleS2Z9Gc5h2moPz44PLi+MYr5gPLoqauWP37j/sCLB9MEjfgNIpAGpEREtkzcsOGuWBFpf4Kva5zo97xdTKZmH7YHRec0CJAKQySwYaQltza3t0DDQnAiJLPAo3LskyqxpxEoABgIRqEGmFRFtBtYWFWRzkP0wxDkDfPSnJAGJQ4bg3QwjDWbD2LM/bMypxh2nf+xQIBKSah+8Kq3JrVQJ2W1dfnqgP+zIVXVvi5iUqWPZINSJW9z7vG5bID6juwKQCSIV4JdesTDLAn4RC4O4bjV3PMTfH1EI5AJOoxnE/Qy8IblECxTATMvhmmR82SWpm9i2H8g60r4meTq9/8pP8AHyALoaCK46xI1GcP62EUE5EthMLdaqpz2bh0cmz11NVhAlP8jOEl1oMFLXFAPFAnOSOWKwBLfFOuFjfrb8cmsnYj8WmeEb3yAmOsgB5HACNHyY2ybIkZQHegaH7uHFIWW0+Vc9dcvQklx4X9IyRT9azgJ73wPrm+tfhx40XVC5OICA9XEl3fSs9Wm+knY2ttLPZiHn3NhL33tHmVnryfHdaKDP8BQAA//+55Eq+AAAABklEQVQDAKbFOz601YuPAAAAAElFTkSuQmCC) to select the full balance of the selected asset. The number of tokens you will receive in the **TO** field will be calculated automatically.

<figure><img src="/files/UsVu4meiiq0mFqwHTBnu" alt=""><figcaption></figcaption></figure>

**Step 7.** After entering the total swap amount, the **CrossCurve aggregator** will show you all the available routes in the Receive field, along with the amount you’re expected to receive, transaction duration, and gas costs.

![](/files/AQIrY0a0MGqnUr3u2qZL)

**Step 8.** Select your desired route based on transaction processing time and gas costs.

When selecting a route, the **CrossCurve aggregator** gives you small hints about the routes:\
\
![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAUCAYAAAD7s6+GAAAE2klEQVR4AaRUO2xcRRS9d956/RE8xwnio6zk8FEKCoNE42ILKgsCDc4WVqhIS7OFa/uJOkUEEgUCpAgFuXDtwg0pXFiiS5ECkGgWIgvkz/LxxrtvLufeN+/t7HqNImU09zPnfubOnXnPUTXYNPni/enj+7cW/rz34dWjr1cXn41uPkX8zcVD3eeb1cU/vlt95a97H135IXu3ZsVEzBXlEWXZppMvby0cz82+LKe91PXrlbNEAU+tlok1INZ1XZLhQkFQ7QnVB31+7u3G5avH9z9YyLLMFUYiJwhS4NPXH750XO+lpACweHK8UP0iIODnUpwDNAloAl5Ccjqdak3ZJoqFqwPR5os/zdeecF31grg8CJYMGpshWxAwysj5LMKMxmAfnzziH1stNgAJOtx+48d5XTp9D9bJkdCwgUWFIkzXkCEZZCxgIcxWMT5Bj6E4zGIDUx/pTafy+XvT7p1XF6ziYAtCXaBaBuhMLaxaaHNFXngZGI2czwD4q7RYVUBjOo7eQK62Y/cmrFCVK4VYVSM6uXJ5zvV6wysf5os1aTjmO+xAKgMlCbVp4hjGjptLi3PUYOa2J2+FGm41mkZl5WFFg0F/zk0lFN4ml3aaNMTLtni6BhmI1ko/drTM6Lr3ZF0uN5A8SZG0xcwrwBqMAMWgW4HoaMMLLSs+cjNwgCtClRMl/bxmH1OxpMKXy9X/SPMpsjnHO0T8FaPQpMZb7HiDMGBtuLrfI+I29A31s6Jq+W2EbxCGsLSThLeg6lOAGJ2Io7LakUKRgM6PAmXmZXa0hQ21mC0kaFGSpF5kF528gW6vIfG3iL/NwBHVwslT72WdRJrEsg67duMuEdtt4HbWEXeNiDrwhbh4FoUiq2YwN8tmWmABYEoVwIcAV0Gd3KU877KjfWbXxgF2mKllPnmeCrtdEenUaug2uoaCUse0r/ZRkpFlvBqWxVQUGlupGOMQTr+LzdYqQidJCxNGl/OOF0bnaLuIJpj8IxkkN5BnHSfrMD5CHGaLbAjspowxjnCObBIKNYij7nMUYMaKSaVBYdKPp5vnvC3iu0BWUBSEzZab8m2fyyN/lnwGpItYuxU8lQ50YnbLhMMKngrskycrzOTyqbMBnEk3CJjpYGEaGnQpXG0F3NNdEeo6J3vo1o7qFDyg74NWgO+h4IeENjgSLVg90GHBWxX9I9yRQW5/AfURKkfQIAa5nLnaP+m/yFFaz0mU08G164PHFZ4z4yOQJjrUlL5r4qPRj0p9UQjBRk3fd0v4oJp4Mku5p+qN+pxwSLFfXfx2sV+1CWo0fXoGhR7O/n5qq5KZNbibkOIchgengNsKOmaHklyvHpBox6gMYuBmBwoJezSl0IMoFhE3f7Dnfz06ca998qDHszPYBEjlFIcGPAhzic0GjDIzx/4X6SEsNgeoEjwz0+XswQBdJ5r/5fpJHe/ANjCXOHSIqslWwWy6MbWAAm4ixk0PNwO3idOCjBGaTzr6OZ3N/3z9hADY74k3Mz/3+K0DZ50lDMscro/gRhN0LnCYCJpFGKNicCFiPoTiP0yVGq4hAYTe8guPlw44y7x6WKHwIAUuffz90aXO4W/JlPytp1G8ouEuAZJCGi4oFUvTIXWKsgAEoUj5dk2PGfz1D6QFHieHB1qLy7TIwuk/AAAA//8Kk/McAAAABklEQVQDADVSBz6QjxJPAAAAAElFTkSuQmCC) - the route with the smallest transaction time

![](/files/xem2C5DPXzXWi2Jr5mc1) - the route with minimal gas costs

![](/files/pqsziF8GHaHsWQgrowFp) - the route with the best exchange rate

**Step 9.** If the aggregator returns the **No routes available** result, try to refresh, change the swap amount, select another token pair, or retry this swap at a later time.

<figure><img src="/files/nWjjtzxUJPaPbX7wMrZB" alt=""><figcaption></figcaption></figure>

**Step 10.** To receive the swapped asset to a different wallet, click![](/files/CJEt1ZeUTdvbSJy52r0M) and enter the destination address in the **Enter wallet address** field, then select your desired route in the **Receive** field.

<figure><img src="/files/0SFUYrSfAvxh5Kq2KPNe" alt=""><figcaption></figcaption></figure>

**Step 11.** Give the **CrossCurve** application **Approve** or **Permit** permission for the **CrossCurve** smart contracts to interact with the assets you are sending, as specified in the **FROM** field.

**Step 12.** Click the **Swap** button to execute the cross-chain operation.

{% hint style="warning" %}
*If the transaction has a high price impact, an additional window will appear before signing the transaction, where you will need to confirm the operation. This is to prevent accidental loss of user funds.*
{% endhint %}

**Step 13.** Sign the transaction in the wallet connected to the **app.crosscurve.fi** application.

<figure><img src="/files/BMr5itgeaYKvnQ9Bja9i" alt=""><figcaption></figcaption></figure>

After submitting a cross-chain transaction, you can track the progress of the cross-chain operation in the **Transaction history**:

<figure><img src="/files/Wzy3m2Ulk1d8XfJuMSBS" alt=""><figcaption></figcaption></figure>

Each cross-chain operation consists of multiple stages. In the **Transaction history** section, users can track the status of its execution and review its component transactions.

<figure><img src="/files/XG6AMIpg5g6JE9Gsnmhd" alt=""><figcaption></figcaption></figure>

If a cross-chain operation was interrupted for any reason, you will see an appropriate notification in the **Transaction history**. The interface will provide options for further actions.&#x20;

{% hint style="info" %}
*For more detailed information, you can refer to the* [***Operation Interruption***](https://docs.crosscurve.fi/user-documentation/swap-interface/operation-interruption) *section.*
{% endhint %}

<figure><img src="/files/Nk5nPuJJ0LTdVWaTvh0U" alt=""><figcaption></figcaption></figure>

#### Modal window for selecting chains and tokens

A modal window is used for selecting chains and tokens:

<figure><img src="/files/gWzxmoX2bigSNlvOZ7YJ" alt=""><figcaption></figcaption></figure>

In the **Select chain** menu on the right, select the desired chain. On the left side, you will see all of the tokens available to send / to receive on that chain.&#x20;

<figure><img src="/files/HKFFy0aO0pq4pClzfXXg" alt=""><figcaption></figcaption></figure>

You can use the search function to find a chain or token by its smart contract address.

<figure><img src="/files/OKHbeZsReElqMW2mWKVG" alt=""><figcaption></figcaption></figure>

If you select **All Chains**, search will sort the tokens available in your wallet to appear at the top of search results based on the balance amount. Below them, you will see the tokens supported by the **CrossCurve aggregator** in alphabetical order.&#x20;

<figure><img src="/files/SNQzYjOm1MdrpLlTVFEK" alt=""><figcaption></figcaption></figure>

The ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAHCAYAAAA4R3wZAAABLklEQVR4ARRQ3U0CQRicWWLEi/ZwdoAB8cEXrMC9CuQqIFYAdEAHhxXcUYH44gs/oQPoQF+AO8ne+N1uJpNvNvlmdhwJbCs/WlfJfl16barE4PeNvjr5yaZsZkOZ/Kwrn32fkhgg3Lb0YwkzBX1QSBWQhpqpaWiRc9VKEZTW0hTCoO2QwY6rwaHxvB8tJt2omNfUwQHx5uyHNTCg46+7QdGPipnEtCYGq6PvOEFxqPEFs6PYuGSkMjga23YqD0cOJOAxypc0phS7Fri8cngTCEDotvP7XrugscH4umDvLi9o79uzH5kR/hx27nLReyA66/PrflUmWVOAlTWGuZs2bGaLnW1K/ylyJnH6HBUH93S72NlHHwAsDGZK6wKxxW3Sg3YFNHsOIeilH+UTgPgHAAD//8QWzvoAAAAGSURBVAMAXYOm7UqQnGIAAAAASUVORK5CYII=) icon indicates to which chain the wallet is currently connected. To add the network into your favorites and have it displayed at the top of the list, click ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAALCAYAAABLcGxfAAABS0lEQVR4AUyR31HCQBDGf3vBGR/TgbED7QA6kA6OJxKBMVYAHYDjHzLjA6ECsQLHCqQD6EAefHA0sG4SFL+52W+z+923lzsnGA6BOPZR0u+8x33fpKrzS5RwWsYqUDcChqChaYfsoXvGFP8mKF1zF4cHFiZqVlPs47AU1x14n/T8OOn7Jxq8sWWtBdcmWsqOmdVf4oEfx5feg+CsOARSQSJgrjtaWTZfS0FbHc8giJJKwDhNfeh0S4sda1UNKZhkWb4GZWp8HDASCIFNYbrJZLZxpUDVNlnVHTE0+lufBSOFyIzOHx/yJQgOQ7nJcptCZGxX24koYfZ2ns2+X1aob6lKJTQ3ksSvpKGruGesnKASlWenbJqumpBe+dDyMzNsEmD/QBt4RbjA8PFFPRGoH05ARHMzaU1v89b0br7I7nOv35wqehPs2FBB+QEAAP//NZeSegAAAAZJREFUAwADx4MXo0oKCgAAAABJRU5ErkJggg==). Favorited chains will be marked as ![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAALCAYAAABLcGxfAAABKUlEQVR4AVSRzU3DQBCFv1nB3SWYDqCDpAPoYHNKLBnJqSAlJEhAInHAqQA6gA6ghHSAJW4o8fC8CyiM5+ftzL6ZsR0MSXKK0lkVy6qefFR1HJHy9htUheBDSI5cCCzACxiiPD44pXLIEzJmOoulGZEso9kwJWNyNyNMr2PU+GVVT57shDeOxA48VnV80Z2lVlUjJ1jPQuwG/FLDC2FRTCYNlMAIp7HAsmliETgwpmcHpof/Yvmo0O17xqvVtgvrTbtzHdRFpHzhz2ukcOd7Lh7u23dhwuA2ImF+RHDxh4rMrMt1YWki5KoVrkTG5PW0C+7lXLuTxEmftZnHQi99nnLwCly5s1WUGp9flLmR/fw4wMxag/H6th3seXPXRu1+puVuTns6kjjfAAAA//9teaS0AAAABklEQVQDADJUZhpJMOhzAAAAAElFTkSuQmCC).

For your convenience, you can Search by **name** of the **token’s ticker** or by its **smart-contract address**.

<figure><img src="/files/aji7wZdywcsmyDWuZqqi" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/7T6fEHq0QIlyaSCMJZym" alt=""><figcaption></figcaption></figure>

You can also search for your desired chain.

<figure><img src="/files/NQjkScIZsvOudKzbBcw3" alt=""><figcaption></figcaption></figure>

Hovering over any token will show a quick link <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAA9ElEQVR4ATRQy03DUBCcXYlDguiBEkAkdzqIXYJLoCLcQUwHcE0eNYQSInGwI2EPMy/K037ezI7HXmdAJ1QVUJZLezqMzauuhoBnAJIqQVUGoKbyKMoJU8LSBuQYqHMAkiKuU9BOjIoJyjEoQcBPqiiECXFK0dLCJ7/H5nScdixTy3JpaEUm3su443FqWJSH3+Yp+RdvMu1iQcclOr0FjOgpHAu7mNHd3cdPbh+GYbMa+pf1vt+q23KZ+bVZf4hz7vvnHM5JbUwAoe+BrN3gU++eAAEtcxtQUNjhDc/mCZiteyZsJdb/kuqY2eYKnxZBhKKq/wEAAP//vz1uHQAAAAZJREFUAwCXhG2ukfSaKgAAAABJRU5ErkJggg==" alt="" data-size="original"> for **adding that token to your wallet** and a **link** <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAA5klEQVR4AUxQyw3CMAy108K5bMAIMEo3AE4gPlI5UiH1QMuNSKAKOCDYoKt0A7pBObcNxnFBIsmzYsd5z3oqveyfp2tCp0tCR4tzPDoybC64JqUyQP2mU/WW0w2uLGbhY8VoDA0JoQBCTwGvYBK9AJA3yNLpbuA6mJmafFtQaKMEewHQaTxwHCerDfnBIsyJ3mNF9k0CwEEamMEYfz0P8x91y8SN+pz0RaJhhvk255IcRLzLTJIBgUgsmYELfxOAyOl75AWzsBCJrzT3gb5FHrAmM2HhVt1SPGGfWs9i8cytuyX/KT4AAAD//9alfCYAAAAGSURBVAMATdRyB9bx+LUAAAAASUVORK5CYII=" alt="" data-size="original"> to that token’s **smart-contract address** on the **scanner**.

<figure><img src="/files/GEwATs1bfY9vngXY7Kjh" alt=""><figcaption></figcaption></figure>


# Slippage settings

Slippage is the price change caused by external market movements and not related to the user's operation within the pool. Slippage strongly depends on the liquidity volume inside the pool. If a token pool has low liquidity, significant changes in the exchange rate within the pool require less market movement.

In the settings, you can specify slippage (by default, the parameter is set at 0.5%) Slippage is a change in price caused by external market movements and not related to the user's activity in the pool. Slippage highly depends on the liquidity volume inside the pool. If a token pool has low liquidity, significant rate changes within the pool require less market movement.

**CrossCurve** users can configure the maximum permissible slippage for cross-chain operation:

<figure><img src="/files/W8FFeeTWqTo9E6EOiKeU" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/jNMReYU1Kcer5hbzz8zG" alt="" width="563"><figcaption></figcaption></figure>

You can always see the exact total value in **Routing details → Total slippage**.

<figure><img src="/files/KmtAnHyEewwjqWaNfIa6" alt="" width="563"><figcaption></figcaption></figure>

When you set a slippage tolerance in the app, this value is treated as the **maximum slippage for the entire route**.

#### **Allocation rules**:

●     **Stable pools** always receive max / 10.

&#x20;      ○     Example: if max = 1%, each first stable pool in a chain gets 0.1%.

&#x20;      ○     Only the **first stable pool in each chain** applies slippage.

●     **Crypto pools** receive the remaining slippage.

&#x20;      ○     The remainder is evenly distributed across all chains that contain crypto pools.

&#x20;      ○     Only the **first crypto pool in each chain** applies slippage.

●     **Other swaps in the same chain** receive 0%.

●     Therefore, **total slippage ≤ your chosen max**.

Total Slippage is the total effective slippage applied across all networks where a swap occurs during a cross-chain transaction.

It is calculated as the sum of slippage percentages for each individual network involved in the transaction.

#### Slippage Allocation Examples (Max = 1%)

You can find the rules for distributing slippage in the table below:

<table><thead><tr><th width="311">Route (per chain)</th><th width="292">Allocation (per pool)</th><th>Total Slippage</th></tr></thead><tbody><tr><td><strong>Stable</strong></td><td>0.1%</td><td>0.1%</td></tr><tr><td><strong>Crypto</strong></td><td>1%</td><td>1%</td></tr><tr><td><strong>Stable</strong>, <strong>Stable</strong> (same chain)</td><td>0.1% → 0%</td><td>0.1%</td></tr><tr><td><strong>Stable</strong> → <strong>Stable</strong> (2 chains)</td><td>0.1% → 0.1%</td><td>0.2%</td></tr><tr><td><strong>Stable</strong> → <strong>Crypto</strong></td><td>0.1% → 0.9%</td><td>1%</td></tr><tr><td><strong>Stable</strong> → <strong>Stable</strong> → <strong>Crypto</strong> (3 chains)</td><td>0.1% → 0.1% → 0.8%</td><td>1%</td></tr><tr><td><strong>Crypto</strong> → <strong>Crypto</strong> → <strong>Crypto</strong> (3 chains)</td><td>0.33% → 0.33% → 0.33%</td><td>1%</td></tr><tr><td><strong>Crypto</strong> → <strong>Crypto</strong> → <strong>Stable</strong> (3 chains)</td><td>0.45% → 0.45% → 0.1%</td><td>1%</td></tr><tr><td><strong>Stable</strong> → <strong>Crypto</strong> (2nd chain)</td><td>0.1% → 0.9%</td><td>1%</td></tr><tr><td><strong>Stable</strong> → <strong>Crypto</strong> → <strong>Stable</strong> (3 chains)</td><td>0.1% → 0.8% → 0.1%</td><td>1%</td></tr></tbody></table>

***

{% hint style="success" %}
***Note:** Only the **first pool in each chain** receives slippage. Stable pools always = max/10; the rest is evenly split across crypto pools.*
{% endhint %}

{% hint style="warning" %}
***Change the slippage parameter only if you clearly understand why you are doing it.***
{% endhint %}

If you set the value too low, you will receive a warning and your transaction may fail due to low slippage:

<figure><img src="/files/Q2N4mVse28F8ps5VA7xG" alt="" width="563"><figcaption></figcaption></figure>

If you have set a value that is too high (e.g. 1%), which significantly exceeds the recommended value of 0.5%, the transaction may be executed at an unfavorable rate due to frontrun:

<figure><img src="/files/634F4zmaMqC6coHmNKrv" alt="" width="563"><figcaption></figcaption></figure>


# Routing

Routing provides a convenient graphical representation of a cross-chain transaction, showing all the transitions and fees involved step-by-step:

<figure><img src="/files/jnyP1s3PMvgQAU41pJvH" alt=""><figcaption></figcaption></figure>

**Routing Details Legend**

![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2FbaexobuOb4Oe6F3v8PwLSIl1R6rtVzMAZWgQ-4vbCOZoPy9CtbWpmfsewFXfjgtwR8TCBj-8sRW8-TAAelBRuAa9PWGd7gDC5UZG3p4uMqQ62UGNBzhaLm8q7-kiPAiq1ate45fu1Swa81Yf0IfGcjk\&width=40\&dpr=4\&quality=100\&sign=8e944c87\&sv=2) - Adding token to the pool

![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2F9AgUhm93u8d75REyhMbBaMYh4gXmmcKU1bxkfN-HuxmbUgnb-1aqbVokhUbS3yCsFKMQ2VeOlmC7DfeQaeai14-lzcErIJaeLUY6GEY2dzoUVlLVtf1EmU2lADyigtFzYfCItPIcICtr1_t3Uw6nY5s\&width=40\&dpr=4\&quality=100\&sign=ad4a7bae\&sv=2) - Removing token from the pool

![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2Fk86V5kWkc5sNBNXqqEyHA9cP_kt6kiz5CSab_bYuiA_OhaCYZrc9l8EWCG0jljQxqUuUDUAmiTM08dm099zJwfPPPN_PMGvzzf5DBgwIIzndHYgjivjtBIJFpERkrK0i7J8HqAbLrlaRnSV6OFUAcQM\&width=40\&dpr=4\&quality=100\&sign=ff563e50\&sv=2) - Burning of synthetic token

![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2F-MwHp0PCsW4PymBPrQo301I2ufKTVzDNrTWS5K573cDG_3snsOTiuPkgFXy2su-_TDrAmx3NzAnkmUWKByUunGw9DTv32Df4OvOOwL36qz64TgbwBlIL8tuAZhrUWAJNXEfrswN7DlWAGQNvhoWpY0k\&width=40\&dpr=4\&quality=100\&sign=6bda37fa\&sv=2) - Receiving asset from the pool (LP or token obtained in exchange)

![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2FYO_DI-nb9x5Sk1cxlgyPW8QmQFHavIlPQAuw-cImeKiMFtJuVEfbb6OuRt0v786BtSkOP1zIbier6DPCFcki4_3N7MOu0l-sn_nLDY4KO22_USALnGEH-0b2iM2OMSdBEPT2GIDG9n0Ja0SUzLxQp80\&width=40\&dpr=4\&quality=100\&sign=3e44a7e8\&sv=2) - Cross-network transition using lock/receive or burn/unlock mechanics

![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2FCiovThODq3uQUuITVy7VE4wawtLvShA2UhEFzkbIz9FLaODgz92xIy-kZUju9tsJ8_kpa7_OWJrbSm0dEYjjgOHQ7G8MbEIBJCy0BT4cD1WRXFiDjOvVXmOaTu67iEZ5waTcVCp2gpBifCcHPycxGD8\&width=40\&dpr=4\&quality=100\&sign=9dbdb41\&sv=2) - Token exchange within the pool

![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2FL5IBuUmLu_5Tjs2dq0cdSnDSv0Ke-012OVQpqHMaS1IQfsoOPT94q0NBjkdeKNdMwf-FRWLBgWrymJhdo_wIE51n6mcuGzsc5cuWbaQ2gAMT0eYP-IpyIV3-A3z_JEpWaCmydNWWwivEI8YBremqU08\&width=40\&dpr=4\&quality=100\&sign=16bf4b56\&sv=2) - Unwrap the native token

![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2FqhbFfWNu6v4pbfZZsQ5ROBus93TCH4UTx4M8GF6pio6KdMeG1uG3j4jJ2e5-70P8eHR8WGDPDxQDH00-Zm74ISzI3dCzmuoJqxgh8FVBlxv9_qOsqCOi2HSoU-Xjoj8pqWW3sXIAKPdnfvVPN3vfO3E\&width=40\&dpr=4\&quality=100\&sign=595ca7a\&sv=2)- Wrap the native token


# Operation Interruption

There are situations where a cross-chain operation may be interrupted:

1. **The operation is interrupted based on the Slippage condition.** If, during the transaction execution in one of the pools, the slippage exceeds the upper limit set by the user, the transaction will be interrupted, and the intermediate tokens will be credited to the user's address on the network where the interruption occurred.
2. **The operation is interrupted because the cross-chain call cannot be executed.** If the infrastructure facilitating cross-chain interaction fails to execute the cross-chain call, the operation will be interrupted.

The transaction interruption will be displayed as a message in the **Transaction history**, where the user will be provided with actions to handle the situation.

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/Cx0wWg0gvNrJTMxCPDF4" %}
[Slippage condition](/user-documentation/swap-interface/operation-interruption/slippage-condition)
{% endcontent-ref %}


# Slippage condition

The operation is interrupted based on the Slippage condition.

If an interruption occurs in one of the pools in the cross-chain transaction chain due to the slippage condition, the tokens that were input into the pool will be credited to the sender's account, and the user will be prompted to continue the operation.

{% hint style="info" %}
*If an operation is interrupted in the **Stable** swap pool system due to the slippage condition, the user's account will be credited with **s-tokens**. These tokens are backed by crypto assets locked in **Portal smart contracts** on supported **CLP networks**. Through **CrossCurve DEX**, you can exchange these **s-tokens** for stablecoins or any other asset available for swapping (full list* [*here*](https://docs.crosscurve.fi/developer-documentation/pools-asset-contracts/hubchain-pools-and-assets)*).*
{% endhint %}

Go to **Transaction History** and click **Details** next to the interrupted transaction.

<figure><img src="/files/rbT5wp9FdFHjqsYYDK1u" alt=""><figcaption></figcaption></figure>

To continue a transaction that failed due to a slippage error, click **Continue operation**.

<figure><img src="/files/6m2mKHnVHy9rto2gtrmp" alt=""><figcaption></figcaption></figure>

After clicking the **Continue operation** button, the application will switch to the **Continue operation mode**. The difference between the **Continue operation mode** and **Normal mode** is that in the **Continue operation mode**, the User will be sent native tokens (if the User’s wallet doesn’t have the chain’s native token for completing the transaction) to pay the gas fee for continuing the transaction in the chain where the interruption occurred.

After pressing the button, the user will be taken to the **Swap** interface with preselected assets:

<figure><img src="/files/z55LLPAIfJGcfm35FoGN" alt=""><figcaption></figcaption></figure>

In the top **FROM** field, the "intermediate" tokens that were credited to the user's wallet on the network where the operation was interrupted will be selected.

In the bottom **TO** field, the desired asset that the user initially wanted to receive but the operation was interrupted will be selected.

Sequence of actions in the **Continue operation mode** window:

* Review transaction details such as **Slippage** and exchange rate in the dropdown menu.
* Give permission for the application to interact with the asset
* Sign transaction.

{% hint style="warning" %}
*If a User changes values in the **Source** field, the application will switch to the standard **Swap** mode and no native asset will be transferred to the user's account to pay for the gas.*
{% endhint %}

**Total Slippage** is the total effective slippage applied across all networks where a swap occurred during a cross-chain transaction.

It is calculated as the sum of slippage percentages for each individual network involved in the transaction (details [here](https://docs.crosscurve.fi/user-documentation/swap-interface/slippage-settings)).

The user will have one free attempt to continue the transaction with new fees and [**Slippage** ](https://docs.crosscurve.fi/user-documentation/swap-interface/slippage-settings)conditions. **If for some reason you can not continue the operation, сontact support on** [**Telegram**](https://t.me/CrossCurveMetaLayer) **/** [**Discord**](https://discord.gg/crosscurve) **and our support team will help you.**

<br>


# Data transfer error

The operation is interrupted because the cross-chain call cannot be executed.

A cross-chain operation cannot be executed if the data transfer protocol that facilitates the interaction between smart contracts across blockchains is not functioning. For it to succeed, the transaction must pass validation via a [**Consensus bridge**](https://docs.crosscurve.fi/crosscurve-metalayer/what-is-crosscurve-metalayer/crosscurve-consensus-bridge) that includes several data transfer protocols (**CrossCurve Oracle network**, **Axelar**, **LayerZero**, **Router Protocol**, **Asterizm**, and **Chainlink CCIP**). The **CrossCurve DEX** application does not allow operations to be performed when the data transfer protocol is not working or the transaction failed in even one of the included data transfer protocols. However, theoretically, force majeure situations can occur when users initiate a cross-chain transaction simultaneously with the failure of the [**CDP protocol**](https://docs.crosscurve.fi/crosscurve-metalayer/what-is-crosscurve-metalayer/crosscurve-token-bridge). In this case, the atomic **lock/mint** and **burn/unlock** operations will be only partially completed. **CDP** is designed in such a way that, once it’s restored, it will first complete the unfinished cross-chain operations.

After the cross-chain operation is sent, **Transaction history** will reflect full information about the status of validation and the number of protocols that must validate the transaction:

<figure><img src="/files/Jai88fpcFM6FqQndSRAQ" alt=""><figcaption></figcaption></figure>

If in the process of validation, an error occurred, the attempt can be repeated by clicking **Retry bridge**.

<figure><img src="/files/G3GBBqfXgJmR9cPZGoxv" alt=""><figcaption></figcaption></figure>

If the cross-chain operation did not pass validation in one of the included protocols, the **Error verification** notification will appear. To cancel the execution of the cross-chain operation, use the emergency withdraw mechanism by clicking the **Confirm the withdrawal** button and confirming the transaction in your wallet:

<figure><img src="/files/n1WUm9wmoAgc10f1na06" alt=""><figcaption></figcaption></figure>

Sending the Withdraw transaction ensures that the cross-chain operation will not be continued, the user's funds will be unlocked, and the user will be able to access them.

<figure><img src="/files/UjamPKe8a7MswJc83ieF" alt=""><figcaption></figcaption></figure>

<br>


# Liquidity Interface

## Liquidity Section and its Functionality <a href="#liquidity-section-and-its-functionality" id="liquidity-section-and-its-functionality"></a>

To start working in the CrossCurve application, go to the[ Liquidity](https://app.crosscurve.fi/liquidity) section, in the top right corner click “[**Connect wallet**](https://docs.crosscurve.fi/user-documentation/swap-interface)”, select a suitable wallet from the list and confirm the connection, making sure that you are on the original page[ https://app.crosscurve.fi/liquidity](https://app.crosscurve.fi/liquidity).

1. After successfully connecting, in the **Choose pool** window, select the pool or asset you are interested in for working with liquidity.

<figure><img src="/files/tL3nlrZn4p67h55k9ihG" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/afBI9HCyUOiTcICWO9uF" alt=""><figcaption></figcaption></figure>

Once you have chosen the necessary asset, the interface will display the **TVL** in the selected pool, as well as a link to the original pool of the selected asset on [Curve.finance](https://curve.finance/), your **Wallet Balance** showing the amount of the asset, and the **Estimated APR** for Farming in the selected pool.

<figure><img src="/files/D3B8e3I8nmjzGqsVd5gk" alt=""><figcaption></figcaption></figure>

1. The next step is to select the operation to be performed with the asset ([**Deposit**](/user-documentation/liquidity-interface/liquidity-provision-use-cases/deposit) or [**Withdraw**](/user-documentation/liquidity-interface/liquidity-provision-use-cases/withdraw)) and the method of execution, [**Balanced**](https://docs.crosscurve.fi/user-documentation/liquidity-interface/via-curve-balanced) or [**Easy mode**](https://docs.crosscurve.fi/user-documentation/liquidity-interface/easy-mode).

<figure><img src="/files/X5sybo0243qv0cK5DySN" alt=""><figcaption></figcaption></figure>

For convenience, a quick link to add the token to the wallet via the contract address has been added for correct balance display. By clicking on the “**+**”, a request will pop up to add a custom token. After signing, it will be displayed in the wallet.

<figure><img src="/files/s4mLwcVhLUOfgHTMvKIg" alt=""><figcaption></figcaption></figure>


# Easy mode

In **Easy mode** the application allows you to unbalancely add ([**Deposit**](/user-documentation/liquidity-interface/liquidity-provision-use-cases/deposit/easy-mode-imbalanced)) or withdraw ([**Withdraw**](/user-documentation/liquidity-interface/liquidity-provision-use-cases/withdraw/easy-mode-imbalanced)) funds into the Curve liquidity pool with a single asset (assets that are part of the LP token or the LP tokens themselves), saving time by performing complex operations (without interacting with the Curve interface) in one click.

{% hint style="info" %}
*Note that this method is not always advantageous due to the architecture features of Curve.*
{% endhint %}

1. After selecting the necessary operation (**Deposit** or **Withdraw**) in **Easy mode** and clicking next (**Next**),

<figure><img src="/files/hwkqcy51aGOJzZdxoEO8" alt=""><figcaption></figcaption></figure>

choose the network (different networks available in the CrossCurve pools, depending on the pool selected. For our example, these are: Polygon, BNB Chain, Arbitrum, Optimism, Ethereum, Base, Avalanche, and Gnosis for the xSTABLE pool.) and the token you need.

<figure><img src="/files/mDF1HMgg3E3UfNTofwEU" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/3im9pLnH3f9hBRQUSaEq" alt=""><figcaption></figcaption></figure>

2. After entering the desired amount of tokens, the system will calculate the number of LP tokens received and the gas fee. By clicking **Routing details**, Routing will be displayed - this interface provides a convenient graphical representation of the cross-network transaction, showing all associated transitions and fees step by step.

<figure><img src="/files/pca9LQAcsvERTHmuNLMq" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/iK2wVS6G6bLrjvjbJ2gp" alt=""><figcaption></figcaption></figure>

3. **Slippage Settings**. In the settings, you can specify slippage (by default, the parameter is set at 0.5%)

<figure><img src="/files/Ho7cUia0npOhRzHai7M2" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/7SLMfUmuWznCfoxIQsjT" alt=""><figcaption></figcaption></figure>

4. The first transaction requires allowing the USD₮0 spending by clicking «**Approve USD₮0**» and signing the transaction in the wallet. To sign the transaction, you must hold the native token of the network in which the transaction is being made to pay for the gas.

<figure><img src="/files/fqBxJoa4aSwOSkdtyWJo" alt=""><figcaption></figcaption></figure>

5. After confirming the spending of USD₮0, a “**Swap**” button will appear. By pressing the "**Swap**" button, a request will be sent to the wallet to confirm the transaction

<figure><img src="/files/admokiKL6nxOZFSO83DC" alt=""><figcaption></figcaption></figure>

6. For convenience, a quick link to add the token to the wallet via the contract address has been added for correct balance display. By clicking on the “**+**”, a request will pop up to add a custom token. After signing, it will be displayed in the wallet.

<figure><img src="/files/KzktQImbQqXM3f8Z3xZr" alt=""><figcaption></figcaption></figure>

There is also a[ ](https://app.gitbook.com/o/-Mj16WVCJPmcHIm_q9RF/s/0OQdHmjMuUKQJlGRux2U/~/changes/47/user-documentation/liquidity-interface/via-curve-balanced)[Balanced](https://docs.crosscurve.fi/user-documentation/liquidity-interface/via-curve-balanced) method of adding liquidity to the pool – you can use multiple assets so that your operation brings the pool into a balanced state.

{% hint style="success" %}
[*This method* ](https://docs.crosscurve.fi/user-documentation/liquidity-provision/deposit/via-curve-balanced)*should be applied to avoid losses/earn profit in cases where you work with large amounts relative to the total TVL of the pool, or when the pool is close to perfect balance.*
{% endhint %}


# via Curve (Balanced)

In Balanced mode the application allows adding liquidity ([**Deposit**](/user-documentation/liquidity-interface/liquidity-provision-use-cases/deposit/via-curve-balanced/adding-liquidity-to-pools-on-sonic)) in s-tokens or withdrawing ([**Withdraw**](/user-documentation/liquidity-interface/liquidity-provision-use-cases/withdraw/via-curve-balanced)) funds from s-tokens to the original assets of the [EYWAUSDT](https://curve.finance/dex/arbitrum/pools/factory-twocrypto-57/deposit/),  [xCRV](https://curve.finance/dex/#/sonic/pools/factory-stable-ng-2/deposit), [xCRV2](https://curve.finance/#/sonic/pools/factory-stable-ng-106/deposit), [CRV/USD](https://curve.finance/#/sonic/pools/factory-twocrypto-29/deposit), [3UNIT0](https://curve.finance/#/arbitrum/pools/factory-tricrypto-38/deposit), [wFTMUSDC](https://curve.finance/dex/fantom/pools/factory-twocrypto-53/deposit/), [CrossCurve frxUSD](https://curve.finance/dex/sonic/pools/factory-stable-ng-25/deposit/), [CrossCurve frxETH](https://curve.finance/dex/sonic/pools/factory-stable-ng-26/deposit/), [xsStable](https://docs.crosscurve.fi/developer-documentation/pools-asset-contracts/hubchain-pools-and-assets#pools-sonicfraxtal-xsstable-z), [xeWETH](https://docs.crosscurve.fi/developer-documentation/pools-asset-contracts/hubchain-pools-and-assets#pools-sonicfraxtal-xeweth-z) and [xbBTC](https://docs.crosscurve.fi/developer-documentation/pools-asset-contracts/hubchain-pools-and-assets#pools-sonicfraxtal-xbbtc-z) pools,  CrossCurve liquidity pools with a single asset (assets that are part of the LP token or the LP tokens themselves), performing complex operations in one click.

{% hint style="info" %}
*However, it requires working with pools on Curve.*
{% endhint %}

### **Part I Adding Liquidity** <a href="#part-i-adding-liquidity" id="part-i-adding-liquidity"></a>

1. After successfully connecting, in the **Choose pool** window, select the pool or asset you are interested in for working with liquidity.

<figure><img src="/files/HOuMvKaQlG7B5r8KSEJz" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/E26JEqLcK45O9StX6cbQ" alt=""><figcaption></figcaption></figure>

2. Next, select the operation to deposit (**Deposit**) and the **Balanced** method of execution.

<figure><img src="/files/DJrENz6tLSH1wBiijxbH" alt=""><figcaption></figcaption></figure>

Proceeding further by pressing **Next**, a step-by-step mini-guide will appear:

* Check the liquidity pool on Curve to find the most profitable strategy
* Obtain the necessary s-tokens here on CrossCurve
* Deposit liquidity in a balanced way and earn additional income on Curve

<figure><img src="/files/CobjhNLia0vGPx2dk6Bd" alt=""><figcaption></figcaption></figure>

3. Follow the [step-by-step mini-guide](/user-documentation/liquidity-interface/liquidity-provision-use-cases/deposit/via-curve-balanced/adding-liquidity-to-pools-on-sonic).

### **Part II Withdrawing Liquidity** <a href="#part-ii-withdrawing-liquidity" id="part-ii-withdrawing-liquidity"></a>

1. After successfully connecting, in the **Choose pool** window, select the pool or asset you are interested in for working with liquidity.

<figure><img src="/files/Za1BUkP5YUye2BQzsMGB" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/YIb0UAEH5VbqtnmKQqiD" alt=""><figcaption></figcaption></figure>

2. Next, choose the withdrawal (**Withdraw**) operation and the **Balanced** option.

<figure><img src="/files/5mbfivDVRchtE27gSLin" alt=""><figcaption></figcaption></figure>

Proceeding further by clicking **Next**, a step-by-step mini-guide will appear:

* Check the liquidity pool on Curve to find the most profitable strategy
* Withdraw liquidity in a balanced manner and earn additional income on Curve
* Convert s-tokens into original assets in this window

<figure><img src="/files/Z0bymZUedvduNvYHNmU5" alt=""><figcaption></figcaption></figure>

3. Follow the [step-by-step mini-guide](/user-documentation/liquidity-interface/liquidity-provision-use-cases/curve-knowledge-database).


# Liquidity provision use cases

Liquidity provision on CrossCurve offers the chance to contribute to the market stability of cross-chain assets. By staking tokens in liquidity pools like [EYWAUSDT](https://curve.finance/dex/arbitrum/pools/factory-twocrypto-57/deposit/) or [CrossCurve frxUSD](https://curve.finance/dex/sonic/pools/factory-stable-ng-25/deposit/), **providers earn trading fees from swaps occurring within the pool**. This process not only provides a potential income stream through fees and rewards but also plays a crucial role in facilitating smooth cross-chain transactions.&#x20;

Savvy investors can leverage CrossCurve's advanced AMM algorithms to balance risk and return, optimizing their positions in a multi-token ecosystem. Always consider the associated risks and conduct due diligence before participating.&#x20;

👇 Learn how to deposit and withdraw liquidity from [**CrossCurve pools**](https://app.crosscurve.fi/farm) in the sections below. Use the sidebar for easy navigation between sections.

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/Fc8AHF9Mgh4j3UJUHe3t" %}
[Deposit](/user-documentation/liquidity-interface/liquidity-provision-use-cases/deposit)
{% endcontent-ref %}

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/Ru2DV2mESYt4DHWhvXGq" %}
[Withdraw](/user-documentation/liquidity-interface/liquidity-provision-use-cases/withdraw)
{% endcontent-ref %}

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/mSGgSAZOFf4cKYhfL1mO" %}
[Curve Knowledge Database](/user-documentation/liquidity-interface/liquidity-provision-use-cases/curve-knowledge-database)
{% endcontent-ref %}


# Deposit

👇 Choose the mode to deposit your funds

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/0bivyNlkpE2GgbOLWGfy" %}
[Easy mode (Imbalanced)](/user-documentation/liquidity-interface/liquidity-provision-use-cases/deposit/easy-mode-imbalanced)
{% endcontent-ref %}

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/RhGttRYcXqileop40dlY" %}
[via Curve (Balanced)](/user-documentation/liquidity-interface/liquidity-provision-use-cases/deposit/via-curve-balanced)
{% endcontent-ref %}


# Easy mode (Imbalanced)

## **Adding Liquidity** <a href="#adding-liquidity" id="adding-liquidity"></a>

Example of using **Easy mode** for adding liquidity of the **USD₮0** token into the **xSTABLE** LP token

To start working in the **CrossCurve** application, go to the[ **Liquidity**](https://app.crosscurve.fi/liquidity) section. After successfully connecting your wallet, in the **Choose pool** window, select the **xSTABLE** pool. This mode allows you to exchange a single stablecoin into the liquidity token without interacting with the liquidity pool interface on Curve.

<figure><img src="/files/RLUqqF63QnTFujfplfok" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/bzulfcydjtIyCghK5fJy" alt=""><figcaption></figcaption></figure>

1. Having selected the **Deposit** operation and **Easy mode**, proceed to the exchange modal window by pressing **Next**.

<figure><img src="/files/hI6yp5YkJNKJYXT57Meg" alt=""><figcaption></figcaption></figure>

2. Next, select the **USD₮0** token (or any other available asset participating in the **xSTABLE** pool) to add the liquidity and choose the preferred network of the received original asset.

<figure><img src="/files/EXFU6h8ZpV8FFL2LzeyJ" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/DCXgJzAUI3Kyub9AStG6" alt=""><figcaption></figcaption></figure>

3. After entering the desired amount of tokens, the system will calculate the number of LP tokens received and the gas fee. By clicking **Routing details**, Routing will be displayed - this interface provides a convenient graphical representation of the cross-network transaction, showing all associated transitions and fees step by step:

<figure><img src="/files/K5l9h0OBkk2LUfjOesrh" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/8Oi7FH5TzXkrMxkMJQB6" alt=""><figcaption></figcaption></figure>

4. The first transaction requires allowing the **USD₮0** spending by clicking «**Approve USD₮0**» and signing the transaction in the wallet. To sign the transaction, you must hold the native token of the network in which the transaction is being made to pay for the gas.

<figure><img src="/files/ydLpCtRkl48M5BpLDGZ4" alt=""><figcaption></figcaption></figure>

![](/files/3DaRZfhYjPBQSz0tmTfW)![](/files/U5YSjhzs4cm40VfH3xFW)

After confirming the spending of **USD₮0**, a “**Swap**” button will appear.

<figure><img src="/files/UB8liVC7ND3kLJ03wU17" alt=""><figcaption></figcaption></figure>

5. By pressing the "**Swap**" button, a request will be sent to the wallet to confirm the transaction of depositing the **USD₮0** token into the **xSTABLE** pool on Curve.

<figure><img src="/files/Lkh173onzU1rLRaxtDKw" alt=""><figcaption></figcaption></figure>

![](/files/nZEZAtTxvlQ7bnqlwwzk)

6. After signing the transaction, a notification about the sending, the ongoing exchange, and the estimated waiting time will be received. The status and progress will be displayed in the top right corner.

<figure><img src="/files/pcX4u7Y9UBMMxYs9j0fb" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/S1ZehwGxR8RvKGxiKS26" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
***If in Easy mode you see high losses, consider other assets for acquisition or use the*** [***Balanced mode***](/user-documentation/liquidity-interface/liquidity-provision-use-cases/deposit/via-curve-balanced/adding-liquidity-to-pools-on-sonic) ***of liquidity deposit***
{% endhint %}


# via Curve (Balanced)

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/VUr8KSfP5Vm4pq9u1Oy1" %}
[Adding liquidity to pools on Sonic](/user-documentation/liquidity-interface/liquidity-provision-use-cases/deposit/via-curve-balanced/adding-liquidity-to-pools-on-sonic)
{% endcontent-ref %}

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/4WyiIqS2vFEwqsXTLdMK" %}
[Adding liquidity to pools on Taiko](/user-documentation/liquidity-interface/liquidity-provision-use-cases/deposit/via-curve-balanced/adding-liquidity-to-pools-on-taiko)
{% endcontent-ref %}


# Adding liquidity to pools on Sonic

To provide liquidity to **Sonic** pools:

* Select the pool where you want to transfer liquidity, e.g., **xsArbitrum**.
* Determine the required token amounts.

{% hint style="success" %}
*For the **Arbitrum** example, you need 25% **frxUSD** and 25% **scUSD** to obtain 50% **xfrxUSD** and 50% **sUSDC\_arb** (percentages are based on the total liquidity you plan to transfer to the **xsArbitrum** pool).*
{% endhint %}

* Obtain the synthetic token for this direction, in this case, [**sUSDC\_arb**](https://docs.crosscurve.fi/user-documentation/migration-to-sonic/liquidity-transfer-from-fantom-to-sonic#obtaining-susdc_arb).
* For **USD** pools, acquire [**xfrxUSD** ](https://docs.crosscurve.fi/user-documentation/migration-to-sonic/liquidity-transfer-from-fantom-to-sonic#obtaining-xfrxusd-via-the-curve-app-interface)tokens. For example, deposit an equal amount of [**frxUSD** ](https://docs.crosscurve.fi/user-documentation/migration-to-sonic/liquidity-transfer-from-fantom-to-sonic#obtaining-frxusd-on-sonic-using-crosscurve-and-frax-bridge)and [**scUSD** ](https://docs.crosscurve.fi/user-documentation/migration-to-sonic/liquidity-transfer-from-fantom-to-sonic#obtaining-scusd-on-sonic-using-crosscurve-and-rings-app)into the [**CrossCurve frxUSD**](https://curve.finance/dex/sonic/pools/factory-stable-ng-25/deposit/) pool.
* Deposit the **universal token** and the **directional (synthetic) token** into the paired pool.

Let's examine each step:

### **1. Obtaining xfrxUSD via the Curve App interface** <a href="#obtaining-xfrxusd-via-the-curve-app-interface" id="obtaining-xfrxusd-via-the-curve-app-interface"></a>

To obtain the LP token **xfrxUSD**, you need to provide liquidity in the [**CrossCurve frxUSD**](https://curve.finance/dex/sonic/pools/factory-stable-ng-25/deposit/) pool:[ https://curve.finance/dex/sonic/pools/factory-stable-ng-25/deposit/](https://curve.finance/dex/sonic/pools/factory-stable-ng-25/deposit/).

Go to the [CrossCurve frxUSD](https://curve.finance/dex/sonic/pools/factory-stable-ng-25/deposit/) pool page and connect your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXe6ht4rrmW8xK3yPz9Y4PxLS6FqwZ37n5UssZ10dy-6mnFgb5keCya_hzkjrjzSJw5v4UKVjaJns-nRlxMMnuOUIR7VG3m7VccrGXONxxIQjpWasWYulwCMkrbkETjC-m5_N4jn4Q%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=22abc3bf&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Enter the desired deposit amount on the **Deposit** tab. To avoid losses due to slippage, it’s recommended to deposit funds in a balanced manner by clicking **Add all coins in a balanced proportion** (learn more [here](https://docs.crosscurve.fi/user-documentation/liquidity-interface/liquidity-provision-use-cases/curve-knowledge-database/balanced-liquidity-provision)).

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXeeNhAu413QMe_qfCGQ1h1cbzsWkQ920LD4OlwcIC6gaelWESm8EcwhmlhXuZNldE7Yiifri8Crm25XzVGLjkQxzPMPdVWORONvB93rtnsfsELQShFwWLSEKfDN2WuuwBRdeWWm%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=bd9b929f&#x26;sv=2" alt=""><figcaption></figcaption></figure>

In the first transaction, confirm the spending of funds by clicking **Approve Spending** and signing the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcNXdK498D0k7V7f6S2jgFHZ5-OTK-RTeNE4FS0AiyIiXhSilodJsWd_vaONeDdJ-3HKCPTa2_qnC0FX2C7L0LcArnqOQsibUeFtTTYwpU1gOzUhqulBHD40kTXXLtLQg8njGGk%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=d500f4a2&#x26;sv=2" alt=""><figcaption></figcaption></figure>

In the second transaction, deposit the funds by clicking **Deposit** and signing the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXclGastFVCL0waSV-QR3MgDKFOJJhgDaQ5_2XZvB5hub05iHlSQh-JEY_okE_MyzQYLCO6tS3MM9dtvLmGfBN8H1-XM7kuO_3S3UvId2OJ1ppb_caAAAI3kDcAbHshlMgdVo0n8%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=76004335&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After the transaction is successfully confirmed on-chain, your wallet will display the amount of received **xfrxUSD** LP tokens.

{% hint style="success" %}
*If your wallet doesn’t support automatic token addition, add it manually as a custom token with the contract address* [*0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84* ](https://sonicscan.org/address/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84)*on the **Sonic** network.*
{% endhint %}

### 2. Obtaining sUSDC\_arb <a href="#obtaining-susdc_arb" id="obtaining-susdc_arb"></a>

**sUSDC\_arb** tokens on the **Sonic** network can be swapped from any available asset in the **xsArbitrum** pool via the [CrossCurve](https://app.crosscurve.fi/liquidity?pool=0x440bcab62d629ba60ca56b80e565636e0c404e60\&type=curve\&action=deposit\&output=0xd3dce716f3ef535c5ff8d041c1a41c3bd89b97ae\&chainOut=146) app.

1. Navigate to the **Liquidity** tab in the **Yield** section. Select the **Balanced mode** and click **Next**.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXffDk6rg4AaXoz8HvlzivceIPadbY7jHzNa32_pMcQ5H8GgEiWXfvIbhR9K4a7PXH9JjUSF7CP7dlKyHfrRlz4mW_IRDaw2_IKsrsRWg2pxnVMB4RpP6bYOUcOQvpNVCwat6_lsjg%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=3e0878bb&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Enter the desired amount to swap, approve the spending by clicking **Approve**, and sign the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdDLd9iZCrP4PzVBw2bFxcDfJ592AapjZo-TU3T_CY29poxAVzadmEZgEaIvLd3o2PntKOzo1CSWSv9HN6pGdtuDv0YNGRtgpJUrR67hyIAGXHtLpVXn5oCuBgfnQoCkpCWvNP2MQ%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=fd18659b&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Click **Swap** to execute the exchange and confirm the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdcUv3qx0ti32qTm1yZWBGxk6lyLgppmIwkjGWw-5aSHX0P-WQxhBZvwHUygbocF9KpSx1RvHgxEvQqKF6ue0-tWpKOFE9OPeg4auJ0eAjDn8JMK0LQUwcnuasXE4fInzJ8IDA6og%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=7f682196&#x26;sv=2" alt=""><figcaption></figcaption></figure>

1. If you know the swap direction, the exchange can be performed in the **Trade** tab using **Advanced mode** ![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXeEHSW7_n2zwaRaWPyGdiU4PI4KhSY_L-gMrAypAXDf1zsRodyCxoLsSFkVvUAivaHGPTW1EDuAcMMayUIakzeiIQFtRykINux5WsFNAoslJ6h3Jw17wVRd1_aZTS0T75fb7F06NQ?key=WmrHq-SRelBtsHjypuiR4g) with any available asset.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXf2QklHIooACOMHHdfeAzT0KHolQnZy40kgWSXexjrh0Nvms2DIQfWb6-uuU36Snht93yDn54-1nJsKGS2jdSPCuXKuw3UWIQC7cS4unY2zQIzOsvI7pciLRVp8_F-k0mRgcJ_whw%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=6d7e3b0f&#x26;sv=2" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
***Note**: Some directions may experience high slippage!*
{% endhint %}

### 3. Adding liquidity to xsArbitrum pool via Curve <a href="#obtaining-lp-xsarbitrum-via-curve" id="obtaining-lp-xsarbitrum-via-curve"></a>

Navigate to the [CrossCurve Stable ARB](https://curve.finance/dex/sonic/pools/factory-stable-ng-73/deposit/) pool page:[ https://curve.finance/dex/sonic/pools/factory-stable-ng-73/deposit/](https://curve.finance/dex/sonic/pools/factory-stable-ng-73/deposit/) and connect your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcTvzq3Mgnecf7i4MmA_RHNpqRP1R0o9QnViy04jMmykH5GP5g49begK2kQz8G6vT-2vL5U-hRvmcgupnwlKrHNl8ACdH8j6cucDxST5DVhp4sFF02ep00xdL9r3P-L6_7tJ_uS_A%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=d7b8723e&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Enter the desired deposit amount in the **Deposit** tab. To avoid losses due to slippage, it’s recommended to deposit using the balanced method by clicking **Add all coins in a balanced proportion** (more details [here](https://docs.crosscurve.fi/user-documentation/liquidity-interface/liquidity-provision-use-cases/curve-knowledge-database/balanced-liquidity-provision)).

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdIk-LDxcgGHY7ysJA_LIJ9tk8neFCXuBYC2gPubI3gUEJRaNS_FqRPVdkZa3Y-NyDHJDWW5jMhwTpThSzOXApk_I0IcCzDCUhxQF-YGeB2vNxZ04dQWaCnZKGmETvH9hX6wZcy4g%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=ba8b1a37&#x26;sv=2" alt=""><figcaption></figcaption></figure>

In the first transaction, approve the spending by clicking **Approve Spending** and sign the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfKaypv2dgQLD1JdNTT9RCb-UQPO2BRujJoY8hu7YyWTeP_6kddjhng9svTZCNLVa1U149OHWzzMv2Vza7oYjrhwUYm8dH4bg_zBJQOh9MCov0ag6-XDKtsVJL-kKvfu5hbCpwoTQ%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=9e67e4e1&#x26;sv=2" alt=""><figcaption></figcaption></figure>

In the second transaction, deposit the funds by clicking **Deposit** and sign the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcfSj05LZ-S1x7K-OlcuV9Xz9cm6iQmMIutA2403PR6P7ER97OdSnnYnB1kxyA7lbz-C9nIesvUv3YyIxj621s_a_iCI4EQxSfJyqu2MBUjO18AVf1Nrq_FErZlLtbRrhWrqy515A%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=3a11f111&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After the transaction is confirmed on-chain, the amount of received **xsArbitrum** LP tokens will appear in your wallet and in the **Your Details** tab.

<figure><img src="/files/0zwnBe1MGxH42wFYoCyd" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
*If your wallet doesn’t automatically add the token, manually add it as a custom token using the contract address* [*0x440bcab62d629ba60ca56b80e565636e0c404e60*](https://sonicscan.org/address/0x440bcab62d629ba60ca56b80e565636e0c404e60) *on the **Sonic** network.*
{% endhint %}


# Adding liquidity to pools on Taiko

To provide liquidity in the [**CrossCurve Stable**](https://www.curve.finance/dex/taiko/pools/factory-stable-ng-5/deposit/) or [**CrossCurve WETH**](https://www.curve.finance/dex/taiko/pools/factory-stable-ng-6/deposit/) pool on the **Taiko** network, you need to obtain [**xsoTaiko**](https://taikoscan.io/address/0xa17aa5ee656849221c8d9d062894e1145cbda864) or [**xeoTaiko**](https://taikoscan.io/address/0xe16ab7fb5d2c7c1b69f7ce58d390b78ab59e44ae) LP tokens. These LP tokens consist of two assets: the [**USDC**](https://taikoscan.io/token/0x07d83526730c7438048d55a4fc0b850e2aab6f0b) stablecoin and the [**sxfrxUSD\_s**](https://taikoscan.io/token/0xb1712abdaf3f2959c0d5063e827ddb8183145f11) synthetic derivative, or [**WETH**](https://taikoscan.io/token/0xa51894664a773981c6c112c43ce576f315d5b1b6) and [**sxfrxETH\_s**](https://taikoscan.io/token/0xa494f19b34f6aa77ce6d968c752b6321d7b069b3), respectively.

Since the **CrossCurve Stable** and **CrossCurve WETH** pools have migrated from the **Sonic** network to the **Taiko** network, you need to acquire the assets on the new network in order to receive the LP tokens.&#x20;

{% hint style="info" %}
*You must hold **ETH** on the **Taiko** network in your wallet to pay the gas fees.*
{% endhint %}

## Swapping assets from Sonic to Taiko

{% hint style="info" %}
*If you previously participated in the* [**CrossCurve Stable TAI**](https://curve.finance/dex/sonic/pools/factory-stable-ng-78/deposit/) *or* [**CrossCurve WETH TAI**](https://curve.finance/dex/sonic/pools/factory-stable-ng-99/deposit/) *pools on the **Sonic** network, you need to perform a number of steps to obtain the new assets on the **Taiko** network:*
{% endhint %}

### xsTaiko → xsoTaiko

If you hold [**xsTaiko**](https://sonicscan.org/address/0xedcf9ef9b389a8f52e81958d8212faf6fbd758ae) LP tokens on the **Sonic** network, you need to go to the pool page: <https://www.curve.finance/dex/sonic/pools/factory-stable-ng-78/withdraw/> and perform a **Withdraw** of the LP tokens, receiving [**xfrxUSD**](https://sonicscan.org/token/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84) and [**s2Pool\_t**](https://sonicscan.org/token/0x54f0055f387e7dcbfa060eaed81ea8bf1f6c808f) for the [**CrossCurve Stable TAI**](https://curve.finance/dex/sonic/pools/factory-stable-ng-78/deposit/) pool.&#x20;

{% hint style="success" %}
*We recommend performing the **Withdraw** in **Balanced mode** to reduce loss risk due to slippage.*<br>
{% endhint %}

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdBIuEW7F7PHOwt3lxQJhyQvQHnyMSn9KWIebcNR4HzlirLJjscsHo4N-wptVy1MJtga0ULWIrmZFtokQ5pm3ewwzDSJbCZ37atwXYJ0JsZr7XEkuLGMG94bltIKtrMQU8Pbwu0Kg?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

The **xfrxUSD** and **s2Pool\_t** tokens from the **xsTaiko** pool on the **Sonic** network can be exchanged for **USDC** and **sxfrxUSD\_s** on the **Taiko** network, respectively:

Go to the **Liquidity** tab in the **Yield** section on the **xsTaiko** pool page:\
<https://app.crosscurve.fi/liquidity?pool=0xedcf9ef9b389a8f52e81958d8212faf6fbd758ae&type=curve&action=withdraw&input=0x54f0055f387e7dcbfa060eaed81ea8bf1f6c808f&output=0x07d83526730c7438048d55a4fc0b850e2aab6f0b&chainIn=146&chainOut=167000>&#x20;

Select the **Withdraw** action in **Balanced mode** and click **Next**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdbVTdKV4YdHhX432EkYgOyxL--DSkz_aDQ-5iRe0fHZozuyLB7Wai7oFNdzLwyFENuww2zL49KfWg_d16AwKt_Fqi9tqKwWFS9yHPra7CKHK2KjG019bMibcDholHIam-9FhomRQ?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

Enter the amount of **s2Pool\_t** tokens and perform the **Swap** to **USDC**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf807QTWCQuFIyVjdI-gktEckkjQJ3AhVy43mTaVLE9i-xt_zA5cJsAjsDqYIhraH88gLe_4Er_Ztvh2CEkCqIur5zI0zqms3wnSBsDJrxRBfg4NxhXqHcQ2hFMADYn3ZRXUDzn5Q?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

Go to the **Liquidity** tab in the **Yield** section on the **xsoTaiko** pool page:\
<https://app.crosscurve.fi/liquidity?pool=0xa17aa5ee656849221c8d9d062894e1145cbda864&type=curve&action=deposit&input=0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84&output=0xb1712abdaf3f2959c0d5063e827ddb8183145f11&chainIn=146&chainOut=167000>

Select the **Deposit** action in **Balanced mode** and click **Next**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdG_qMmOob1ldEOkdx-GIFy1IDjVeV4zikEOVgdxbCvKoKhXuLvaAmitVTOTdrioSW1bynNQR_G8wjOhzgAd-uqZIHnGbQWi0LLf2byZZpzfgGrOLNFkP9c3n0rdO7Ei08tbIrPIw?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

Enter the amount of **xfrxUSD** tokens and perform the **Swap** to **sxfrxUSD\_s**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd2jmjUWtM1U0KEV8zwgWJaDP7VQZl7gTwOPQj1CRF36MH2pDlncnEHVPOw4RoRB0LU5fFRrOcI2Cn7gA6ZUBxjuAP2vGU2mirCxa-4n4jGGXMISkck7fb8N8JC2SphrGSRnvS1Cg?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

### xeTaiko → xeoTaiko

If you hold [**xeTaiko**](https://sonicscan.org/address/0x6d9f0ff2b7f1397ee731f6370d8e4699ffad7bc5) LP tokens on the **Sonic** network, you need to go to the pool page:\
[https://www.curve.finance/dex/sonic/pools/factory-stable-ng-99/withdraw/<br>](https://www.curve.finance/dex/sonic/pools/factory-stable-ng-99/withdraw/)and perform a **Withdraw** of the LP tokens to receive [**xfrxETH**](https://sonicscan.org/token/0x346704605c72d9f5f9f02d651e5a3dcce6964f3d) and [**sWETH\_t**](https://sonicscan.org/token/0x8af98914c95a3ec6e790d79e9ef9072e307fc086) for the [**CrossCurve WETH TAI**](https://curve.finance/dex/sonic/pools/factory-stable-ng-99/deposit/) pool.&#x20;

{% hint style="success" %}
*We recommend using the **Balanced mode** when withdrawing to minimize losses due to slippage.*
{% endhint %}

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeTx0f14pTsq6dignH83xPMXtHA98JWSowGwiQCstAqi44kc93lBCdSgznmlGaiKdQjQXG0AuJlEmbgcbwS25AeKDfa47IWq55tbtwBtfB1Qp634ckL3EWBDmH31IqiGsKQkKXl?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

**xfrxETH** and **sWETH\_t** tokens from the **xeTaiko** pool on the **Sonic** network can be exchanged for **sxfrxETH\_s** and **WETH** on the **Taiko** network respectively:\
\
Go to the **Liquidity** tab in the **Yield** section on the **xeTaiko** pool page:\
[https://app.crosscurve.fi/liquidity?pool=0x6d9f0ff2b7f1397ee731f6370d8e4699ffad7bc5\&type=curve\&action=withdraw\&input=0x8af98914c95a3ec6e790d79e9ef9072e307fc086\&output=0xa51894664a773981c6c112c43ce576f315d5b1b6\&chainIn=146\&chainOut=167000\ <br>](https://app.crosscurve.fi/liquidity?pool=0x6d9f0ff2b7f1397ee731f6370d8e4699ffad7bc5\&type=curve\&action=withdraw\&input=0x8af98914c95a3ec6e790d79e9ef9072e307fc086\&output=0xa51894664a773981c6c112c43ce576f315d5b1b6\&chainIn=146\&chainOut=167000)Select the **Withdraw** action in **Balanced mode** and click **Next**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXecKdlVI0SF0ys75Asowr-5Kzl2YqT2Hlk55jWKEfm7_Rht_PLbaz-9wY4D5AS6MnPlCenPlTdwg4N3kHRsnC2dhEV8aY8sGYinlXA1N_t5jNvaQn7h6Q6AoByE3fKj6jIW2RONGA?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

Enter the amount of **sWETH\_t** tokens and perform the swap to **WETH**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcLzED4hhVvodCLODnXoWFpUItnrYF7e0kq-bXAdeL0y5PQXkG0pEPWYKxAboa3DaN2YPnaVO-ijKWd_vPBNak7OEDfKq9popxiF2zIzpdLUQJYJXaYx4Ey3qB6gG4VpHG7SIRe_A?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

Go to the **Liquidity** tab in the **Yield** section on the **xeoTaiko** pool page:\
[https://app.crosscurve.fi/liquidity?pool=0xe16ab7fb5d2c7c1b69f7ce58d390b78ab59e44ae\&type=curve\&action=deposit\&input=0x346704605c72d9f5f9f02d651e5a3dcce6964f3d\&output=0xa494f19b34f6aa77ce6d968c752b6321d7b069b3\&chainIn=146\&chainOut=167000\ <br>](https://app.crosscurve.fi/liquidity?pool=0xe16ab7fb5d2c7c1b69f7ce58d390b78ab59e44ae\&type=curve\&action=deposit\&input=0x346704605c72d9f5f9f02d651e5a3dcce6964f3d\&output=0xa494f19b34f6aa77ce6d968c752b6321d7b069b3\&chainIn=146\&chainOut=167000)Select the **Deposit** action in **Balanced mode** and click **Next**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXewkscZyebH3apMu2cYB3q-U42E5kIvDwKoKiuvYs30owcjWe-fQYuMVmGa8sDVJDYMrPgeZqneZ3puc6FkZC-Y0_maV2OLdkVnSm_DPlVRKEmboF3SM5R-Zv9F0EbeG7au0Ijr?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

Enter the amount of **xfrxETH** tokens and perform the swap to **sxfrxETH\_s**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdElyWjh_DP_KvZ-t263LlqLnntGiNCLaoL0cpp1tjPZ23dZDIk0dFQH_Zq6t5kin_ysPxzSMhDa6_1GHhc0G0RR2hAW8ArxUTvsvny9NaAFgNO87O5IldzNPPER7MiN7vstDOprQ?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

## Obtaining sxfrxUSD\_s

**sxfrxUSD\_s** tokens on the **Taiko** network can be obtained by exchanging them for assets available in the **xsoTaiko** pool in the **CrossCurve** application.<br>

1\. Go to the **Liquidity** tab in the **Yield** section. Select the **Deposit** action in **Balanced mode**, then click **Next**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdG_qMmOob1ldEOkdx-GIFy1IDjVeV4zikEOVgdxbCvKoKhXuLvaAmitVTOTdrioSW1bynNQR_G8wjOhzgAd-uqZIHnGbQWi0LLf2byZZpzfgGrOLNFkP9c3n0rdO7Ei08tbIrPIw?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

Choose the desired asset and enter the amount you want to exchange, then confirm the spend by clicking **Approve**, and sign the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdaJldxPrlaf0LbZYK0FtHbtoLJdqZbY1SmcmgEmYv4BeANHS1tRLWK-fEU1CkZ8VvvJ8qTNJzp6Kggej5mYuvKh-XV-2mmGG6uNbo478VJdTJjRBEQERSoqmcuVKcgBt0qHJKQ?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdOEg92Ac5mwwg85qz6-gaDd6zSKptTlCOBqSTo88lTLyQ84sLxrM_IqCefT8TkJvwQpWX98l7fR_xIYcm9Hgez0FQ2M96MjktsdZlAI7Pj9hz_gzFKCqyV-d1siLSfG2sk35EvFg?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

Click **Swap** to exchange and confirm the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXftkV-Ez2IqO7PSNoh0WV5YUuHpmg1IzVdI7nPw_dzJIjTptlDmWHmp0Hvoz1Q2NTjI4R9IUh2gBePBR60o2CY8weEx8qhhJH9tnROE9fh7MChc2hBMlZPtMuV-xVz1BD2SKVyF3w?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

2\. If you know the exchange direction, you can perform the swap in the [**Trade**](https://app.crosscurve.fi/swap?inputChainId=21\&inputToken=0x0000000000000000000000000000000000000000\&outputChainId=43\&outputToken=0xb1712abdaf3f2959c0d5063e827ddb8183145f11) tab for any available asset using the **Advanced mode** ![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXdv_PBU3Y7cLyoocxe_KGdFgiU9gyQndAjmCdpPcLrCKsNbhcrF5dfdO_lSr70jXXU3QXrjrtWnnDO-vDR3CBTD-nJO08z7AP2aaOH-oOIQZPl4pNhi0jM6AvmulS3YXZoyJLbTeQ?key=47YpOasj2BwjQWQ8qBAPNw).&#x20;

{% hint style="warning" %}
***Note**: in some directions, high slippage may occur!*
{% endhint %}

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXehhKDyLa2-2e23HnAY5sO2PKoUF-ENY1p_tOSKbAH-CidZojLl-Uhui_vVzaAjh0JeSr6mgeWxzroehzJ9tpPRDCcBfjwEqvn74KbU83HBV3YhvBdIJJReQfL0lnZAAjiMaredcw?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

## Obtaining sxfrxETH\_s

**sxfrxETH\_s** tokens on the **Taiko** network can be swapped into from any available asset in the **xeoTaiko** pool in the **CrossCurve** application.

\
1\. Go to the **Liquidity** tab in the **Yield** section. Select the **Deposit** action in **Balanced mode**, then click **Next**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXewkscZyebH3apMu2cYB3q-U42E5kIvDwKoKiuvYs30owcjWe-fQYuMVmGa8sDVJDYMrPgeZqneZ3puc6FkZC-Y0_maV2OLdkVnSm_DPlVRKEmboF3SM5R-Zv9F0EbeG7au0Ijr?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

Choose the desired asset and enter the amount you want to exchange, then confirm the spend by clicking **Approve**, and sign the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe0CQcGffml4Nj6XSACnwtJ2nLjDISMeE1bALGQFTojm2awLSugHtxdeOkQx3E27D3ovnF7y5d7aekkSUnMIU9bgrocq2DSc0fnyheD26q789qQPXZsrCecuKqzGnu-n2Zoty6aNg?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc5M_ojL0zPTUCyWlqHruOf1DpyabbN1KibXQ_jSHmKXD-76iJxD5NtziUXYrFLbVwVuWbk5wN6Sc0-7R-YLGKg7Xg5Rj3Ls91xnRLBOEfzXBXnSc8NwSvOuu6msaw2W02rp9CIhA?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

Click **Swap** to exchange and confirm the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcv9tsw8tBVVrm1cfV5ehrh1KVLmSJaQwcrkF4NJHVjjt8rGEsp6yi4kxmx1lNWF8u3PVCm89e0VhH58auNnuLLfTTujCPRa31t4ZoSNUt_ZBf7VftKLXI78peGrJuG2w2NPWCW?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

1\. If you know the exchange direction, you can perform the swap in the [**Trade**](https://app.crosscurve.fi/swap?inputChainId=21\&inputToken=0x0000000000000000000000000000000000000000\&outputChainId=43\&outputToken=0xb1712abdaf3f2959c0d5063e827ddb8183145f11) tab for any available asset using the **Advanced mode** ![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXdv_PBU3Y7cLyoocxe_KGdFgiU9gyQndAjmCdpPcLrCKsNbhcrF5dfdO_lSr70jXXU3QXrjrtWnnDO-vDR3CBTD-nJO08z7AP2aaOH-oOIQZPl4pNhi0jM6AvmulS3YXZoyJLbTeQ?key=47YpOasj2BwjQWQ8qBAPNw).&#x20;

{% hint style="warning" %}
***Attention:** in some directions, high slippage may occur!*
{% endhint %}

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeEETKkguGXI-qqzBishV9FRkfMT3MpxOE5kE8k4JbpWlOZ3BuSRnBabZ7Fa7kN3ImQYhr9YpMWtXUU98b9zDgYDEoay0rmMCZvh4to1dY1bqy_GI0TJoWmlxibbnVNqgsAhYQOig?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

## Adding liquidity to xsoTaiko pool via Curve

Go to the [**CrossCurve Stable**](https://www.curve.finance/dex/taiko/pools/factory-stable-ng-5/deposit/) pool page[ https://www.curve.finance/dex/taiko/pools/factory-stable-ng-5/deposit/](https://www.curve.finance/dex/taiko/pools/factory-stable-ng-5/deposit/) and connect your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdIWl33tHZuVeAp6flbIQkVecF66u1nQD94kDLa8gnfpHnfqwWqRHTIilAThh-1fqleD6QGISlqC36duifwVJoy8gtvRxo-eeHVewizJc09dZHETArF0eUbcie9xGb0s098EzEd6Q?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

Enter the desired deposit amount in the **Deposit** tab. To avoid losses due to slippage, it is recommended to deposit funds using the balanced method by clicking **Add all coins in a balanced proportion** (more details [here](https://docs.crosscurve.fi/user-documentation/liquidity-interface/liquidity-provision-use-cases/curve-knowledge-database/balanced-liquidity-provision)).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdZoDzEosQe3MOGqx4GpwU1UFGTqNo7CBM9GSPktPPq_TR-QWO176IxOErQlzF_rrwQpV339F-NqHaRWXI4oe6MbsMdE05ehWk_o4rcAx_mfusq-7MJxU7A1p6mSHB9N3RAHgosQw?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

With the first transaction, confirm the spend by clicking **Approve Spending** and signing the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdQGW4r4ykxOxarzbJOW3pYpvw_30U70vjVx1GE0g5P29ZD3aXLjIBPjQLRiY5QlLxZmfcFEwD7yTeMI6T0w94Ym9d24QylSGLDPCcsyKQu6TzaMfaQSQJJ0OtEAbPvfW44szIBDA?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

With the second transaction, deposit the funds by clicking **Deposit** and signing the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXftQXvZFWBBJ5UR8kZBl17i8sutca7S7zMrW7v_aq6z0X8YPGT6k1ZmVWg_DKPbuKVyi_szwoqYZLuqZEJfL1al3bpJdb6YrIR045-dq91y-pWZKgcQKi9inLTujbm4vlE_A_PW1A?key=47YpOasj2BwjQWQ8qBAPNw" alt=""><figcaption></figcaption></figure>

After successfully confirming the transaction on-chain, the amount of received **xsoTaiko** LP tokens will be reflected in your wallet and in the **Your Details** tab.&#x20;

<figure><img src="/files/vxbFZitA8hx3fclYYtTo" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
*If your wallet does not support automatic token addition, add it manually as a custom token using the contract address* [*0xA17aa5eE656849221C8d9d062894e1145CbdA864*](https://taikoscan.io/address/0xa17aa5ee656849221c8d9d062894e1145cbda864) *on the **Taiko** network.*<br>
{% endhint %}


# Withdraw

👇 Choose the mode to withdraw your funds

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/XR9aZeBEm7s9MgeX4Sc2" %}
[Easy mode (Imbalanced)](/user-documentation/liquidity-interface/liquidity-provision-use-cases/withdraw/easy-mode-imbalanced)
{% endcontent-ref %}

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/9FBR4enaMjE82m4HzLts" %}
[via Curve (Balanced)](/user-documentation/liquidity-interface/liquidity-provision-use-cases/withdraw/via-curve-balanced)
{% endcontent-ref %}


# Easy mode (Imbalanced)

## Withdrawing **Liquidity** <a href="#withdrawing-liquidity" id="withdrawing-liquidity"></a>

Example of using **Easy mode** for withdrawing liquidity of the EUSD LP token into the USDT stablecoin

To start working in the **CrossCurve** application, go to the[ **Liquidity**](https://app.crosscurve.fi/liquidity) section. After successfully connecting your wallet, in the **Choose pool** window, select the **EUSD** pool. This mode allows you to exchange the liquidity token into a single stablecoin without interacting with the liquidity pool interface on **Curve**.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2FghPHr8no1Y-qbyWI5ClEU5i0JBw2-sMRBjEts1euUxij9dW6VpxTmIIHI4IeQc6xvgB70kngJibIa4cOqbi0cFUUY3_U1U0jF31XggXxf7o4goo73BhDh7SvodzgnDJVCXYzrQCG9JmAxXRDFrjtihQ&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=6b7d376b&#x26;sv=2" alt=""><figcaption></figcaption></figure>

1. Having selected the **Withdraw** operation and **Easy mode**, proceed to the exchange modal window by pressing **Next**.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2F61-qDP9cnkvU7r_4N2fgohX8NT358aP8DFByg6ebUuI-MA2sA7mFuE7ecwPj0av66_8geSot26JNEOYcY-PW45RGBzBnODdLW5pj0nbpI_ySIY3GQUyud72eR6_apeYIC7QGBdujAKFlkri0m_TlkHs&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=7cbceb75&#x26;sv=2" alt=""><figcaption></figcaption></figure>

2. Next, select the **USDT** stablecoin (or any other available asset participating in the **EUSD** pool) to withdraw liquidity and choose the preferred network of the received original asset.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2Ft0pvHWwBXMi7UGcbYb9qKqX_igkJlk43sQonY2JENZKyPAJS5_gQyqOJ7xs5jZhN6PUdtA8jOQZWp8ix_Wh2wknI2-dvS2i57S7n8Uutcr3tJSIkyRjuqN-jW8akDNnygRKEHGsMgN4T9GLDOAeH-wc&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=1c77eac6&#x26;sv=2" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/oU6DZfQVl4QXuwZ73CHY" alt=""><figcaption></figcaption></figure>

3. After entering the amount of tokens to be withdrawn, the system will calculate the number of LP tokens received and the gas fee. By pressing **Routing details**, the Routing will be displayed.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2Fyj0BUNT33XQjjEdgtFf6A_BVAXr0TN-bsLL-ea-Qrj7g8V_auAHqfiT7TaOZJtDLXyB1h2uxTtDvYawzDbmzYgCvE9APfkNsHXP0-G05JIhKR2-Fiz9jiIApho8tfPdwj6WWaXU74lyj5OoQWfOgyOI&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=6d9544de&#x26;sv=2" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/TRTFOsl4xppeiAraBAw1" alt=""><figcaption></figcaption></figure>

4. The first transaction requires allowing the spending of **EUSD** by pressing “**Approve EUSD**” and signing the transaction in the wallet. For signing the transaction, you must hold the native token of the network in which the transaction is being conducted to pay for the gas.&#x20;

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2FB9Xm0EkWE0i534g-GtUu_9bqB1hbGRo34UZTRMexvfI84Lyd3Hr4fd2Fn3UU1oIRc0jituD1raUnDOXPE_8KbHJj033tQ43y-lHvvWH_SDW6Adxb96dlgRHjZBpkDOQP_R70fKJyLq2eIlcKOVcZgJE&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=ef1faa7a&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After confirming the spending of **EUSD**, a “**Swap**” button will appear.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2FzYsNMDu5dP4nipDD-zrWD8JmmUQcj-ZG5PTS3dlUkkrLHup0MreP8Frda_NidMSd0dUKXO_T0M9BkLRG9HDcd-1xpUdkI5g0HVB_SJnQm2GbDWWgG9rbjHDqeT6vdf3PKS3vOesxwvObL0cx9O8t_7s&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=25dda09f&#x26;sv=2" alt=""><figcaption></figcaption></figure>

5. By pressing the "**Swap**" button, a request will be sent to the wallet to confirm the transaction of exchanging the **EUSD** LP token from the **EUSD** pool to the **USDT** stablecoin on the Arbitrum network.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2Ftl3j4Lnez7fR-NasVnYYWkyxwUgLVlpJYAiOuNa0B7e2bJBBXIKeWS-z5xpdVq-rmqd2NT6nkii70zpopMHlF3lwgQkf8tTb4sFTu-r_ylFe6JvkjiuCuUU5VB_i2qdlLuzr9ZxzLH3aobSnOFT8Od4&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=6f637fb3&#x26;sv=2" alt=""><figcaption></figcaption></figure>

6\. After signing the transaction, a notification about the transaction sending, the ongoing exchange, and the estimated waiting time will be received. The status and progress will be displayed in the top right corner.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2F6iR-fwwTAHPeaNX_jilznVsPqqEBMhYMrBySceWAINTbq-HOBZ_Y5BrTX7rSCOakqzK2TkLaC4pA6zLFpOngxl4D6ROUId7kWBBj9c4hqfKkuTSqNmGkz-TsDcDwG_ZbMZpVoat0qcpYvEOcNj4nuis&#x26;width=300&#x26;dpr=4&#x26;quality=100&#x26;sign=d1967ab0&#x26;sv=2" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/yRG5gxNrZCQ7imkfMDWi" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
*If in **Easy mode** you see high losses, consider other assets for acquisition or use the* [***Balanced mode***](/user-documentation/liquidity-interface/liquidity-provision-use-cases/withdraw/via-curve-balanced) *of liquidity withdrawal*
{% endhint %}


# via Curve (Balanced)

## Withdrawing Liquidity <a href="#withdrawing-liquidity" id="withdrawing-liquidity"></a>

**Step 1.** Go to [**xCRVUSDC** pool](https://curve.finance/#/fantom/pools/factory-stable-ng-16/deposit) on Curve and analyze the optimal way to withdraw funds from the pool:

A balanced method of withdrawing liquidity from the pool is recommended – you will receive s-tokens in proportion from several assets so that your operation brings the pool into a balanced state.

**Step 2.** After connecting the wallet, go to the **Withdraw/Claim** tab and use the **Balanced mode**. After entering the amount to be withdrawn, the AMM will distribute the s-tokens in proportion to the pool's balance from the total TVL.

&#x20;

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2FlDGAlFg_sOi6jcZXvW_8HgB4oS26qDXVPLfzeHnE1LvdeVKk03x3Y0SOQ-W87uDrHI1KuwUDpD_5hlNaaWigndkeLfvQ2HyXunCDawRCVSPf9G-XZ3beKnSbLmcpw-4kiVInYfZanXF8FLV3om2NRD0&#x26;width=300&#x26;dpr=4&#x26;quality=100&#x26;sign=a63767fc&#x26;sv=2" alt=""><figcaption></figcaption></figure>

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2FxmxpRNR7abT5L6Y2geKXQQ8qjJ1_UvgqBjab9TNegmOZ4knFQLNNCge2c6MTyz1uke_Fdk2bWYXK-q_IWfgOpr6PiTH7_W68LTFKtlWhMx1pvthh3tI2DSI9wSK3utrJ_WU0kwxyvq1js5456hvwd-s&#x26;width=300&#x26;dpr=4&#x26;quality=100&#x26;sign=a53bc980&#x26;sv=2" alt=""><figcaption></figcaption></figure>

This method should be applied to avoid penalties and earn additional profit on Curve in cases when you are working with large sums relative to the total TVL of the pool, or when the pool is close to perfect balance. After pressing **Withdraw**, confirm the operation in the wallet. After completing the operation, the system will issue a **Withdraw Complete** message.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2FVBg10USOMhlDnDuGnNdobN-YmBMtLEoby3uKK872v64-leg0YMKeUJKOiThOqGaCujNaolnJrCJv6ALn_Bkzn2aVPTIr8wKx37fv_Os6KVf53kX4M7qQa10k7p5NQLRq8oAYP6ulUJ2m8KLIjzAuj1o&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=18b37fea&#x26;sv=2" alt=""><figcaption></figcaption></figure>

**Step 3.** Convert the required s-tokens in the CrossCurve interface.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2FEBGxERJONK0vy47daURK3xzBz_3dmHOy-PJY3va9YnRuQWsJuPqvRd4u7fjTyqSsvNtjbuqe1W_kVJAHJwUDxuyzy-1j0Qp9UOGSQoquyrubFcV3Ul-Dii6U3ZzS4EE0jHkDEMkrzZQ4s8968CC0vCA&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=63ebd42b&#x26;sv=2" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
*On the **Pool Details** page, there is a link for quick access to the CrossCurve interface to convert s-tokens into original assets.*
{% endhint %}

1. In the **Input** window, select the s-token for conversion and specify the amount of s-tokens to be converted.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2Fyy5C-zTOaiOuoSq8vULzd9KpRkLfu1FeHqHQhGvy4ahco_wTI5s14Iyo5tVLBmWER0Sn4t2VbdofGpL8DlhhcpWoq0KI0x9TnKzdHARFzLlFtcYWYZj3MzBt3gd_qDtTZrdsv4SiPWkjcQoUhDIgDZo&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=4ee608d4&#x26;sv=2" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/lsjNCH94D3g2HbJ3Wh8w" alt=""><figcaption></figcaption></figure>

2\. In the **Output** window, select the token for conversion, approve the spending of the s-token by clicking **Approve scrvUSDC\_o**, and confirm the transaction in the wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2FSSJcmSu8wbOZ_AFP7csTTv2HRClVBguWVNez4__3PVBFQ7dKwhvttxGznUrnAnsZI-K3yXuiNIaxkDvn3oazf9DC13bMCYFyzsRJgIk0yC3fzpIggVK3bbjg443dHumU32OGYatcOo_CbXIycpTbZ8w&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=34fabe33&#x26;sv=2" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/PsKYeHVNKtGkhw16p0y4" alt=""><figcaption></figcaption></figure>

3. After approving the spending of **scrvUSDC\_o**, a **Swap** button will appear.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2FT_NxnN93PNu1areQ68NutZTM6vM-7qiQ3wr-OERoaXnpms0X_whcn4UvS2nqs_1-n3b8nMN0P4zp1yaIr5JUMsC9A87mTaqXz8jMx6HXzGJbGQeNKvVY1Pmj9a9G9ixqSr0o2PjOVeQb1FP-ya_uepM&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=5a8a6475&#x26;sv=2" alt=""><figcaption></figcaption></figure>

4\. By pressing the "**Swap**" button, a request will be sent to the wallet to confirm the transaction of exchanging the **scrvUSDC\_o** s-token for the selected **crvUSDC LP**.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2F35WqbK-gl9jxmbtD25lofnmtlVK4_xWcFKTxa_WeJ7xLgxPDTGw94lgwCm_c_fdzr82_Fc5bBBpGdp06fApU6btMRqT8Ayi5bDFAEyiEE3JdQLQ0nVQl4C4Sw7kQMpR8fOd9RhfPyyPWZbYpTbrsTEs&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=4c11101f&#x26;sv=2" alt=""><figcaption></figcaption></figure>

5\. After signing the transaction, a notification about the transaction sending, the ongoing exchange, and the estimated waiting time will be received. The status and progress will be displayed in the top right corner.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2FDzYhz0jWNyO-pkJ8LNMxY_efkVtLrLCvzVHvPtpZLL96lAhi75aPPgksumlePLPkv1RTl0xhjJfGZPLLSgmNUzbxYIHo8F7grA_GeF7Lc5zoVdM96pTUW7jFkPllr6ysRzZrPaOx-ldB_77gZL7inTg&#x26;width=300&#x26;dpr=4&#x26;quality=100&#x26;sign=ad4e31aa&#x26;sv=2" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/8F7MrWFbrGB0l030Yqw0" alt=""><figcaption></figcaption></figure>


# Curve Knowledge Database

"Curve Knowledge Database" is your comprehensive resource for all things related to Curve Finance.

🥽Dive into expert insights on Curve's unique AMM system, liquidity pools, staking strategies, and yield optimization techniques. Whether you're a beginner seeking basics or an advanced user exploring in-depth mechanics, this knowledge base is equipped with tutorials, FAQs, analytics, and community wisdom to guide your decentralized finance journey on Curve. Stay informed, stay ahead.

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/8eedz0nQwqN0qUwWw8p2" %}
[Balanced liquidity provision](/user-documentation/liquidity-interface/liquidity-provision-use-cases/curve-knowledge-database/balanced-liquidity-provision)
{% endcontent-ref %}

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/sxfzUVKN2gA4fsBgsIgZ" %}
[Guide to transferring CRV from Fantom chain to Ethereum mainnet](/user-documentation/liquidity-interface/liquidity-provision-use-cases/curve-knowledge-database/guide-to-transferring-crv-from-fantom-chain-to-ethereum-mainnet)
{% endcontent-ref %}

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/yyFtWfhC5V2H96Hcq5m2" %}
[Disclamer](/user-documentation/liquidity-interface/liquidity-provision-use-cases/curve-knowledge-database/disclamer)
{% endcontent-ref %}


# Balanced liquidity provision

## **Example of obtaining the av3CRV LP token from the avDAI/avUSDC/avUSDT CrossCurve pool.**

Here is the pool [address](https://curve.finance/#/avalanche/pools/aave/deposit), and the [list](https://docs.crosscurve.fi/documentation/smart-contracts/hubchain-pools-and-assets) of supported tokens.

1\. To start, go to the **Curve Finance** website via the[ link](https://curve.finance/#/avalanche/pools/aave/deposit), or go to the **Pools** tab and enter the name of the pool you wish to find (**avDAI/avUSDC/avUSDT**) in the search bar. You need to select the network in which the liquidity pool is located where you want to deposit your tokens (liquidity). For this example, the Avalanche network will be used.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2F8XuAgvSiXeTLwQX7EAk1JuPxF26nGNQvddja3lu6eIjEOolDcYQ7NN5BL0zED3pzw1SSDT3ODpTedeJ9mmVx8Rxk9vZqyzEeCIJGgOUeZIp2kOctC8yukK26nvtrUwuebFo0L_PhyBhNeb7wpXgdzbM&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=148754b6&#x26;sv=2" alt=""><figcaption></figcaption></figure>

2. On the pool page, connect your wallet to the site by clicking on "**Connect Wallet**".

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2FEJd5nKUFiCPX_i4zoXjdngbStV9Tv_sDRiHXeL9reJREcl3jN0Z1CktYO4FhcN-rl1ZnLP64PQXcAVe8DWZ-3DJF5VD2YFDxwGZnEqL3dXB7_vTxJglsQKapv556FhuDadM51bPg-du_xwcvIMNPdVE&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=3d805bb8&#x26;sv=2" alt=""><figcaption></figcaption></figure>

3\. Choose the installed wallet (or use **Wallet Connect**) and confirm the connection, making sure you are on the original page [https://curve.finance](https://curve.finance/).

4\. On the pool page, interaction happens through the application highlighted in the screenshot; look for the **Deposit** tab.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2FKdioG_aXgUArn2-h9vvMcsI9r-xnT1KnSnMaa1X9Zlr4fHlpDF1heU7866-rdY_DxsSXuTUmjCkyUY2AyXyzyJXRpU-JVgZVgLrAdxAgtSmahfedaLs4m0QRrlf27jpRETD1ntQep2uzf0RpMEc_drY&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=f0c9b86&#x26;sv=2" alt=""><figcaption></figcaption></figure>

5\. In the **Pool Details** tab, pay attention to which tokens (**DAI.e**, **USDC.e**, and **USDT.e** stablecoins) are part of the pool.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2F_-o1QxDxg6V1tFoMDAOa1JaTRC6R0iywTWE5_REasCuxDgz0rvJ9x5dNXQUuiJNXiBDPhiLBfa5CZPJGfjHbcl14wMQimQKDsnQO5Y1wbQ75__KUvA8iqImSmVjje8Nb1whcfZyyfU6jkTSKj5PnzH8&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=999d75c1&#x26;sv=2" alt=""><figcaption></figcaption></figure>

The **avDAI/avUSDC/avUSDT** pool consists of three stablecoins; accordingly, the pool will be balanced if the share of each asset in the pool constitutes 100/3 = 33.3% of the total TVL of the pool. (more details here)

6\. We will demonstrate a balanced method of adding liquidity to the pool – you can use multiple assets so that your operation brings the pool into a balanced state. This method should be applied to avoid penalties and earn additional profit from Curve in cases where you work with large amounts relative to the total TVL of the pool, or when the pool is close to perfect balance.

**For** [**balanced**](https://docs.crosscurve.fi/user-documentation/liquidity-provision/deposit/via-curve-balanced) **funding**, in the **Deposit** tab, select "**Add all coins in a balanced proportion**" and the system will automatically distribute them in equal proportion. Indicating the amount, confirm spending (click on **Approve Spending**). In the **Edit** tab, you can edit the amount of funds available for spending (by default – unlimited)

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2FSC9aPTtpPPax7C5LE9uinBMoJZL_uHi1wtBVb8-q8-MYtucMnwovKrzaHZ69Uh6zq7V37R2oSCRbwEMPtUz-TJ6r5UKz2rQ66Lq7v-VpxD1WM2P5Z7M-WkRAYdmK2inmOaDpRvb0QOVG2w08E9jyIRI&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=476a52c2&#x26;sv=2" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/PL0ptzcO75b2gDnePJse" alt=""><figcaption></figcaption></figure>

7\. After successful confirmation, you will see a green button labeled **Spending Approved**. Then, click on **Deposit**. After confirming the transaction, you will see a green **Deposit Complete** button, and the balance of **av3CRV LP** tokens will be displayed in the **Your Details** tab.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2Fwttb1Eii8EIPwZKrVklRlJcctAJxJp7ftUVWyJnoK2IrdVQ7j1DmZSdqbokCGuziqCsNx_chjJMjd2OuGjTwZmwot6ViIpq_Yv3Qay0R0WUDHps22risBwYCg12ZtdJ53a_flSxgozTTXjjHnQJ8N4o&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=3214c33d&#x26;sv=2" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/tM3ZGa6rxY4PZahJOEqx" alt=""><figcaption></figcaption></figure>


# Guide to transferring CRV from Fantom chain to Ethereum mainnet

1. Open the **Curve DAO Token** (**CRV**) contract in **FTMScan**:

<https://ftmscan.com/token/0xe6c259bc0fce25b71fe95a00361d3878e16232c3?a=0xbcd3e2e841cc6140ede73c9ad8ad86ec7e423f52>

2. Go to the **Contract** tab, choose **Write Contract**, and connect your wallet by clicking **Connect to Web3**.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXd5_ZkI4-c34DspXkD53mwweHL9624lS1OI_cm7hkpLgkFJ-fejQ5SG8-749pYvIuDqTzHPpPIQ80aU0k9jZJP1HwaWmtyeXqjwucF_eZm0w2fRSzggKIyIlKyOXo-CkvhR4d-gCQ%3Fkey%3DjDrS04e4nIPFVuPMb1e5ug9y&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=6bc736b0&#x26;sv=2" alt=""><figcaption></figcaption></figure>

3. Expand the approve submenu for the **Curve DAO Token** (**CRV**) contract and make sure the \_spender address is the following bridge contract:

```solidity
0x7ce8aF75A9180B602445bE230860DDcb4cAc3E42
```

Enter the number of tokens to approve for moving (in Wei format, meaning that you need to add 18 zeroes to the end of the amount or click ![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXeNiNVoJVa6tP7lflv_zbwWaqQFWbcEHkB2hNoeRO6A8TMkk5j_p1ZScEaxoyrb6MUmyTkP3y2a4WGH-GJNeYquvULvXbuQCh9rVgB3K3XEIKjnxhjKEmfe8M8D4kkuLMLHrOyJug%3Fkey%3DjDrS04e4nIPFVuPMb1e5ug9y\&width=300\&dpr=4\&quality=100\&sign=4a17085f\&sv=2) and choose the right format![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXd3y-r8oeJSIWc7CZCaGPaq32Zyd59LXYmxdf074SApf6iiOE3vok_bGrb2zKxAbmtDNvoDWiWxExkiGTDEsnd-g5zlSamQeplzj91_fJIrRWuu6H3cTm2qAmneidHmFtcYng5ePg%3Fkey%3DjDrS04e4nIPFVuPMb1e5ug9y\&width=300\&dpr=4\&quality=100\&sign=c048ee26\&sv=2)).

{% hint style="success" %}
*Here is an example for approving 10,000 CRV tokens:*
{% endhint %}

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdRjqJfOfqQtpmlRf4S9TM0GJNbAM4JUJEnniQctM--yrs7YFw8HgufCwKqhNXkYHYChoMfH2lCLLWeh7WCoQoPamq51Mge9ia1naPvK7ebX7epgjMnkOgyW_VDjXPq5_TfpS6s%3Fkey%3DjDrS04e4nIPFVuPMb1e5ug9y&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=b235274f&#x26;sv=2" alt=""><figcaption></figcaption></figure>

4. Click ![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXekvgcxrZTxE3rHRf3alfYEwEhiG38DUGQMlGu6vzYl7HvH3KlCRAIEHXDg5CUhmZGIUfEaiWxreP7dJmZcEQOaN60y0Lx59OMpQ8M70XfCfLCrBtVE4reEwOkNX3nMoH55YFeFeA%3Fkey%3DjDrS04e4nIPFVuPMb1e5ug9y\&width=300\&dpr=4\&quality=100\&sign=992ca38f\&sv=2)and sign the Token Approval transaction in your wallet.
5. After a successful Token Approval transaction, find the **Layer Zero Bridge** contract for **Curve DAO Token** (**CRV**) in **FTMScan**:

<https://ftmscan.com/address/0x7ce8aF75A9180B602445bE230860DDcb4cAc3E42>

6. Go to the **Contract** tab, then **Read Contract**.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXf_gMKsR3B32Yx_47SYU7NKJPXlb_XuWCHYWnwvvrzzb0a6DsCto8LFWA0g_piuy4qr92riHFM6JQGRQ8AMZW9q7-l6rf6PDmwl9M-FAnLAfpeH7aPK4Iu49pmh_TlJkepGSy49CA%3Fkey%3DjDrS04e4nIPFVuPMb1e5ug9y&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=75d48dd8&#x26;sv=2" alt=""><figcaption></figcaption></figure>

7. Click on the **1.** **quote** tab, after which you will see the current Wei cost of the transfer. Click on that to open the converter. Copy the **FTM (1)** value.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXf1ytr8dy41WrxrdN2S4Huv4thduZHA6JImPWk-qTbCqWyXigErNz-BxqZD5x_o1o6Z401lPmvh1wvlmnFWIW8F23nWQs5gXy_YAR3nTEeTrma98m0Y4jWfKcnAUrbj-gBIKXqa%3Fkey%3DjDrS04e4nIPFVuPMb1e5ug9y&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=a3ebe77&#x26;sv=2" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/7AQoIKVv3fLaMyXIrHyP" alt=""><figcaption></figcaption></figure>

8. Go to the **Write Contract** tab and connect your wallet by clicking **Connect to Web3**.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FcaW3eUVbvHLADNO2nDtk%252Fimage.png%3Falt%3Dmedia%26token%3Dd1ef0691-2ddf-4cb3-949f-28f99ad08487&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=3da5aef4&#x26;sv=2" alt=""><figcaption></figcaption></figure>

9. Click on the **1. bridge (0xc3de453d)** tab, after which you’ll see a form with 3 fields to be filled out as follows:

* In the **bridge** field, enter the value you copied from **1. quote**.
* In **the \_receiver (address)**, enter the receiving Ethereum address (your own, if sending to yourself).
* In **the \_amount (uint256)** field, enter the number of tokens (in Wei format: add 18 zeroes to the end of the amount or click ![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXeNiNVoJVa6tP7lflv_zbwWaqQFWbcEHkB2hNoeRO6A8TMkk5j_p1ZScEaxoyrb6MUmyTkP3y2a4WGH-GJNeYquvULvXbuQCh9rVgB3K3XEIKjnxhjKEmfe8M8D4kkuLMLHrOyJug%3Fkey%3DjDrS04e4nIPFVuPMb1e5ug9y\&width=300\&dpr=4\&quality=100\&sign=4a17085f\&sv=2) and choose the right format![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXd3y-r8oeJSIWc7CZCaGPaq32Zyd59LXYmxdf074SApf6iiOE3vok_bGrb2zKxAbmtDNvoDWiWxExkiGTDEsnd-g5zlSamQeplzj91_fJIrRWuu6H3cTm2qAmneidHmFtcYng5ePg%3Fkey%3DjDrS04e4nIPFVuPMb1e5ug9y\&width=300\&dpr=4\&quality=100\&sign=c048ee26\&sv=2)).

{% hint style="success" %}
*Example of filling out the fields for transferring 10,000 CRV tokens:*
{% endhint %}

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdULKPSqkpnN3q5Jqm4Yj1X5sZTbnLI4ZbZR7q7Yg7hWDlYkqXqdbGHSjEkWlTyG07s1zBX5Zj2mGmUWEJTWy1mFQJj9YeJxnFE0HlAomyq5EgqDkS-QPDA8VE6Cd0s0KSc52JuAA%3Fkey%3DjDrS04e4nIPFVuPMb1e5ug9y&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=7e4c0ed1&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Click ![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXekvgcxrZTxE3rHRf3alfYEwEhiG38DUGQMlGu6vzYl7HvH3KlCRAIEHXDg5CUhmZGIUfEaiWxreP7dJmZcEQOaN60y0Lx59OMpQ8M70XfCfLCrBtVE4reEwOkNX3nMoH55YFeFeA%3Fkey%3DjDrS04e4nIPFVuPMb1e5ug9y\&width=300\&dpr=4\&quality=100\&sign=992ca38f\&sv=2)and sign the Bridge transaction in your wallet. Your transfer has now been sent. You can find the status and other details of the transfer here: <https://layerzeroscan.com/?srcChainKey[0]=fantom>


# Disclamer

## Attention! <a href="#attention" id="attention"></a>

Curve pools are based on a specialized AMM formula for trading stablecoins with minimal slippage and stable prices. Differing from the standard AMM formula **x \* y = k**, Curve applies a modification focusing on assets with similar prices, providing effective pricing and liquidity for closely correlated tokens. Pools are adapted to the market by adjusting the asset weights, allowing them to maintain stable exchange prices even with changing market volatility. Therefore, it is necessary to pay attention to the liquidity balance of each stablecoin in the Pool Details tab. Go to the original liquidity pool on Curve you are working with, and assess its balance. For example, let's consider the **xCRVUSDC** pool.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2Fj_PypKuyJQQKXkk38yZ13wSBvTPYziuLwxn0ZQkx7CzNUP78MyXQOMpQOFbthdvvFDTT3iGDMXh3NKdUyfzJDFqtkY-hKkRW_AnaIFzkGij0WcrAzopwYQISqInxndYHCIwbt9RdYiOhWXaDWD7XNos&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=c07eb026&#x26;sv=2" alt=""><figcaption></figcaption></figure>

The **xCRVUSDC** pool consists of six s-tokens, so the pool will be balanced if the share of each asset in the pool constitutes 100/6 = 16.6% of the total TVL of the pool.

1. If you add one asset to the pool, the share of which is less than 16.6%, you will receive an additional bonus for balancing the pool.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2FFXHKwPZ3InBvKqXq7_qNWLCCn52WpBJU3iWXQIL7Ae9peLfNUVusijTPIok0LdUnQWahVycYLQe_xEqRI9ntdudB-Z5v3B0auyKzCJyjGA0_fXnPOrEWdVyZSzQkEhULNSXISiGgMxmBlhxmukd_gNw&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=122a0d63&#x26;sv=2" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/IjQyYXw74d9dDauO6oFa" alt=""><figcaption></figcaption></figure>

2. If you add one asset to the pool, the share of which is greater than 16.6%, you will receive a penalty in the form of slippage because this operation worsens the pool balance.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2F0eR4eYKVLHScqLGLMfbvo8gMjgIjWdUIBinCUvv1ai9g-6y_cqHGDJXhPpWAyHlL6Y3CebPPL1xYqllCyD-X3J5cJSzDPLuJwM3QAK46sOEF_SILFfzSF5YfOAq-Wco0mGOfnUE-Tr2n7Yg444N1DBY&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=3bcc45d4&#x26;sv=2" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/WlgXVGV1fKzQKcrcvJ8T" alt=""><figcaption></figcaption></figure>

3. If you withdraw one asset from the pool, the share of which is less than 16.6%, you will receive a penalty in the form of slippage because this operation worsens the pool balance.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2Fem9dmvbCXMWZlro1fuB6QaS3yVWjWB5DCQie4NwdYpIuzBKUPMwFz7aGdNgTz_rw3akbbetH5jl69hIeSQHXAA_dMgJWjIYp5deDP0WGvoxk_vsykhs6gx4EtaeiXMn8y67Tf5dgHbwafcutlF2VTaM&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=8218ab11&#x26;sv=2" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/nkUs3J2gBP9MTO80YwUS" alt=""><figcaption></figcaption></figure>

4. If you withdraw one asset from the pool, the share of which is greater than 16.6%, you will receive a bonus because this operation balances the pool.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2F1dlS0h-Dadlvo5Q6LIb_FJw40T6npBTinN4y0tpdYcN9LeRidnaOaFnNI7BcarYfgRUq_LH3dAxgyAjWFAjmipLokdAy4I6C8YPnjgyyXOdK2-ZeHrxfBHsruSrR_wfeMFFwKHD9-TO4sicEHjTE0lQ&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=aac8266c&#x26;sv=2" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/hlRSCgomYNEWCuOgp53S" alt=""><figcaption></figcaption></figure>

5. It should be noted that this example is not a financial strategy, and the imbalanced **Easy mode** is not always profitable (for example, if the pool is balanced) and also depends on the liquidity volume you are working with: the higher your volume relative to the total TVL of the pool, the more likely it is that the imbalanced method will be disadvantageous and you should use the [**Balanced mode**](https://docs.crosscurve.fi/user-documentation/liquidity-interface/via-curve-balanced). To avoid high losses of funds, always consider these factors and the condition of the pool before making a decision about the operation.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2F_mAtkgNl_S7O_UhzFoT-tLA2l8NFnvfnI-bjoZvBNMS96MHGX-664Ag-us2k_of970sWVMdjEYmZ5y34AaPbqQr7anoCBwbrpdhi9tswxzBl9kv8xbnV--gHN178Eam4dtSNNrENjroMqu4ZMAEo5aA&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=ead00624&#x26;sv=2" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
*Here is an example, how the volume of liquidity you work with can affect the final result when performing the operation.*
{% endhint %}

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2FtabvZNyh-DJX2L9OX56hdZh3fOuIA6JHm32l7je4CsfdFojOKyVkhQbOsS3UJ5hyqyrjyShWDfkrqMOLK6XZii0rcGMVvtINNwO_n7qXdGY5tPWwpOqjegNlYMmIdy8CEtdraNSfwqEbRxg6kf6pykA&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=5ca9b237&#x26;sv=2" alt=""><figcaption></figcaption></figure>


# Dashboard interface

Description of the Dashboard interface

To get started with the **CrossCurve** app, visit the **Dashboard** page. Click **Connect wallet**, choose your preferred wallet from the list, and confirm the connection, making sure you are on the official page: <https://app.crosscurve.fi/dashboard> &#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXek8AMdgGbGIzOEzsDKs9mdYRz9viHpyDuHplfLlohJG33qWpkvduvowSwijCfpwagsKIiuLQLSSZfXVaqt29UiMQsC9DAdP7DSCzb_QZKPvjJLiFWx5eOOnPWVj70b3y0XZulT5g?key=WeQEXUUftuLmFsanSKNVXg" alt=""><figcaption></figcaption></figure>

Upon successfully connecting your wallet, the **Dashboard** page will display detailed information:

### Farms section

* **Farms** - shows your liquidity provided in **CrossCurve** pools and farming rewards earned.

  <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXemNJzYBcIMO_O2kODIhDU3L7V1fdqsrqAAkBE3HJ-4Dv_CNhTgwst0UGBCuU7SRRkHh6ESU9UA11r-e3ve-Ix2ulLzm3ms8c_Yhby_nzKjU1mNhG1v3FVymVbHvt0Dgbqk3M3UQg?key=WeQEXUUftuLmFsanSKNVXg" alt=""><figcaption></figcaption></figure>

It also presents statistics for pools you've joined:

* **Pool** - pool name
* **Staked** - quantity of LP tokens you've staked
* **APR** - current pool yield
* **Earn** - farming rewards earned

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeW8WUM7rTghoIOpphyPvX2F5ZjIw_l74ZejRtEyT0NFceeVXp1H0R_ZrrpzS7UhXe2c-fZcZRYojAY9rYzZxiCuzWiD-ZqWSiwsE8-gouEKb9K7WjzQEFRZ27cgN4JDI5jbVif?key=WeQEXUUftuLmFsanSKNVXg" alt=""><figcaption></figcaption></figure>

To collect your rewards, click **Claim** and sign the transaction in your wallet, or navigate to the **Farms** page via the **Go to Farms** link to manage liquidity and earn rewards on [**Angle Merkl**](https://app.merkl.xyz/protocols/crosscurve?status=LIVE)

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXexm3AbryBuFzG-_Ra4llDx-esJ6hyOc6Sm6GZqGS3lM40KqlEVtDPhV2W8fouDnqJUkoqLkwpKWGMveBYUHz7r9oqIdHg2n-lFYcvprW_XgiS6QLyfizeQCX2EdYRjjgwCAeZJ?key=WeQEXUUftuLmFsanSKNVXg" alt=""><figcaption></figcaption></figure>

### Vested section

* **Vested** - displays **EYWA** tokens in vesting safes, locked in **DAO**, and tokens available for claiming upon vesting completion.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXedPSln_FgxoGzUQrDHExO3_bffGb5jCz8FAeIhfh65JSEajzFS3qqkddmdpdi6_4c-ic9i97oHkv1X1QjUPYWF5LfUi9KYx6yfAGjawu_fv9XX8hkTkPK527jZze8fwo9NSbmN?key=WeQEXUUftuLmFsanSKNVXg" alt=""><figcaption></figcaption></figure>

* **Claimable safes** section shows the number of safes ready to be claimed and total token amount inside. To claim these vesting safes, click **Get your safes** and confirm the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfHR2FuqaRrd5D_ZCKu8TeusuxHIrb23tC9kMTdtOSk4y0xiGVAz7dzcWYQinpCSFs-rKzV6FBfpQ3F-tO5jIb8_xLG0q29D5EphHQEh91gGJLtlPw9puTAQ05nYpUCaZo5jRmd2Q?key=WeQEXUUftuLmFsanSKNVXg" alt=""><figcaption></figcaption></figure>

* **Vested safes** section shows the total number of vesting safes and the token amount contained. Ready to claim displays **EYWA** tokens with completed vesting periods, available for claiming. To receive these tokens, visit the [**Claim Portal**](https://docs.crosscurve.fi/user-documentation/vesting/claim-portal-interface).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdX3xPz1rph85iKJU221u6q79xtckRUV2pO6k71_DyZxrsUKZbK4LL3kKZ6yPw_sX7h0SquU-RCi0nw0bsauTIYYDx1zzGjSt4TJLrDuiLZfySmT2rOKeGI43I9nofiMVVzV69CdQ?key=WeQEXUUftuLmFsanSKNVXg" alt=""><figcaption></figcaption></figure>

* **Early Farming Program section** shows the amount of **rEYWA** tokens earned from early liquidity provision in **CrossCurve** pools (more details [here](https://docs.crosscurve.fi/user-documentation/outdated/early-farming-program)). To exchange **rEYWA** tokens for **EYWA**, follow the **Go to rEYWA** link in the **Early Farming Program** section.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfsXDllHeK9VNcQ3GB6ey-WInYuOr-H9rbH6HBnpfhJd1Lw7vMOt5-DF57p3QNe1bx2N3KRzPcKUzlAS0PAgbP7mNrl1uEPRRrrMv1fB9cwzljI8ur5si6hfv4fFsw3-4-jXfL6ow?key=WeQEXUUftuLmFsanSKNVXg" alt=""><figcaption></figcaption></figure>

* **Locked in DAO** displays your **DAO** locks, total tokens locked, and the nearest lock expiration date. For a full list of locks in the [**Locker**](https://docs.crosscurve.fi/user-documentation/dao/locker-interface), click **View**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXebP33PcZi9ZfkXJ1BiviH7D0dixNQngEXrvAFhDHZBA2xB8qPtl4MW-aOPvuUsa8s_IFKQYUzxe8mzYiPwvFRzXULQuiZJ0BulAaBnLcLmEcIVWB359hN7Dwnh49QcXg58XbKGtg?key=WeQEXUUftuLmFsanSKNVXg" alt=""><figcaption></figcaption></figure>

### DAO Rewards section

* **DAO Rewards** - shows rewards earned from **DAO** participation.&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcgclSUikv1nkgqPaea9pSbE7bS7suN_TwZ8LhRr4eRJhW5jKONbAJPgrp25xouCx-tZ0klKagH6ew_b9v0GvD0-Y8iFcndr7yrcyB5NxsAn7cn0zLe4WAam_IYF5wWpGO2Dtln?key=WeQEXUUftuLmFsanSKNVXg" alt=""><figcaption></figcaption></figure>

The **Incentives** section shows rewards received for your votes on **CrossCurve** pools. To claim these rewards, click **Claim** and sign the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcCBwv_FnORnEdiLzKXuHZVAfuYpwQaeoAjDnBE2cB-U2AepDfoBQRXLDXGbv13VvF9TUCrsL7XMECK8JhJ3shH1GM4z4a5F3Ozoot2VvH1C0Z9uow6tfGGS_g9VR23g0WG5x_V6g?key=WeQEXUUftuLmFsanSKNVXg" alt=""><figcaption></figcaption></figure>

### NFT section

* **NFT** - displays **EYWA** tokens contained within [**EYWA NFT** **containers**](https://docs.crosscurve.fi/crosscurve-dao/nfts/eywa-nft-collection#container) pending vesting, and the number of **EYWA NFTs** in the connected wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfSwK9y-9K5c1Txqg-X7HTyQnNHlAF0oMgSM94IUmkJZgvp-l7f7rbdmFn46KJzjRvqjBnxmjaLKp7k44C8EEq4HL4Lvrt4V9BuFju8lp4RhgPVOw1YvpIyejARsosSvb4wAEkXuw?key=WeQEXUUftuLmFsanSKNVXg" alt=""><figcaption></figcaption></figure>

* **Aurora-NFT-detached EYWA tokens, post-bridging to Arbitrum -** displays **EYWA** tokens detached from **EYWA NFTs** after bridging from **Aurora** to **Arbitrum** (more details [here](https://docs.crosscurve.fi/user-documentation/eywa-nft/bridge-interface-in-the-aurora-chain)). These **EYWA** tokens can be claimed as vesting safes by clicking **Claim** and signing the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd1O_7v1RTit8EK4y3bQeshTlnlZ-hqiXCNW083yqxIf3S4STnY4SxD0o6arJ_GZgAFEqQaY87VQfB-hF9liWRJzy9L1ihrbDjcVzyjvFHBd_E1SRrYbk-4pY8hCqoVpulNYHzRCg?key=WeQEXUUftuLmFsanSKNVXg" alt=""><figcaption></figcaption></figure>

* **In wallet** - shows the number of **EYWA NFTs** and the **EYWA** token amount within [**NFT containers**](https://docs.crosscurve.fi/crosscurve-dao/nfts/eywa-nft-collection#container). Click **View** to see detailed information.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcDVGzZ400D4jQ8We-9wtki0oHhKqkmQYbJgGMpSADt42_IQyDL_pcD71sshdoS6vNJvcLNdz-0xokQurhSGFJ38X-B5OHaaS4FKDTRK88NxxBqpFPmtgc8QdUPEIRtP3xNZEGe0w?key=WeQEXUUftuLmFsanSKNVXg" alt=""><figcaption></figcaption></figure>

* **In lock** - indicates the number of **NFTs** in locks. Click **View** to go to [**NFT Manager**](https://docs.crosscurve.fi/user-documentation/eywa-nft/eywa-nft-manager-interface) for detailed information.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeQeSS8VjoSY8pNCQp0QSM_MUXdGdAh86hFUOnW-i3gs9XS5daQbT-n9zfjlZwhIEDXbaEfse79yYzVZYguxahmb32-I77Sm2nzfljr11pieQCEO4S7NIaP6KZw09U07_owEedQ?key=WeQEXUUftuLmFsanSKNVXg" alt=""><figcaption></figcaption></figure>


# DAO

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/eVn3FD1isitpMEBYL4HL" %}
[Locker Interface](/user-documentation/dao/locker-interface)
{% endcontent-ref %}

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/GVmdWLalJumXE0B1nci3" %}
[Vote Interface](/user-documentation/dao/vote-interface)
{% endcontent-ref %}

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/zTfH3UC7u64jrOLEKHwZ" %}
[Incentives Interface](/user-documentation/dao/incentives-interface)
{% endcontent-ref %}

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/eYqEjgv11pCaOfniZ63w" %}
[Proposals Interface](/user-documentation/dao/proposals-interface)
{% endcontent-ref %}

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/sbxC4qdXk3tL3ZaRVfqD" %}
[Working with the EYWA Locker contract in Arbiscan.](/user-documentation/dao/working-with-the-eywa-locker-contract-in-arbiscan.)
{% endcontent-ref %}


# Locker Interface

## Locker Interface Description <a href="#eywa-locker-interface-description" id="eywa-locker-interface-description"></a>

The **Locker** is a smart contract where holders lock their EYWA tokens, EYWA token safes, EYWA NFTs with EYWA tokens, and project safes for various durations. The purpose of such locking is to obtain project votes - veEYWA voting power. A user’s voting power depends on the duration for which their tokens are locked. The maximum lock period is 3 years (156 weeks), which provides the highest ratio: 1 locked token = 1 vote. More details can be found [here](https://docs.eywa.fi/eywa-token/eywa-dao/obtaining-veeywa-and-calculating-the-boost#the-formula-for-the-linear-relationship-between-lock-time-and-voting-power-boost-is).

To start using the **CrossCurve** application, navigate to the **Locker** page under the **DAO** section. Click «**Connect wallet**», select a suitable wallet from the list, and confirm the connection, ensuring you are on the official page: <https://app.crosscurve.fi/locker>

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXeBdbTY9GNsWDmwgJ2UtOuAvMEMqRuA-p8PcqVdwq2bPdANxzsqhENb02wDV9UcR1vpqc1Bd8rN1H3AFChWygqerByW4Ba8jFIqZWzCj4XinjoQvugmUy9n2mLfM8PMfx3aYUcDlQ%3Fkey%3DXotGsMlvcm3XQNTF68JMicv4&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=1cd4efbe&#x26;sv=2" alt=""><figcaption></figcaption></figure>

On the **Locker** page, the current CrossCurve DAO statistics are displayed:

* **Total locked EYWA** - the total number of locked EYWA tokens
* **Total supply veEYWA** - the total issued veEYWA tokens

For detailed mechanics on how voting power is calculated when locking EYWA tokens, click **Read docs**.

To create a new EYWA token lock, click **Lock Tokens**

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcB-zJyKz5pDYAiqzsH7HjB3lB5l2xM631jsiTInp0S00uClip56hvvW8hBEkQg5Kv6La7h1nalv_NVgsqCIfLqBcR_WvFYGIB6PFBz_ytq78H7KswnEKFyZG6qicQVA3fkcHxoWg%3Fkey%3DXotGsMlvcm3XQNTF68JMicv4&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=b37212bf&#x26;sv=2" alt=""><figcaption></figcaption></figure>

The page **Create token lock** contains the following elements:

* **Now you have** - the number of created locks and the total veEYWA amount in these locks.
* **Amount to lock** - the number of EYWA tokens from your wallet balance for the new lock, increasing the total veEYWA amount.
* **Select your vested EYWA to receive veEYWA** - an option to select vesting safes for the new lock, adding EYWA tokens from vesting safes to increase the total veEYWA amount.
* **Select your EYWA NFTs and boost voting power** - an option to select EYWA NFTs for the new lock, adding EYWA tokens from the NFT container and increasing the total veEYWA amount. It also grants a voting power boost based on the rarity of the EYWA NFT.
* **Lock time** - selection of the locking duration.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcUsWLHhS5IgAqJZS5Dh_Ezp-nLO7J601YVTtB25X8poU3AXydoum9XiNWoiF9sxpJ5HE41iW3Bn9zhE3B1z6nhYxqZHOp-z8vbUJgBUl5mtCHLurIT7zKVbr1CuGKXFnwIHvbJug%3Fkey%3DXotGsMlvcm3XQNTF68JMicv4&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=c68114ca&#x26;sv=2" alt=""><figcaption></figcaption></figure>

The **Create Token Lock** application allows you to add EYWA tokens from your wallet, vesting safes, and the EYWA NFT container either separately or simultaneously<mark style="color:red;">**\***</mark>.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfYIrkM4It8jZ2llb0eEueyPagxXz_gFaM12Lyq8oGVhVtdCSCijB2pJx00cnsjomegIB72WWAx91GjnCIkIhy-xb1GQSffZR1yU6Qz76wtar6apGIpQ4ZRbCwhBn2w-isVOlXNpw%3Fkey%3DXotGsMlvcm3XQNTF68JMicv4&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=ec4d9946&#x26;sv=2" alt=""><figcaption></figcaption></figure>

You can specify the number of EYWA tokens from your wallet balance in the **Amount to lock** field, select vesting safes in the **Select your vested EYWA to receive veEYWA** menu, and select EYWA tokens from NFT containers in the **Select your EYWA NFTs and boost voting power** menu. After selecting the desired amount of EYWA tokens, vesting safes, and EYWA NFT containers, the application calculates the total locked EYWA tokens in the **You lock** field and the veEYWA voting power based on the selected lock duration in the **You’ll get** field.

{% hint style="info" %}
*<mark style="color:red;">**\***</mark>* ***Note:** Creating a lock requires signing multiple transactions, as indicated on the **Create Token Lock**. For example: if you selected n EYWA tokens from your wallet balance, three vesting safes, and two EYWA NFTs, the total number of transactions to sign will be 5.*
{% endhint %}

### 1. Creating a lock with EYWA Tokens from your wallet <a href="#id-1.-creating-a-lock-with-eywa-tokens-from-your-wallet" id="id-1.-creating-a-lock-with-eywa-tokens-from-your-wallet"></a>

To create a lock with EYWA tokens from your wallet balance, enter the number of locked tokens in the **Amount to lock** field and select the lock duration using the slider in the **Lock time** field. The possible lock duration ranges from 0 to 156 weeks.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcUgGla2ItO6DgjGtsy60nrO3gJqKQZaFcX_haFSqrKUz-lklKnVu3r5dugE9DryQDDOhQtWN3-m-kEX9UehqV4DGkSIyR80UIfwtaz7R0jPJgsZZAabRr3RC5xhYJjayLRBKgLBg%3Fkey%3DXotGsMlvcm3XQNTF68JMicv4&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=8caad56b&#x26;sv=2" alt=""><figcaption></figcaption></figure>

#### **The maximum lock duration is 3 years (156 weeks), ensuring the highest ratio: 1 locked token = 1 vote. The minimum lock duration is a few days (until the end of the current epoch), for example, 2 days provide 2/1092 votes.**

Example: 156 locked tokens for a week provide 1 vote. More details can be found in the [lock formula section](https://docs.eywa.fi/eywa-token/eywa-dao/obtaining-veeywa-and-calculating-the-boost#the-formula-for-the-linear-relationship-between-lock-time-and-voting-power-boost-is), but the simple explanation is:

* 1 EYWA, locked for 3 years = 1 veEYWA
* 1 EYWA, locked for 2 years = 0.66(6) veEYWA
* 1 EYWA, locked for 1.5 years = 0.5 veEYWA
* 1 EYWA, locked for 1 year = 0.33(3) veEYWA

The longer you lock your EYWA, the greater your Voting Power and the bigger the boost you can achieve. Voting power is expressed in the number of veEYWA.

After ensuring the number of locked tokens and the lock duration, the amount of voting power in veEYWA tokens obtained will be displayed in the **You’ll get** field. Below, the current CrossCurve DAO statistics will be displayed:

* **Total locked EYWA** - the total number of locked EYWA tokens in DAO
* **Total supply veEYWA** - the total issuance of veEYWA tokens
* **Average EYWA NFT boost** - the average boost multiplier obtained for locking an EYWA NFT, depending on the rarity of the NFT being locked (more details [here](https://docs.eywa.fi/eywa-token/eywa-dao/obtaining-veeywa-and-calculating-the-boost#increasing-veeywa-using-eywa-nfts))

To create a lock, click **Create Token lock** and sign the transaction in your wallet. If you do not have EYWA tokens in your wallet, use the direct **Buy token** link for purchase.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfSybTrwRd4deQvOaD8W9yzaK0PNliNGwTO9AiXGtffjeXIJylUfkSoWb4zx0SXBXDZATnNW0-UZoaZ8RDFICLFVPQ-mdYvFNYQRwiBEsSFbJ4h9prwy-Z36XQgyNuS0GTjTv-H9A%3Fkey%3DXotGsMlvcm3XQNTF68JMicv4&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=98f3fb30&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After successful on-chain conformation of the transaction, detailed information about the existing locks will be displayed on the [**Locker**](https://app.crosscurve.fi/locker) page:

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXf3L1P3iucshWfv-fj2xhXXadFjh-0hTnGwB1BqvxaEhnwQA68aeIWDjwId_xzZTgQ4yVo8RE7Ju3H9XEndebscs6-75ILNpF6OzTmY7VCaXafi7cZVJsNx9xjzcHYHOucfCAByyg%3Fkey%3DXotGsMlvcm3XQNTF68JMicv4&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=8ddf229d&#x26;sv=2" alt=""><figcaption></figcaption></figure>

### 2. Selecting vesting safes for a new lock <a href="#id-2.-selecting-vesting-safes-for-a-new-lock" id="id-2.-selecting-vesting-safes-for-a-new-lock"></a>

To add EYWA tokens from vesting safes to the newly created lock, select safes by clicking **Select your vested EYWA to receive veEYWA** in the **Create Token Lock** menu. The possible [lock duration](https://docs.crosscurve.fi/user-documentation/dao/eywa-locker-interface#maximum-lock-duration) ranges from 0 to 156 weeks.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXeFepsjws9ez8AWvn5Sig11gnyJXvAGqUJ-eMnPgwI34rpEATkUPuMocmJh6f4wN6zgbGYcdDqqh9n1qjamloDN5l06RFAjs1tHGeMXrmuRJUkuVShUjeXgd7pa4nhcqqx0PGQNGw%3Fkey%3DXotGsMlvcm3XQNTF68JMicv4&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=777c8b5b&#x26;sv=2" alt=""><figcaption></figcaption></figure>

In the modal window, you will see a list of all available **Vested EYWA** safes and information about the total number of safes **Total in wallet**, as well as the sum of all EYWA tokens in them.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcqkovM24OYChFmPXlTYwLQnSbHYtk5TbEyVVIJrAyeLl8UXQ6FGlyEULEqzxBaZQHqxqVq_VOBRLPcn097hTtfltkIspFfx3rm1KaqXBLQUBwicfRH_BMQA59pTMboYFgJICcQsg%3Fkey%3DXotGsMlvcm3XQNTF68JMicv4&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=7d13f20e&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Select a safe (or a group of safes of the same type) to create a lock by clicking the checkbox to the left of the safe. The **Locker** will display the number of selected safes and EYWA tokens in them in the **You selected** window. A maximum of 100 safes can be selected per transaction when creating one lock<mark style="color:red;">**\***</mark>. To continue, click **Lock selected**.

{% hint style="info" %} <mark style="color:red;">**\***</mark> *Adding any type of vesting safes to a lock is only possible when creating a new lock. For an already created lock, it is possible to add vesting safes* [*attached to an EYWA NFT*](https://docs.crosscurve.fi/user-documentation/eywa-nft/eywa-nft-manager-interface#attaching-tokens-to-an-nft-safe)*.*
{% endhint %}

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252F0milNzdIzEXt1uvAN2eh%252Fimage.png%3Falt%3Dmedia%26token%3D0b59c9cb-c02b-4447-9d1d-004d459ddc3f&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=a182411e&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Returning to the **Create Token Lock** menu, the number of selected safes and EYWA tokens in them will be displayed in the **Selecting** field.

To add Vested EYWA safes to the lock, select the lock duration using the slider in the **Lock time** field. The possible [lock duration](https://docs.crosscurve.fi/user-documentation/dao/eywa-locker-interface#maximum-lock-duration) ranges from 0 to 156 weeks. After selecting the lock duration, the **You’ll get** field will display the total amount of voting power received in veEYWA tokens. If you need to create a lock only from vesting safes, click **Create Token lock** and sign the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FfBtazitpjxWXdNNn547G%252Fimage.png%3Falt%3Dmedia%26token%3Dc2b17171-1a98-44bd-abe4-e5dc7ed4a4b3&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=bedb5415&#x26;sv=2" alt=""><figcaption></figcaption></figure>

### 3. Boosting voting power by locking EYWA NFT. <a href="#id-3.-boosting-voting-power-by-locking-eywa-nft" id="id-3.-boosting-voting-power-by-locking-eywa-nft"></a>

To add EYWA tokens from EYWA NFT containers to the newly created lock, click **Select your EYWA NFTs and boost voting power** in the **Create Token Lock** menu. The possible [lock duration](https://docs.crosscurve.fi/user-documentation/dao/eywa-locker-interface#maximum-lock-duration) ranges from 0 to 156 weeks.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FQslu5qUYNMgZmd9IkW5W%252Fimage.png%3Falt%3Dmedia%26token%3D80f8858e-a9f8-4838-8244-8e4e17d8b9eb&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=61a29580&#x26;sv=2" alt=""><figcaption></figcaption></figure>

In the modal window, you will see a list of all available EYWA NFTs in the connected wallet, sorted by their rarity, along with detailed information:

* **EYWA tokens** - the number of EYWA tokens attached to the NFT container (more details [here](https://docs.eywa.fi/eywa-token/eywa-nft-collection#container))
* **Capacity** - the capacity of the NFT container (more details [here](https://docs.eywa.fi/eywa-token/eywa-nft-collection#container))
* **veEYWA Boosted** - NFT boost (more details [here](https://docs.eywa.fi/eywa-token/eywa-dao/overview-of-eywa-dao#nft-boosts))

If there are no EYWA NFTs in the connected wallet, use the quick buy link in the **Aurora (**[**tofunft**](https://tofunft.com/collection/eywa-arbi/items)**)** or **Arbitrum (**[**opensea**](https://opensea.io/collection/eywaprotocol)**)**

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FK3hCDi2FqIf5JGtOJUq2%252Fimage.png%3Falt%3Dmedia%26token%3D0b3edcbc-4846-40f7-846b-c694fecccf8a&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=32b1556e&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Select an NFT<mark style="color:red;">**\***</mark> (or a group of NFTs of the same rarity) to create a lock by clicking the checkbox to the left of the NFT. The **Locker** will display the number of selected NFTs and EYWA tokens in containers in the **Selected** field. A maximum of 100 NFTs can be selected per transaction when creating one lock. To continue, click **Lock EYWA NFTs**.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FYAzoxDboNmtI7RL2Jq6D%252Fimage.png%3Falt%3Dmedia%26token%3D64a52f02-a68e-4091-b212-01aa50bb379b&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=b7b125bb&#x26;sv=2" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
*<mark style="color:red;">**\***</mark>* ***Attention!** In some cases, EYWA NFT may be unavailable for adding to the lock:*
{% endhint %}

* If you have detached EYWA tokens from the EYWA NFT container, that EYWA NFT will have a 4-hour freeze period. Only after the timer has expired can you add that NFT to the lock.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FUyuwzy4WxjPyikmJlA2A%252Fimage.png%3Falt%3Dmedia%26token%3D9478830d-e8e7-46b2-af7c-0ec9bce7176e&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=ae58f131&#x26;sv=2" alt=""><figcaption></figcaption></figure>

* If the EYWA NFT container has EYWA tokens without vesting attached, you must [detach ](https://docs.crosscurve.fi/user-documentation/eywa-nft/eywa-nft-manager-interface#detaching-tokens-from-the-nft-container)them in **EYWA NFT Manager** (use quick [link](https://app.crosscurve.fi/nft-manager)) so that this NFT becomes available for adding to the lock. After detaching EYWA tokens, this NFT will be frozen for 4 hours (frontrun protection).

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252F3dlyM3H8UevP8jBpKZfW%252Fimage.png%3Falt%3Dmedia%26token%3Dc1e6d7b7-5d97-49c8-b3f2-9826a7c80222&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=c638c36e&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Returning to the **Create Token Lock** menu, the line **Selecting** will display the number of selected NFTs and the number of EYWA tokens in the containers, and in the line **Average EYWA NFT boost**, the average boost for vote will be calculated depending on the rarity of the selected NFTs.

To create the EYWA NFTs lock, select the lock duration using the slider in the **Lock time** field. The possible [lock duration](https://docs.crosscurve.fi/user-documentation/dao/eywa-locker-interface#maximum-lock-duration) ranges from 0 to 156 weeks. After selecting the lock duration, the **You’ll get** field will display the amount of voting power boost obtained (more details [here](https://docs.eywa.fi/eywa-token/eywa-dao/obtaining-veeywa-and-calculating-the-boost#increasing-veeywa-using-eywa-nfts)). If you need to create a lock only from EYWA NFTs, click **Create Token lock** and sign the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252F8ag8ogAHoTuHH38i1QCd%252Fimage.png%3Falt%3Dmedia%26token%3Da50ac467-000f-4854-aa16-353f927f4fe9&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=f41ac8cb&#x26;sv=2" alt=""><figcaption></figcaption></figure>

If the **Amount to Lock** field is set to 0 EYWA and no EYWA in vesting is selected, and you have selected an EYWA NFT with no EYWA tokens attached, a message will appear: **Unselect NFTs with 0 EYWA or add EYWA tokens**. In this case, to create the lock, you must fulfill one of the following conditions:

* Unselect the NFT with 0 EYWA tokens in the selection menu **Select your EYWA NFTs and boost voting power**
* Add EYWA tokens from your wallet balance in the **Amount to lock**, or add EYWA tokens with vesting in the selection menu **Select your vested EYWA to receive veEYWA**.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FLXE8RT51iJFbK6BBY5Uh%252Fimage.png%3Falt%3Dmedia%26token%3Dba7d33ca-8e30-47a8-8aa2-989a57bd1635&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=9b8bc35d&#x26;sv=2" alt=""><figcaption></figcaption></figure>

## Locker <a href="#eywa-locker" id="eywa-locker"></a>

During the lock period, you can manage accrued rewards and add EYWA tokens and EYWA NFTs to the lock.

To start working using the **CrossCurve** application, go to the **Locker** page in the **DAO** section. Click «**Connect wallet**», select the appropriate wallet from the list, and confirm the connection, ensuring you are on the official page: <https://app.crosscurve.fi/locker>

On the **Locker** page, detailed information about existing locks will be displayed:

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FtClV80Bu8Tf8YiXM6Pb8%252Fimage.png%3Falt%3Dmedia%26token%3Dd77b2d66-027f-4e62-b1fc-fda5e4ad2c74&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=de9f4cf2&#x26;sv=2" alt=""><figcaption></figcaption></figure>

* **id** - D number of EYWA DAO NFT (ID number assigned after creating a new lock through Create lock)
* **Locked EYWA** - the number of EYWA tokens in the EYWA DAO NFT safe
* **NFTs** - the number of EYWA NFTs inside the lock
* **Unlock time** - the next lock expiration date
* **veEYWA** - the voting power amount in veEYWA tokens for the selected lock
* **Staking APY** - the APY yield for locked EYWA tokens (more details on staking APY [here](https://docs.eywa.fi/eywa-token/eywa-dao/staking#staking-apy-table-with-10-million-locked-tokens-increments))
* **Transferable** - the status of the selected NFT’s transferability<mark style="color:red;">**\***</mark>
* **Staking rewards** - the amount of rewards received in EYWA tokens for the past lock period

{% hint style="success" %} <mark style="color:red;">**\***</mark> *There are two states of lock transferability:*
{% endhint %}

1. The label **Available**, means that this EYWA DAO NFT (lock) is free for transfer, sale, and unlocking if the lock period has expired.
2. The ![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcMaI-h3l1tGDjlsK8E4Ad65RNC1Uww2d51LOofxC7Gind1n8ZTdg9ec14_Ml96wTZf1g5Zut9uoQgVV1RVbxbBH7evI3z9OXrl1C9xmbnafynQJlEbBDOUzNFKNExujoyli77j%3Fkey%3Dy5Zpr30QEk--vfmRLDHeUbb0\&width=300\&dpr=4\&quality=100\&sign=9e439fec\&sv=2) snowflake icon means that the transfer is frozen, and this EYWA DAO NFT cannot be moved, sold, or unlocked. Freezing can occur for two reasons:
3. 1. EYWA DAO NFT is currently or was previously involved in voting during an epoch. In this case, to remove the frozen status, you need to cancel the vote by clicking **Unfreeze** ![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252F4B46SY1It5q8u7WuibC7%252Fimage.png%3Falt%3Dmedia%26token%3D2039f328-6039-4626-bad1-9ad9396b9865\&width=300\&dpr=4\&quality=100\&sign=5242b0b8\&sv=2)
   2. If an EYWA NFT was detached from an EYWA DAO NFT, a timer will be displayed showing the time remaining until the freeze is lifted, after which the EYWA DAO NFT can be moved. This is one of the front-running protection mechanisms. ![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FOVhKbxhEC6o8MRU1pPzR%252Fimage.png%3Falt%3Dmedia%26token%3Daccc0854-ba61-4fdc-ae89-e684fba73fc2\&width=300\&dpr=4\&quality=100\&sign=6318d29\&sv=2)

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252F3oRXULUVkqZev06lKgYs%252Fimage.png%3Falt%3Dmedia%26token%3Da8ef85e2-1d97-4761-9d89-679fa96d1510&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=e5c2b9a4&#x26;sv=2" alt=""><figcaption></figcaption></figure>

The **Available** status means that the EYWA DAO NFT can be transferred, sold, or unlocked (if the lock period has ended).

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FqHtYh9lu0aSe7gAzxN7s%252Fimage.png%3Falt%3Dmedia%26token%3D3bf0bd5e-c0e7-480f-9512-8ffb357ddb52&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=34ed4a84&#x26;sv=2" alt=""><figcaption></figcaption></figure>

The ![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcANaroMccsdRbPFB9NNDyDz-h6iJNmxqyay0uLxmmc2p4WjZGYHya486dQ2a3BFT2JtkNK04m825IDmcmSujsykXI1tiOUPoKq4nNFzQoGkZ_zy6k8GyFG_p9vOY14VbS2achm%3Fkey%3Dy5Zpr30QEk--vfmRLDHeUbb0\&width=300\&dpr=4\&quality=100\&sign=5df072f7\&sv=2) status with the **Unfreeze** link next to it means that the transfer is frozen - this lock is currently participating in voting for the current or previous epoch. To transfer, you must cancel the vote. To cancel the vote, click **Unfreeze** and confirm the vote cancellation in the modal window.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FFfwbhG5WceKuK6X3EQbD%252Fimage.png%3Falt%3Dmedia%26token%3D3e3d8d5d-9597-4073-a068-0dbd18ba9e48&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=d19a48cc&#x26;sv=2" alt=""><figcaption></figcaption></figure>

To confirm vote cancellation in the current/previous voting rounds, click **Reset votes** and sign the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252Fv1ruO7act6kEsvYFCeaF%252Fimage.png%3Falt%3Dmedia%26token%3D7d835617-7181-4621-98ba-72bc2018a072&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=61dfed02&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After confirming the transaction on-chain, the EYWA DAO NFT will become available for transfer.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FpOag42BnkTPXkI73iLBE%252Fimage.png%3Falt%3Dmedia%26token%3D5959e001-64ad-4fd0-b3a1-5b5c767754b5&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=fdf5d953&#x26;sv=2" alt=""><figcaption></figcaption></figure>

The ![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcANaroMccsdRbPFB9NNDyDz-h6iJNmxqyay0uLxmmc2p4WjZGYHya486dQ2a3BFT2JtkNK04m825IDmcmSujsykXI1tiOUPoKq4nNFzQoGkZ_zy6k8GyFG_p9vOY14VbS2achm%3Fkey%3Dy5Zpr30QEk--vfmRLDHeUbb0\&width=300\&dpr=4\&quality=100\&sign=5df072f7\&sv=2) status with the **Timer** icon means that the EYWA DAO NFT is unavailable for transfer after detaching the EYWA NFT. You must wait 4 hours (front-running protection) before the EYWA DAO NFT can be moved.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252Fsg2I3Mu3l7dBiJEtJBdx%252Fimage.png%3Falt%3Dmedia%26token%3D8ac88abf-7fed-4dba-aa64-531b6831f89a&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=e6c264b2&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Once the timer expires, the transferability status will change to **Available**.

1. To add accrued **Staking rewards** to the lock, click **Compound** and sign the transaction in your wallet. The EYWA Staking rewards tokens will be added to the lock for which they were received, for the same duration as the existing lock.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FX97zMRFHRNHEVa9UqO5A%252Fimage.png%3Falt%3Dmedia%26token%3D17f9bbae-b6e6-4f5b-b615-9c85e53720dd&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=a51a6a40&#x26;sv=2" alt=""><figcaption></figcaption></figure>

2. To add EYWA tokens to an existing lock and extend it, click **Manage**.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FQFOW6QsG7VSgQJwSM2Yf%252Fimage.png%3Falt%3Dmedia%26token%3D1be41b58-8391-4dcf-a81e-4857b242d60c&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=3f98e287&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Information about the selected lock will be displayed:

* **Unlocking on** - the lock expiration date
* **Already locked** - the number of locked EYWA tokens and vesting safes
* **Owned** - voting power in veEYWA tokens

To view detailed information about existing vesting safes, click **View**

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FQs9V19rZwVrsNdHEWf3i%252Fimage.png%3Falt%3Dmedia%26token%3D5724c4f0-cf85-4e5c-a692-8772a5e95fac&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=2718213f&#x26;sv=2" alt=""><figcaption></figcaption></figure>

In the **Vested EYWA** modal window, detailed information about your vesting safes will be displayed:

* The round name when the safe was received and the number of identical vesting safes (more details [here](https://docs.eywa.fi/eywa-token/tokenomics-eywa-crosscurve))
* **All tokens** - the number of EYWA tokens in the vesting safe
* **Unlocked EYWA** - the number of EYWA tokens received from the vesting safe
* **Vesting ends in** - the vesting expiration time
* **Total in lock** - the total number of vesting safes in the lock and the total amount if EYWA tokens in them.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FYfd1sNxq65wg7eUUINRg%252Fimage.png%3Falt%3Dmedia%26token%3D3b6aff80-7a93-4de2-b929-f8b2f0e91fe7&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=886abd14&#x26;sv=2" alt=""><figcaption></figcaption></figure>

2.1 To add EYWA tokens to the lock, enter the amount in the **Amount to compound** field.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FcxWP6htRT2l5i2kCVN2P%252Fimage.png%3Falt%3Dmedia%26token%3Dbbf254d4-250a-4209-b981-03a731559b10&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=6a284f8&#x26;sv=2" alt=""><figcaption></figcaption></figure>

To update the lock duration, select **Update time lock** and set a new lock duration using the slider.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252F218fwKlzhls3ImQFfAps%252Fimage.png%3Falt%3Dmedia%26token%3Df8e55b6b-78e7-49da-ba2b-436c7ef2df43&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=b998891f&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After entering the amount and selecting the lock duration, the application will display the total number of EYWA tokens ready for locking in the **You lock** field and the voting power (veEYWA) obtained after the changes in the **You’ll get** field. To update the lock, click **Update Locker** and confirm the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252Fx4IWVJEPBvkl5tJMRcZh%252Fimage.png%3Falt%3Dmedia%26token%3D97ab8cf6-b250-406a-adbf-d1468e8036b8&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=dece6d58&#x26;sv=2" alt=""><figcaption></figcaption></figure>

2.2 To add EYWA tokens from EYWA NFT containers to the lock and receive a voting power boost, click **Select your EYWA NFTs and boost voting power** in the **Manage Locke**r menu.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FC1RtZBg1UVgCyB3QHMM6%252Fimage.png%3Falt%3Dmedia%26token%3D692fca8a-fdaa-4d25-a6c4-e3ece995de3f&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=d6a4187a&#x26;sv=2" alt=""><figcaption></figcaption></figure>

In the modal window, you will see a list of all EYWA NFTs available in your connected wallet, sorted by rarity, along with detailed information. If there are no EYWA NFTs in your connected wallet, use the quick purchase link for **Aurora (**[**tofunft**](https://tofunft.com/collection/eywa-arbi/items)**)** or **Arbitrum (**[**opensea**](https://opensea.io/collection/eywaprotocol)**)**

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FudxnHvF8AlDRQ8KZpwwl%252Fimage.png%3Falt%3Dmedia%26token%3D43c6c054-949a-4316-a703-ed12e371e154&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=d1f47296&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Select an NFT (or a group of NFTs of the same rarity) to add to the lock by clicking the checkbox next to the NFT. The **Locker** will display the number of selected NFTs and EYWA tokens in the containers in the **Selected** field. A maximum of 100 NFTs can be selected per transaction when adding NFTs to a lock. To continue, click **Lock EYWA NFTs**

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FpFXfzMDQ78RqUv0TvJ0D%252Fimage.png%3Falt%3Dmedia%26token%3Da8b9ee59-2485-478e-a1e0-2ef138a33352&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=566f4bb0&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Returning to the **Manage Locker** menu, the **Selecting** field will display the number of selected NFTs and EYWA tokens in the containers. To update the lock duration, select **Update time lock** and set a new lock duration using the slider.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FRg7asqVBZY95NxWQu38V%252Fimage.png%3Falt%3Dmedia%26token%3D516c36d9-3114-468b-9182-87f9ea05a991&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=32847186&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After selecting the lock duration, the application will display the total number of EYWA tokens ready for locking in the **You lock** field, the voting power (veEYWA) obtained after the changes in the **You’ll get** field, and the average voting power boost in the **Average EYWA NFT boost**. To update the lock, click **Update Locker** and confirm the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FO9wYkZ3jDpvZ4eVX7cnZ%252Fimage.png%3Falt%3Dmedia%26token%3D4db398af-dd6b-46e7-bfc4-88aeeb7cde20&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=3907de6&#x26;sv=2" alt=""><figcaption></figcaption></figure>

The EYWA NFT in locks window displays detailed information about EYWA NFTs locked in the DAO:

* **Transferable** - lock transferability status (more details here)
* **Locked EYWA NFTs** - the number of EYWA NFTs locked in the DAO
* **Unboosted tokens** - the number of EYWA tokens that were not counted in the boost calculation due to container capacity limitations.

{% hint style="info" %}
***For example**, if you have 1,000,000 EYWA tokens and one Legendary EYWA NFT with a container capacity of 250,000 tokens, then Unboosted tokens = 750,000, since tokens exceeding the container size are not included in the boost calculation*
{% endhint %}

* **Average boost** - the average boost value obtained for the EYWA NFT lock (more details [here](https://docs.eywa.fi/eywa-token/eywa-dao/obtaining-veeywa-and-calculating-the-boost#increasing-veeywa-using-eywa-nfts))

To transfer an NFT from the lock, click **Withdraw**

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FEGJhtyjeNZ9Mxx7MxwHY%252Fimage.png%3Falt%3Dmedia%26token%3Da3a130ce-fa4a-436e-a906-ac3edabcca90&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=76f19b09&#x26;sv=2" alt=""><figcaption></figcaption></figure>

In the modal window, you will see a list of EYWA NFTs locked in the DAO, sorted by rarity and detailed information:

* **Capacity** - NFT container capacity (more details here)
* **veEYWA Boosted** - NFT boost (more details here)

If there are no EYWA NFTs in your connected wallet, use the quick purchase link for **Aurora (**[**tofunft**](https://tofunft.com/collection/eywa-arbi/items)**)** or **Arbitrum (**[**opensea**](https://opensea.io/collection/eywaprotocol)**)**

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FiCUq2yjXAjLUCWINosNQ%252Fimage.png%3Falt%3Dmedia%26token%3D71a34dad-d031-41ec-aad0-41cdf616d2cd&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=c64a2fec&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Select an NFT<mark style="color:red;">**\***</mark> (or a group of NFTs of the same rarity) to unlock by clicking the checkbox next to an NFT. A maximum of 100 NFTs can be unlocked per transaction.

{% hint style="info" %} <mark style="color:red;">**\***</mark> If the EYWA DAO NFT you selected for unlocking participated in voting, it is in Freeze status, and you need to cancel votes by clicking **Unfreeze to withdraw**
{% endhint %}

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FvYBkfHN6xfodxFiUHLKa%252Fimage.png%3Falt%3Dmedia%26token%3D320e1dad-fb6a-4ef5-9f5e-05ca02acbf2d&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=be5f7317&#x26;sv=2" alt=""><figcaption></figcaption></figure>

To confirm vote cancellation in the current/previous voting rounds, click **Reset votes** and sign the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FJpIywHQR3gRR7vFDxz3D%252Fimage.png%3Falt%3Dmedia%26token%3Dc6e0c83b-972d-4854-9bbb-30cabb248cec&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=fd2933ff&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After confirming the transaction on-chain, the EYWA NFT will become available for unlocking.

To continue unlocking EYWA NFTs, click **Withdraw EYWA NFTs** and confirm the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252Fafd0al0IfX1zCBTrHrcs%252Fimage.png%3Falt%3Dmedia%26token%3D147e078c-7a42-49ff-b832-09a2daf8d7f8&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=c4be44c5&#x26;sv=2" alt=""><figcaption></figcaption></figure>

3. Once the lock period ends, the **Unlock** button will become available. To unlock the EYWA DAO NFT and manage safes, click **Unlock**.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FAVEWUcT9PYyvhmYsyVWV%252Fimage.png%3Falt%3Dmedia%26token%3D2c1bf635-2686-4b3a-9f8d-b8916ac3fda0&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=fa29e04d&#x26;sv=2" alt=""><figcaption></figcaption></figure>

To confirm unlocking<mark style="color:red;">**\***</mark> click **OK** and sign the transaction in your wallet.

{% hint style="info" %}
*<mark style="color:red;">**\***</mark> Unlocking after the lock period allows managing vesting safes in the* [***Locker***](https://app.crosscurve.fi/locker)*.*
{% endhint %}

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252F8lCkV6qD4wKe1x36T1b3%252Fimage.png%3Falt%3Dmedia%26token%3Dabd3dbe4-a449-4d51-991d-5d49ebe19360&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=21119174&#x26;sv=2" alt=""><figcaption></figcaption></figure>

3.1. If you want to unlock the EYWA DAO NFT that is/was involved in voting, you need to cancel the votes. To cancel the votes, click **Unfreeze** and confirm the vote cancellation in the modal window.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FLrDaFwfXG0a2TTkVzg9h%252Fimage.png%3Falt%3Dmedia%26token%3De70edabf-e488-426f-89b1-17e59cb518c6&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=e0aa19aa&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Alternatively, clicking **Unlock** will bring up a modal window displaying the lock contents and a prompt to unfreeze the EYWA DAO NFT to access its contents.

To unfreeze the selected EYWA DAO NFT, click **Unfreeze to unlock**. The **You’ll get** field will show the number of unlocked EYWA tokens, vesting safes, and NFTs.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252F2pM5KBmoCXTPvJHgpn0r%252Fimage.png%3Falt%3Dmedia%26token%3D745b906f-c5c3-4244-8758-46fc89de6f0b&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=6deeb138&#x26;sv=2" alt=""><figcaption></figcaption></figure>

To confirm the vote cancellation in the current/previous voting rounds, click **Reset votes** and sign the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252Fxicqe5I8bTSHHnXVvPsi%252Fimage.png%3Falt%3Dmedia%26token%3D02fa525b-94ff-48c3-8664-fddf3e8a182d&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=e1072874&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After confirming the transaction on-chain, the EYWA DAO NFT will become available for unlocking.

3.2. If you want to unlock an EYWA DAO NFT that has a timer set after detaching an NFT, you must wait 4 hours (front-running protection) before it can be moved. Click **Unlock** to initiate the process.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FMCg8Vmh7Ua5ypYm6U2Jh%252Fimage.png%3Falt%3Dmedia%26token%3Dc9ed8d32-bde2-4136-9d4b-9ca6af891225&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=dd8c5f60&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Once the timer expires, the EYWA DAO NFT will become available for transfer.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdYgr_Er3XfEqAQk6HViHNUpBvcT3MX7KiQaHa443hLY0nswzYc9ALmTsyrg3WMnCjMlwvpLZK4A_4RW2inAYvaf496ka5_s1M1-42NkqCs8dc67fZgJGYZBcptCsltvWKPwhvoyg%3Fkey%3Dy5Zpr30QEk--vfmRLDHeUbb0&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=7c5353b7&#x26;sv=2" alt=""><figcaption></figcaption></figure>


# Vote Interface

Vote Interface Description

## Voting for pools and earning incentives <a href="#voting-for-pools-and-earning-incentives" id="voting-for-pools-and-earning-incentives"></a>

[Locking EYWA](https://docs.crosscurve.fi/crosscurve-dao/overview-of-crosscurve-dao#locking-eywa-veeywa) tokens provides unique opportunities to earn additional income by receiving [incentives for voting](https://docs.crosscurve.fi/crosscurve-dao/overview-of-crosscurve-dao#voting-for-pools-and-receiving-incentives-bribes) on specific [pools](https://docs.crosscurve.fi/crosscurve-dao/voting#voting-for-pools). [**veEYWA** ](https://docs.crosscurve.fi/crosscurve-dao/obtaining-veeywa-and-calculating-the-boost)holders use their votes to direct [liquidity distribution and rewards](https://docs.crosscurve.fi/crosscurve-dao/voting#reward-distribution-to-liquidity-providers) across **CrossCurve** pools. Projects seeking liquidity offer incentives (various tokens) to [**veEYWA** ](https://docs.crosscurve.fi/crosscurve-dao/obtaining-veeywa-and-calculating-the-boost)holders in exchange for their votes.

[Locking EYWA](https://docs.crosscurve.fi/crosscurve-dao/overview-of-crosscurve-dao#locking-eywa-veeywa) tokens transforms voting rights into income streams: **veEYWA** holders select the most beneficial proposals and receive rewards in tokens, cryptocurrencies, or other forms of income from participating projects. The higher your **veEYWA** balance, the greater your potential rewards.

Using [EYWA DAO NFTs](https://docs.crosscurve.fi/user-documentation/eywa-nft#the-utility-of-eywa-nfts) further enhances your earnings when voting on pools.

To start using the **CrossCurve** application, navigate to the **Vote** page under the **DAO** section. Click «**Connect wallet**», select your wallet from the list, and confirm the connection, ensuring you are on the official page: <https://app.crosscurve.fi/vote-pools>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcOCWyx9FJhlfBSixAfRfsCD96RgKJOr9LhRUwga88dF6fZt6pwq8ut1g98z8wC2QFafa-f1lWCxWFJf_NkrfAuasPPVTjLO8ce_DauOhYNTTEN1736nEniPVVZMo8YUhPjzvY-Rw?key=T2ghWtIEXtzqBfSERu7yJg" alt=""><figcaption></figcaption></figure>

After successfully connecting your wallet, open the **Pools** tab to participate in pool voting.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcmINPG0ERecyxbwsO8V07oXUa4SVuY_qj44t0cTEpIYU-1jGmt21rVecwpiQzibZ1nTUNi2qbsO4H-2XJuTU9qNtdanaINOjPxQToT4lHZTp0ZOeG_Xu6j4BeVW-EcY9JdrxD3NA?key=T2ghWtIEXtzqBfSERu7yJg" alt=""><figcaption></figcaption></figure>

You will see the following details:

* **Current voting round ends in** - Countdown timer indicating when the current voting round concludes
* **Total voting power available for this epoch** - Combined voting power of all **DAO** participants for the current epoch
* **You have** - Number of your locks and their voting power in **veEYWA** tokens
* **Voted** - Number of your locks and the total **veEYWA** voting power you have already allocated this epoch
* **Ready for voting** - Number of locks available for voting and their total **veEYWA** voting power
* **Estimated EYWA emission in the next epoch** - Estimated **EYWA** token rewards allocated for the upcoming epoch
* **Estimated CRV emission in the next epoch** - Estimated **CRV** token rewards allocated for the upcoming epoch
* **Estimated incentives available in the current epoch** - Estimated incentives from partners allocated in the current epoch (in USD equivalent)

In the window displaying participating voting pools, the following information appears:

* **Pools** - Pool name and type (Stable pool<mark style="color:red;">**\*\***</mark>, Volatility pool<mark style="color:red;">**\***</mark>)
* **Chain** - Network of the pool
* **Incentives** - Amount of incentives allocated for votes on each pool during the current epoch
* **vAPR** - Projected yield metric for the next epoch, calculated based on current pool votes and TVL
* **Select % vote** - Select the percentage of your voting power allocated to the chosen pool&#x20;
* **Votes sent** - Percentage of voting power you have already allocated to each pool
* **Est. rewards** - Estimated reward amount in USD equivalent<br>

> **CrossCurve** offers two distinct liquidity pools to users: the **Stable Pool** and the **Volatility Pool**:
>
> *<mark style="color:red;">**\***</mark>* ***Volatility Pools** consist of liquidity (**Curve** pools) for asset pairs with volatile prices, typically experiencing divergence. For example, **USDT** vs. **EYWA** or **ETH** vs. **BTC**.*\
> *Volatile pairs are formed by combining uncorrelated assets and utilize **Curve's** unique impermanent loss compensation mechanism for pools containing volatile assets.*\
> *<mark style="color:red;">**\*\***</mark>* ***Stable Pools** are pools of stable liquidity (**Curve** pools) between assets whose prices are pegged to each other. For example, **USDT** vs. **USDC**.*
>
> Another case involves derivative assets, such as **wstETH** and **rETH**. Although **rETH** is considered a volatile asset, the trading pair between **wstETH** and **rETH** is classified as a stable pool because the price of **wstETH** does not significantly fluctuate relative to **rETH**.
>
> ***Stable pairs** on **CrossCurve** are designed for correlated assets and aim to maintain a 1:1 transfer ratio between them as closely as possible.*

To participate in voting, select the pool you're interested in, adjust the percentage of your voting power to allocate, and click **Vote**. Then, sign the transaction in your wallet.&#x20;

{% hint style="success" %}
*The total of your votes across all pools must equal 100% for the Vote button to become active.*
{% endhint %}

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdLTnPqzfnkdruIufa_p_2bTIcU2MPeeyjZwTRwsBgzgJnZSueUSmD_iBdak1THTiq9yF50vXr-rDCNOcaX1paNAFvKkcJNrTK_xBpDYnuWYYvooUw1LorCgmgmklmATV1A13g0Kw?key=T2ghWtIEXtzqBfSERu7yJg" alt=""><figcaption></figcaption></figure>

You can view detailed information about your submitted votes by expanding the **Votes sent** menu.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdp4X8gq8PZ1OMASq74scGa-rh3O2vE7Wo1yt3fxy4D0sTJcylxSC__Zv3lzxnQF82D_PHVpddaG8NtyBfsxCOComj2-BsHcRXJuY1fMkVPtN9MBUxNf2wxz3AOMyj2Tmrjmtem?key=T2ghWtIEXtzqBfSERu7yJg" alt=""><figcaption></figcaption></figure>

To cancel your current vote for a specific pool, click **Reset**. To remove all your votes across all pools, click **Reset all**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfNY2JUmgBfLUofgcAnU1mIRozXzJe9NG8R6f6DQSQKeaSXq-xJsd_Rx2bhqbnHcPRZzg4T-GvfnvW9DRYovhY9QWZgQuev65QHTSkGSz5ryrD55D4bcKVE9rNabQkzFLbuj6xQDw?key=T2ghWtIEXtzqBfSERu7yJg" alt=""><figcaption></figcaption></figure>

When confirming vote cancellation, all your votes for the selected pool will be withdrawn. To proceed, click **Ok** and sign the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeA7AOiybK7V-LrQX04RLQeLJkD4F_U-twK6uOs97NceT94f7xEzQfvf4--3dgxxcz0FwuMN3W8mPW7MRwsxQH4MEChAAPCLdhXtCpOhTIQDDCNbqGhSQXBw-0XP86MOPUwa5Pxgw?key=T2ghWtIEXtzqBfSERu7yJg" alt=""><figcaption></figcaption></figure>

<br>


# Incentives Interface

Incentives Interface Description

**Incentives** interface provides access to the ve(3,3) mechanism in the CrossCurve DAO for external projects and protocols, as well as for veEYWA holders.

{% hint style="info" %}
*«ve(3,3)» is a mechanism used in DeFi protocols that combines (3,3) from game theory (mutually beneficial cooperation) and ve (vote escrow, i.e., token locking for voting), creating a tokenomics model where everyone benefits from acting in the protocol’s best interests, generating overall synergy.*
{% endhint %}

Now, owners of locked EYWA tokens (veEYWA) can receive additional rewards for participating in votes for specific liquidity pools, significantly expanding the earning opportunities within the ecosystem. Meanwhile, external projects can acquire liquidity, gain visibility, and secure their status in the cross-chain space.

To get started in the **CrossCurve** application, go to the **Incentives** page in the **DAO** section. Click “**Connect wallet**”, select a suitable wallet from the list, and confirm the connection, making sure you are on the official page: <https://app.crosscurve.fi/incentives>

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfPZaWQMCAmldsW66UBJZ1CTZMe_uM_tcxzW-HL5g5oWfLCurxRNMTXctB-5Pp8gZ1RsRT2AsEd4s30TJzsONNn8wch3o7Kjs5jnU59-RuChgkb65DJZwwsBzLrYFHh8_970Tjs%3Fkey%3DR5KNGF3KxqBsYM5VGZX_t-hw&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=b0a0d906&#x26;sv=2" alt=""><figcaption></figcaption></figure>

On the Incentives page, detailed information will be displayed:

* **Current voting round ends in** - remaining time until the voting period ends in this epoch
* **Farm pools** - pool name and its statistics:
* **Basic Volatile** - pool type<mark style="color:red;">**\***</mark>

![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdiZbzU7PAxtAmfqrmNQ46BJXMGlMSO60kwcYWRwa7FeHA-EptEFFcpmkwYPlwmAR6UHpp8hos8VtY4AE99VRr1kFd0ItYrMQ-jYZTc1id-ryKiiGkkCvNruwkj0ykjDKVuT2SpYw%3Fkey%3DR5KNGF3KxqBsYM5VGZX_t-hw\&width=300\&dpr=4\&quality=100\&sign=e8e2dd30\&sv=2)

> *<mark style="color:red;">\*</mark> **CrossCurve** offers two distinct liquidity pools to users: the **Stable Pool** and the **Volatility Pool**.*
>
> ***Volatility Pools** consist of liquidity (**Curve** pools) for asset pairs with volatile prices, typically experiencing divergence. For example, USDT vs. EYWA or ETH vs. BTC.*
>
> ***Volatile pairs** are formed by combining uncorrelated assets and utilize **Curve's** unique impermanent loss compensation mechanism for pools containing volatile assets.*
>
> ***Stable Pools** are pools of stable liquidity (**Curve** pools) between assets whose prices are pegged to each other. For example, USDT vs. USDC.*
>
> *Another case involves derivative assets, such as wstETH and rETH. Although rETH is considered a volatile asset, the trading pair between wstETH and rETH is classified as a stable pool because the price of wstETH does not significantly fluctuate relative to rETH.*
>
> ***Stable pairs** on **CrossCurve** are designed for correlated assets and aim to maintain a 1:1 transfer ratio between them as closely as possible.*

* **Votes** - number of veEYWA votes cast and the percentage of total votes received by this pool among all pools participating in the vote
* **Chain** - the network in which the pool operates
* **TVL** - total value locked in the pool
* **Volume (24h)** - trading volume in the pool over 24 hours
* **APR** - yield in the pool
* **Total incentives** - total rewards allocated for the epoch in USD equivalent

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfSKc1ZXJt0bTHivdrZDisJcW-w3fRDTmpF5e9a2qZ44qQLjwIbvu97FxZVjeqKbuOvvIjD0cqg7TFk_U-710ubdxrfQrjMPWdIrPutZkAbWTW-xqH19PZZ6HwPwq3zIHEIwt2Bjg%3Fkey%3DR5KNGF3KxqBsYM5VGZX_t-hw&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=72d48a0d&#x26;sv=2" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
***Attention:** The **Incentives** function is mainly used by protocols. Please ensure that you understand how it works before using it, as any transaction is final and cannot be reversed. For more detailed information, follow the **Read docs** link.*
{% endhint %}

For easier navigation, use the filter ![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcxfqytW3-l_8TEcPOi1rPx25i3M5yMf3sCmuB2N7RElytrG1txVGXstefSpO5noDS9nekff9WD0YHvNyH2DHsG2Js1B8EBNs2tAr4R-nhcy-3obJSjiz4p5yd_4-aBF3V0FjAfhg%3Fkey%3DerQewc8CjmxDY_1_aoq-Xf1G\&width=300\&dpr=4\&quality=100\&sign=f0cd82d\&sv=2) icon to search for a specific network or token within a pool.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXextuty0mJbtj3293vuMz1yk-f3a76upy_vpgB2MaSgD5xd2vShhNuj9dw6-Kd9PGQZ0oS_NICJ1qjSPE3rJLK7XlkJRL65cpXuwALxBRGK7o59vJg2yq1puUaYhdBXuhJuJV7ZBg%3Fkey%3DR5KNGF3KxqBsYM5VGZX_t-hw&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=ae9c55e3&#x26;sv=2" alt=""><figcaption></figcaption></figure>

To propose a reward for all CrossCurve DAO participants in exchange for their votes in the next epoch, select the pool to which you want to allocate rewards. At the beginning of the next epoch, these rewards will be evenly distributed among all those who voted for that pool.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXeK7hOWsofvO9_Ogb_DEnoe53swKr4DZ5vnGMF32eTfRDEcXVqbWFHK0bOXL9tMFn9Bdj-jKDloYP0449qlDvWFiEFTJ2H9WSxuvCSvp2xMnAfwBE_xDsyUSqi8umcQ2Otj8ksP%3Fkey%3DR5KNGF3KxqBsYM5VGZX_t-hw&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=387969df&#x26;sv=2" alt=""><figcaption></figcaption></figure>

In the modal window that appears, select the token in which you want to add rewards and enter the amount to be allocated.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfdwkExGjBv81ascdgxB9EH9XQJn4oTScBfqfhS6VTly9-Tve8hLunOZhnnkIszeN4O5nwaIWIogQ2m7uAL71zhgThsyE1ULmY9XDdNHb5_GbZoME5lNYNwruw45VVSGZUDo8sv%3Fkey%3DR5KNGF3KxqBsYM5VGZX_t-hw&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=ec9a8067&#x26;sv=2" alt=""><figcaption></figcaption></figure>

To proceed with adding the selected rewards to the pool, you must give consent by checking the box, as any transaction is final and cannot be reversed, meaning the allocated tokens cannot be refunded.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfIbRZ7merm5qxNpd0Me8aXdj0H-ZGrX5O8iOXOpaMmnVjgB1IEUtZBsXmUsyHybkC7hAB_5YlgpwGD5XZh9bmTtGEdHE1YJpVVrv8tdgu3AWTpZk5Lqo2K2Dorvp1zYNA-kOQvag%3Fkey%3DR5KNGF3KxqBsYM5VGZX_t-hw&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=3f751422&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After confirming your agreement with the reward allocation terms, click **Add Incentive** and sign the transactions to approve spending (**Approve**) and add the rewards (**Add Incentive**)

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXeJ8iWfCQZWAmhlgDaT8zKe-44TpcuE1XOBJVrTtzC4mxJwsHrdVILIfZR4vqZjkIFIFrHZSImEa6E31BCzwClVNMR95KDIdw0qhOuZc7YueHUU0NfJmu6fAfyZNPx234rOxi7hNA%3Fkey%3DR5KNGF3KxqBsYM5VGZX_t-hw&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=3c94c9b7&#x26;sv=2" alt=""><figcaption></figcaption></figure>

By navigating to the [**Vote** ](https://app.crosscurve.fi/vote-pools)page in the **DAO** section, you can view the amount of allocated rewards for DAO participants in the current and upcoming epochs:

**Estimated EYWA emission in the next epoch** - average amount of rewards allocated for the next epoch in EYWA tokens

**Estimated CRV emission in the next epoch** - average amount of rewards allocated for the next epoch in CRV tokens

**Estimated incentives available in the current epoch** - average amount of rewards allocated for the current epoch in USD equivalent

The reward amounts allocated to voters for each pool are displayed in the **Incentives** column.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfNRQvuUbgVxCQSZ9HHn_NkoCRETcRxXqcIhFGgZD5wt08K9Akk5ZFZ05ARHi4ruiu1U6o5jexm-v4WCYmII2d9wf5efEwi38_Nqs_foxhfhLQj1shkzDkEd2JwaM32aGVBitlQ%3Fkey%3DerQewc8CjmxDY_1_aoq-Xf1G&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=494c1819&#x26;sv=2" alt=""><figcaption></figcaption></figure>

On the [**Dashboard** ](https://app.crosscurve.fi/dashboard)page in your personal statistics, rewards are calculated in the **Incentives** section. At the end off the epoch, rewards become available for claiming. To claim your rewards, click **Claim** and sign the transaction(s) in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXeAKT7GIwW2YE9VendzAtOZAnrj5wbpPlhWbouJCK-Ec2JvXbmXlJjeTDPK8zi6c2hZamrMPJTaqnYnysPDeuBvcVwKpU8h2LOzmHHjMDrRtNTnuBgUvKeF6e2fj0i5HDeNHP_0TA%3Fkey%3DerQewc8CjmxDY_1_aoq-Xf1G&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=39d769a&#x26;sv=2" alt=""><figcaption></figcaption></figure>


# Proposals Interface

Proposals provides the **CrossCurve DAO** community with tools to manage and guide the protocol's development:

&#x20;  \- A platform for managing and voting on proposals impacting the **CrossCurve** protocol &#x20;

&#x20;  \- Decentralized decision-making by token holders &#x20;

**DAO** members actively participate in shaping the **CrossCurve** protocol by:

* **Creating proposals**: members can introduce initiatives such as protocol parameter adjustments or fund allocation.&#x20;
* **Voting**: users vote For/Against proposals using their veEYWA tokens (vote weight corresponds to veEYWA balance).
* **Status tracking**: displays proposals categorized by active, completed, and pending, along with their outcomes.

To begin interacting with proposals in the **CrossCurve** app, visit the **Proposals** page at <https://app.crosscurve.fi/proposal> under **DAO** → **Vote**, then click **Connect wallet**.&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcY-vhdA-ze_sd0tELlwUrIM8FhFdWJVTqT9WsSXNN1siAEqDYuQEwTok6iMWWcsggXjZSpG7NBNil6PHIGDADHUFerphyxqN2bIu2wJr6xq17caJDeQ6ItpVUvcTVx9airMIe0EA?key=X3r6vXtbtE5_3kxJz_7VoQ" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeIhqvb7J_isAfZoYUh4ntZ5cBnPCjlTwSA0hWlmQMxBhW0lM109ozKMfKIBQ4nsK1TJaOL05JmzOHQSsFYBaCXs9PmdutStJo2dqnIDli458WiwlzTq1_ahKDLvvotw90OjvllDg?key=X3r6vXtbtE5_3kxJz_7VoQ" alt=""><figcaption></figcaption></figure>

The **Proposals** page lists **DAO** proposals, each showing:

* Proposal title and a brief summary&#x20;
* Current status:
  * ![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXf6uURFMkL8yQyFjRjlGa7cAl3Hsd6yz3qkBmSR9UeBIC2HBK-IgFYtG27H6D0S1YH6CMuniblkrT36Iq4CjjKOpoITAcJZ_NFA0pnycKd7z8KfKfpsK2z93wHepzYPiiQ4hJhobQ?key=X3r6vXtbtE5_3kxJz_7VoQ) - Pending voting start
  * ![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXc6UKpCz3FLBS5vv3B57WiU4OGKkLG_oTES-PiRAUQ9uq2JkPquXWKiVXY-cLta-T56s7PTFeOzErXGrLWjFEC0LoTmZiGUc0hXunR3DvHUIEueAbgJB2AZFRkAJm6LtvTWV1NWIQ?key=X3r6vXtbtE5_3kxJz_7VoQ) - Proposal approved
  * ![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXeH6NGZzGJtJzprw1W5nLC3TfxJjLVJLf643GIq39AqA7NXVYalNQe6atMArZAyV3FNO4Mk4qHKsKjEP8A9B_43BTEMPK1Lc0COmIv1xJxOawZHP8fEGQU2TsM53b9cZgRQ72ICeQ?key=X3r6vXtbtE5_3kxJz_7VoQ) - Proposal rejected
  * ![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfpevonZ1huSk5ag39gEbh8Sjg0f-PXLlyqO7HJ9s5xST6C5YASBUQJFH76nZ51P6FNdmG2TnSm_ioiVLs4UEXuFknB-xdXxa0IrP-oqaRUQro8GaHz05g6h33HKAPgY8P5UkSMGA?key=X3r6vXtbtE5_3kxJz_7VoQ) - Insufficient quorum
  * ![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXdpb3_yrHAzWtiQkRXq15nugwAB7tor34DDyopbiKrbENz-1HQ7XbDqLzaHba9S-_csE_gg7XtKswErAIuFrJl6W2jJHMteyoepHnGejHZwJD22n5Bs6gsVO8u8KLyh0taTbz6-yQ?key=X3r6vXtbtE5_3kxJz_7VoQ) - Active voting

\- ![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXd0MvYS5l_WcGMNsB-uUecNyyyHEigvAklhtUCBe2CDpNtBeVGT-FwMbfRXMNgo1X55zyN9bLS6nCJ4jmqLnfgQsgztO_1aZtovWxg_YVUbhN7b-nZL13JmPVS26uXLjA97ijcB-Q?key=X3r6vXtbtE5_3kxJz_7VoQ) - Link to the proposal author&#x20;

\- ![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfHSTwPr29K7ew2SVX_-Jsk_yEqK3aQJNjNsh7bX92MSLrf_WVq81IfZGJghvJiQDPs3B5c_XfE6KhhFiMEo0xbUsO3m5NAZeg_mFTUqrMmSjrCm5DOxioCAZAgxc_nLiI0OJF9YA?key=X3r6vXtbtE5_3kxJz_7VoQ) - Date of creation&#x20;

Voting progress is shown in the status bar, displaying:

* Number of votes For and Against&#x20;
* Required quorum in veEYWA tokens

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdI2nyLajTMbRR_LXrDYc3qB6_CpQ2Tc0XZevfMO1LwM3lH4Q3LyFCiRO7jqf4kQ3Q7mdQ2LJmc6KdK5zjNw6aaDu1Z22NfQTrAgUb4MYd56-ESiq7bwGoo6DQQH9Y342eOUfbmPg?key=X3r6vXtbtE5_3kxJz_7VoQ" alt=""><figcaption></figcaption></figure>

For detailed information, navigate to the specific **Proposal** page.&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcMpI5XC9IJOKPkwnjfkaUjgyj6nzTMF8Q2OJzw8HgN8tlTOc0NjU-e9un8AAPxfHcVs3GMhzwKUMWvapzWHYu4VBBs_d6oxSiEkpizANvQQTIfa4m8NHTLk8pv7HOfJpRYucB4ug?key=X3r6vXtbtE5_3kxJz_7VoQ" alt=""><figcaption></figcaption></figure>

&#x20;To participate in voting, connect your wallet by clicking **Connect wallet**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdYnhPnxnM6FPjR5WLByNCC84v7RCjJlGl6z1L52Qxn_TA8VpvOg9KmKJ5Puq3_tbX3Lp3vZXJfB72I8Ia63ipnCTI37Rof_2mfhbaG1VoQQ-0UZZNafF-7dhGLhC2L4CKAq3Nr?key=X3r6vXtbtE5_3kxJz_7VoQ" alt=""><figcaption></figcaption></figure>

* If the **Proposal** status is ![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXf6uURFMkL8yQyFjRjlGa7cAl3Hsd6yz3qkBmSR9UeBIC2HBK-IgFYtG27H6D0S1YH6CMuniblkrT36Iq4CjjKOpoITAcJZ_NFA0pnycKd7z8KfKfpsK2z93wHepzYPiiQ4hJhobQ?key=X3r6vXtbtE5_3kxJz_7VoQ), the required quorum and voting start time will be shown.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeeAOFMYQoAkEp3Nm9PMAP7rzWYY7zp76Q2-MKE7xg68Ku4sGS2PEDL-TPzQDzrIXfnYCrpzP_iJ6ZdKjjS6oYddOaay8Mrhp-_nD8q2-x6wMkRG3967dFoCG6goocGftWoGqtHgQ?key=X3r6vXtbtE5_3kxJz_7VoQ" alt=""><figcaption></figcaption></figure>

* If the **Proposal** status is ![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXdpb3_yrHAzWtiQkRXq15nugwAB7tor34DDyopbiKrbENz-1HQ7XbDqLzaHba9S-_csE_gg7XtKswErAIuFrJl6W2jJHMteyoepHnGejHZwJD22n5Bs6gsVO8u8KLyh0taTbz6-yQ?key=X3r6vXtbtE5_3kxJz_7VoQ), current voting progress will be displayed **Yes** or **No**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcMiuvDCCYDqbMquVcldCf4ujU1i1RU7tyTLqr2MWfgVAQr8s8YtoKyGjd73A4P1DvL4s_zEL4_BorsMIRJ0gWpbVqTr6meKesd2rcl66y7334wkTVEIA9Owdj12_q44pw7bqTD?key=X3r6vXtbtE5_3kxJz_7VoQ" alt=""><figcaption></figcaption></figure>

After voting, await voting completion.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcb4Mugb3D1s9Pi5fWZnSuORgK_mNye31UIB5YUfECraElC23EKYoC3Me1A69xt9FrCBLJxQgUBQS63ZlVK1X95Ijnvlk9EqVj9etmxAgTyeoTon-hid3avD9eCnzdGnO_4DSV-YA?key=X3r6vXtbtE5_3kxJz_7VoQ" alt=""><figcaption></figcaption></figure>

* Once voting concludes, results are shown clearly:
  * ![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXc6UKpCz3FLBS5vv3B57WiU4OGKkLG_oTES-PiRAUQ9uq2JkPquXWKiVXY-cLta-T56s7PTFeOzErXGrLWjFEC0LoTmZiGUc0hXunR3DvHUIEueAbgJB2AZFRkAJm6LtvTWV1NWIQ?key=X3r6vXtbtE5_3kxJz_7VoQ) - **Proposal** approved, with a vote weight of 64% **Yes**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcTOORWxdOfdajmvtm4vSryoDiyNJNCZJYLv41x_4sBFE0jnMNGdO2IWJj-lhedxeQD6ilM3YgzSSF16lbWKJz5XwHOJUzSrKxdA8ziVdHFcsQIPAfYO4XAeuNpaobMn3037YsH?key=X3r6vXtbtE5_3kxJz_7VoQ" alt=""><figcaption></figcaption></figure>

* ![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXeH6NGZzGJtJzprw1W5nLC3TfxJjLVJLf643GIq39AqA7NXVYalNQe6atMArZAyV3FNO4Mk4qHKsKjEP8A9B_43BTEMPK1Lc0COmIv1xJxOawZHP8fEGQU2TsM53b9cZgRQ72ICeQ?key=X3r6vXtbtE5_3kxJz_7VoQ) - **Proposal** rejected, with a vote weight of 74% **No**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXco5CTKYr73eWG5-LeHH9IyZd_6PlpzEqaOi8GMGssWyucqweu3RPuAkp8ScR-Q0tqgT1uPoexjBuiKnPa9wxrKR-Rb5z30zpgH9wH_Jvd_USXHLmp51GzEcVEgkX1fDptu0zGU?key=X3r6vXtbtE5_3kxJz_7VoQ" alt=""><figcaption></figcaption></figure>

* ![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfpevonZ1huSk5ag39gEbh8Sjg0f-PXLlyqO7HJ9s5xST6C5YASBUQJFH76nZ51P6FNdmG2TnSm_ioiVLs4UEXuFknB-xdXxa0IrP-oqaRUQro8GaHz05g6h33HKAPgY8P5UkSMGA?key=X3r6vXtbtE5_3kxJz_7VoQ) - Insufficient quorum achieved

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXezKmKWwgefA9R-CVLVk9eALN2mXpiGeGrnAmcNv1m_i2h1T2W8oewFHAxyM-1g9a5xS1EfhNlJF1axAtKRJHxVXjqJDkNgvf_apWYtvpZKprvZXeCxYUJcGsmTpUvpoeltzIlR?key=X3r6vXtbtE5_3kxJz_7VoQ" alt=""><figcaption></figcaption></figure>

<br>


# Working with the EYWA Locker contract in Arbiscan.

## Creating a lock for a vesting safe <a href="#creating-a-lock-for-a-vesting-safe" id="creating-a-lock-for-a-vesting-safe"></a>

### How to find the claimed safe: <a href="#how-to-find-the-claimed-safe" id="how-to-find-the-claimed-safe"></a>

1. Open [Arbiscan](https://arbiscan.io/), and enter the wallet address that received the vesting safe in the search bar, or enter the link in the format <https://arbiscan.io/address/>{wallet address}, replacing {wallet address} with your wallet address.

In the list of ![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXd3Y3lTYhs-SgGOJjpUXcx3nnyeoVysaW_zcGxDOQ_qVtlCppJwhW4IRJSmB6H_KIraSeO5pvNN2829uTNkCCYCIxY4AQcZUwuax_PUK7ahfuxLMHg-OOfi9NpPBTWqWVsi0yXLCw%3Fkey%3D6IT_MVvTrp3c3uTgxvhJCx3O\&width=300\&dpr=4\&quality=100\&sign=a7db786\&sv=2), filter by the “**Claim**” function under **Method**.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfZSSvQ0gi1nINRk4kBwdw5xuJrBVd4ObAM6_wCITSXolXCH43AMyhMJVo_5BKWx968sbEWiJp-TTu425uOr4qaEXiovKNgbdnT9dTsVbmkt7gSgJ_OAAXUFa1EeHz56aqnQDoc%3Fkey%3D6IT_MVvTrp3c3uTgxvhJCx3O&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=f0e26cd7&#x26;sv=2" alt=""><figcaption></figcaption></figure>

2. In the filtered list, find the claim transaction. To locate the safe addresses, open **Transaction Details** by clicking on the chosen transaction.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfj-ut5TASGkj0UCujloVJGRRQgiRPRJnDQlj0sdbEmMDLmsY7DLhF53sMnPpeqwc14bGjvKOk-ynVDaMVy_a0xiFOLzwt97gnOVWTsHkiuVOKNWUeG7NBvBKAKqyW9kxzI8AOkgA%3Fkey%3D6IT_MVvTrp3c3uTgxvhJCx3O&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=d43b3be3&#x26;sv=2" alt=""><figcaption></figcaption></figure>

3. Find the safe address in the **Transaction** **Action** or **ERC-20 Tokens Transferred**, checking the amount of EYWA tokens in that safe.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXf4j7lG9Lzw4J5N4GBoTgL5Smt2Y6B_e1Io1QbacBGoF11ITgsx7D4LjLqOw8HUtQ6dftJZR8CfBBJ4SNywOdYIqgXszYAg0MJUxkVJ6Hl7PGPDI0CHMDnU8JryJgQYV9SHU2H5%3Fkey%3D6IT_MVvTrp3c3uTgxvhJCx3O&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=5b647b8e&#x26;sv=2" alt=""><figcaption></figcaption></figure>

4. To copy the safe address, click on it and copy it to your clipboard.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfSoxvoVQ69IxjvjDLiFIdkowezfu4VISMmFY2r6IZADfPPp7v08J-6Y4xubNFPsc0JmO-6LIF8b0z1lXbEvPsFo6r3b7AxSw-ydhzFwdvU8wrU9-mxV2m_bDDk6QBotxXXpU8lAQ%3Fkey%3D6IT_MVvTrp3c3uTgxvhJCx3O&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=cddd0678&#x26;sv=2" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/EiHB9fLKFusdsoVVI80v" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
*Make sure you remember the address(es) of the safe(s) that you plan to deposit into the* [*Locker*](https://docs.crosscurve.fi/user-documentation/dao/eywa-locker-interface)*.*
{% endhint %}

### How to create a lock for a safe whose address you already know <a href="#how-to-create-a-lock-for-a-safe-whose-address-you-already-know" id="how-to-create-a-lock-for-a-safe-whose-address-you-already-know"></a>

1. Go to the EYWA Locker contract page: `0xdCa5d16ac3708658ECc971d3AeE5d5CD6e5E1faD` <https://arbiscan.io/address/0xdca5d16ac3708658ecc971d3aee5d5cd6e5e1fad#writeContract>, choose ![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfO-79UiZBdfYH1bbaDlkVSFGZKVIqTnXeF2MQnEBMpkugfPL2NOuupQNs1R_rONBkH1U3qVl54n_sv1ldyhV4qHvs9_4neYb7bWSS6J3q2Vd3JaxRrkxfMl6kWd7otSB9NSmpWfQ%3Fkey%3D6IT_MVvTrp3c3uTgxvhJCx3O\&width=300\&dpr=4\&quality=100\&sign=8e17d707\&sv=2) and connect your wallet by clicking ![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfcG4rgjIeb72IiL2QubaKqDLuokToH1wv9kBc-xfWOBwRkf9SfdYOYtZVZmCq2pXzdfjNNuErabwhZWqooDSEWTwM8N0CIvkesux13VsF1Q0_A2vXWDjhp5WKChiL1-z2ERfLGjg%3Fkey%3D6IT_MVvTrp3c3uTgxvhJCx3O\&width=300\&dpr=4\&quality=100\&sign=5c59be68\&sv=2)

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfEJ4UyfL_Cn5Wk13zr0d9C6o6CjAejOP9dCtIIeGckAssnuJZ8euXJwASa_1m6yyHbDWCDMmiAGJTjxCeGgxrPxKmWtmvBft_UOioenUJIMNhY06ejdyWxNQgMLrmf-qlUPT4bgw%3Fkey%3D6IT_MVvTrp3c3uTgxvhJCx3O&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=aea93aa9&#x26;sv=2" alt=""><figcaption></figcaption></figure>

2. Expand the 5t line, **createLock**, and fill in the fields:

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXclSRd0wBQVW4J5dQUtlQJfc4OGiKpx5wi8w78Sxdu8Yl1O3m-UO-M29v-fss6Kf2jyrzg9wrqyNJrM6pDEPFDdJBzF3kd4P3uaYiZ8t5f4ckLVHzJSqOL384P8cYfrXy95yGi6nA%3Fkey%3D6IT_MVvTrp3c3uTgxvhJCx3O&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=2871b851&#x26;sv=2" alt=""><figcaption></figcaption></figure>

**lockDuration\_(unit256)** - the lock duration in seconds

**recipient\_(address)** - the wallet address of the lock’s owner (it’s important that you have access to this wallet)

**vestingWallets\_(address\[])** - the array of safe addresses<mark style="color:red;">**\***</mark>

{% hint style="info" %}
*<mark style="color:red;">**\***</mark>* *for locking a single safe, enter the safe address **\[address]** in the square brackets in the field **vestingWallets\_(address\[])**. For two safes, **\[address1, address2]**, and so on.*
{% endhint %}

3. After the filling in the required fields, click the![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FUGEMTessRRwSQM9XLeUo%252Fimage.png%3Falt%3Dmedia%26token%3D6e9832e6-fdbc-4e2a-94e4-a100924356a1\&width=300\&dpr=4\&quality=100\&sign=b893086e\&sv=2) button and sign the transaction in your wallet.

Once the transaction is successfully processed on-chain, you will receive an **EYWA DAO NFT** in your wallet.

{% hint style="success" %}
***To later boost your votes, remember the ID (EYWA DAO NFT ID) of the created lock.***
{% endhint %}

4. Go to your wallet page and expand the **TOKEN HOLDINGS** list in the **Overview** tab.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcNjUcanqfT59ks0-MWCK2FykuvdLdn43Y9P4eVAdIO7rO99SpuJx7jOufihOaagfLHXY8ctkjbiN4AQtSXttlDJZsp9fkUV_xy-g5hpdgOAWfxgTIQF6FOWhGssgKewosBythgiQ%3Fkey%3D6IT_MVvTrp3c3uTgxvhJCx3O&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=1122ec1c&#x26;sv=2" alt=""><figcaption></figcaption></figure>

5. Find the **EYWA DAO NFT** you received after creating the lock and open its token page.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXf4ThFiN5bX4KekVB-vDeJlMu0n7QJ_L-vgDPFJb8s01HnQcafpH4rHSVr1gIwq0r_mm0qI06a95MGkXC7EqS8mzMVR7SaFUXmO-OEiZT-Jr2d-YZTSUEExrIdu7Amd73A_SFDFNg%3Fkey%3D6IT_MVvTrp3c3uTgxvhJCx3O&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=74f4650d&#x26;sv=2" alt=""><figcaption></figcaption></figure>

6. Find your **EYWA DAO NFT ID** in the ![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXeJnee-B5K_tj5Epw6Kg3r3secAN0WsgT489kTSIIJjB-ktOcI266iJRefAxTXs8EMXA-a6rSit7i5hqbjsQd71mv07es-_R36nN8rAxtqG0LRW1VamUqxprz2Tz9N4YvMA1JU9xQ%3Fkey%3D6IT_MVvTrp3c3uTgxvhJCx3O\&width=300\&dpr=4\&quality=100\&sign=27a8e798\&sv=2) transaction list under the Item column or on the **Transaction Details** page in the **ERC-721 Tokens Transferred** section.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfkBxxFCFPixRMwPla6R0aumLf-XaN8Z4XHHxIMaM5weqOkmzvz_QhEVJdNbcpy4ErGoWJe0SJsBn4GXoUUkT6nom4Zylfx4R-UPBQN_Se_GZdy28I1HpmNDtNwbJAUAtSxQZw7JQ%3Fkey%3D6IT_MVvTrp3c3uTgxvhJCx3O&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=22f49cd7&#x26;sv=2" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/ucJ5ZMp5VVVl9Ipv2V1N" alt=""><figcaption></figcaption></figure>

## Boosting votes by adding an NFT. <a href="#boosting-votes-by-adding-an-nft" id="boosting-votes-by-adding-an-nft"></a>

To receive a boost, you must have the **EYWA DAO NFT** on the same address that you created the lock from, and you must know its **ID**.

1. Go to the EYWA NFT contract address `0x33b98A477512A34Af0D311DA5F59FC5341693962` page: <https://arbiscan.io/address/0x33b98A477512A34Af0D311DA5F59FC5341693962> and confirm the lock for this NFT in the contract.

Select ![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfDtV4A9PN6JXfijomqvEB1GpcxcXxYjnEBYuu5vAEfPKlekSpcNS1bGHZon6rs6Epq_IxXCb8Myvd2c0zvfMsCUvNgVX57ehU5Xg9GipzSRkG8jJZ6KN41vdl37aIDfjZGByW2GQ%3Fkey%3D6IT_MVvTrp3c3uTgxvhJCx3O\&width=300\&dpr=4\&quality=100\&sign=c2109761\&sv=2) and then click![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXe2RKXogvY75ejrqcScdZPFMXqwB2LiNR2WIQzOLJ85v0x2JESa0rc3a97PUpuAgn9uL7C8RAKxJgZsCIPPJm-SgjGEXCCuz-fpNvNmcELbFp2NtbcYgL3RTVa745FlZmzxUuixiw%3Fkey%3D6IT_MVvTrp3c3uTgxvhJCx3O\&width=300\&dpr=4\&quality=100\&sign=55fade07\&sv=2)

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdd7vM4czdKOTQnQ_gmEQK-7qfGcj6H7TmSVshVRXUa7DisDrSRWlxDH1GIuZ1RcYh3zS0n6xcDayAfN5oeGr87MwEmpK3e_Oug5iVWIVs31-SG0Aeswv_ZsK75yy6mRtx0Z2p63Q%3Fkey%3D6IT_MVvTrp3c3uTgxvhJCx3O&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=cce0d9de&#x26;sv=2" alt=""><figcaption></figcaption></figure>

2. Expand the “**approve**” first line and fill in the fields:

**to** - address of the **Locker** contract `0xdca5d16ac3708658ecc971d3aee5d5cd6e5e1fad`

**tokenid(unit256)** - The **ID** of the NFT to receive the boost. (If you need boosts for multiple NFTs, repeat this operation for each NFT)

## Voting boost <a href="#voting-boost" id="voting-boost"></a>

1. Go the the EYWA Locker contract address page `0xdca5d16ac3708658ecc971d3aee5d5cd6e5e1fad` <https://arbiscan.io/address/0xdca5d16ac3708658ecc971d3aee5d5cd6e5e1fad#writeContract>
2. Select ![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfDtV4A9PN6JXfijomqvEB1GpcxcXxYjnEBYuu5vAEfPKlekSpcNS1bGHZon6rs6Epq_IxXCb8Myvd2c0zvfMsCUvNgVX57ehU5Xg9GipzSRkG8jJZ6KN41vdl37aIDfjZGByW2GQ%3Fkey%3D6IT_MVvTrp3c3uTgxvhJCx3O\&width=300\&dpr=4\&quality=100\&sign=c2109761\&sv=2)then click![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXe2RKXogvY75ejrqcScdZPFMXqwB2LiNR2WIQzOLJ85v0x2JESa0rc3a97PUpuAgn9uL7C8RAKxJgZsCIPPJm-SgjGEXCCuz-fpNvNmcELbFp2NtbcYgL3RTVa745FlZmzxUuixiw%3Fkey%3D6IT_MVvTrp3c3uTgxvhJCx3O\&width=300\&dpr=4\&quality=100\&sign=55fade07\&sv=2)and connect your wallet by pressing ![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfcG4rgjIeb72IiL2QubaKqDLuokToH1wv9kBc-xfWOBwRkf9SfdYOYtZVZmCq2pXzdfjNNuErabwhZWqooDSEWTwM8N0CIvkesux13VsF1Q0_A2vXWDjhp5WKChiL1-z2ERfLGjg%3Fkey%3D6IT_MVvTrp3c3uTgxvhJCx3O\&width=300\&dpr=4\&quality=100\&sign=5c59be68\&sv=2)

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcn4bjyf6_YXtW1TDUQzyqV7AAkMoIFunVVrkxR1MYeCCTnrH-crAxkELTR5DYgOSVz6tU52Wp2jDcst3hcuSH1cP23cZwlgfqauMuTSe6_4oHiYqILJCkhWeJcHN4Pkcpow-1twA%3Fkey%3D6IT_MVvTrp3c3uTgxvhJCx3O&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=70cf4278&#x26;sv=2" alt=""><figcaption></figcaption></figure>

3. Expand the “**boost**” second line and fill in the fields:

**tokenid\_(unit256)** - The **ID** of the lock (**EYWA DAO NFT ID**), to be boosted.

**collectionTokenIds\_(unit256)** - the **ID**(s) of the NFT(s), that will provide the voting boost (If you have only one NFT, enter **\[id]**. For multiple NFTs, **\[id1, id2]**, and so on).

4. After entering the information, click the ![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FIFw3nbDyXQzH8l8ehLhA%252Fimage.png%3Falt%3Dmedia%26token%3Da3ea77b7-f1af-4549-b15d-120ce7338153\&width=300\&dpr=4\&quality=100\&sign=c5ca3d80\&sv=2) button and sign the transaction in your wallet. To see your updated voting power, go to the [**Locker**](https://docs.crosscurve.fi/user-documentation/dao/eywa-locker-interface) interface.


# Yield

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/nnLF1bJz3DCbkwty0smU" %}
[Farms Interface](/user-documentation/yield/farms-interface)
{% endcontent-ref %}

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/qQb7I0cHZ1X43IZ5k6yF" %}
[APR Calculator](/user-documentation/yield/apr-calculator)
{% endcontent-ref %}

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/C9hXNniLOyZZijCBEr5E" %}
[EYWA pool via Convex](/user-documentation/yield/eywa-pool-via-convex)
{% endcontent-ref %}


# Farms Interface

## Farms Section and Its Functionality <a href="#farms-section-and-its-functionality" id="farms-section-and-its-functionality"></a>

To start working in the **CrossCurve** app, go to the **Farms** page in the **Yield** section. There, click “**Connect wallet**” in the top right corner, choose a suitable wallet from the list, and confirm the connection, making sure you are on the original page <https://app.crosscurve.fi/farms>.

1. After successfully connecting, you will see all available pools for staking LP tokens in the selected network to earn EYWA or/and CRV.

<figure><img src="/files/h6nDUQIeqVnRVYCXxvGJ" alt=""><figcaption></figcaption></figure>

* **Farm Pool** - Pool name
* **Chain** - Network where the pool is located
* **TVL** - Total volume of funds in the pool
* **Volume** - Trading volume in the pool for the past 24 hours
* **Utilization** - Liquidity Utilization rate = 24h trading volume / Liquidity
* **Net APY** - annual interest rate
* **Earned** - number of earned EYWA or/and CRV tokens for the whole staking period

{% hint style="success" %}
*By clicking on the **APR Calculator** icon, you will see a modal window to calculate your actual vAPR* and boost for your deposit based on veEYWA ownership and the resulting EYWA NFT boost. More details you can find here.&#x20;
{% endhint %}

<figure><img src="/files/6jVbj0EJfWTlo3zKjYOC" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/bzsYLHQoBososDPK2pHH" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
*By clicking on the **vAPR** icon you will see detailed information about the rewards in the selected pool.*
{% endhint %}

<figure><img src="/files/s0nb6mVkPAEYflnt6G7I" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/o2J1FJkrC8WajUbx15Mv" alt=""><figcaption></figcaption></figure>

* **Current vAPR** - Current “Variable Annual Percentage Rate”: it is the interest you'd earn on your deposits for a whole year, and it's variable because it depends on today's trading activity in this pool, the price of the assets you deposit, the price of the assets you're rewarded with, and the current rewards rates.
* **Base pool vAPR** - “Base pool vAPR” accrues within the **CrossCurve** pool: this yield does not require claiming; it is automatically accumulated within your LP token.
* **CRV cAPR** - “CRV vAPR” is distributed separately and can be claimed on the “**Farms**” page in the “**Farming rewards**” section. The amount of this yield depends on your **veCRV boost**.
* **EYWA DAO vAPR by Merkl** - “EYWA DAO vAPR by Merkl” is distributed separately and can be claimed on the “**Farms**” page in the “**Farming rewards**” section or directly in [**Merkl app**](https://app.merkl.xyz/user). The amount of this yield depends on your **veEYWA boost**.

2. By expanding the details window of the selected pool, you can find a link to obtain the LP token via **CrossCurve**, or through **Curve** pools and **Pool Contract** (leads to the pool's LP token contract). You can also find a direct link to [**Angle Merkl**](https://app.merkl.xyz/) rewards dashboard.

<figure><img src="/files/e7AsQrRVFIyLunShtC3d" alt=""><figcaption></figcaption></figure>

In the **Farming rewards** window, accrued earnings from farming are displayed.

<figure><img src="/files/20lRlOee0oSxeGBocwqM" alt=""><figcaption></figcaption></figure>

**Staked** shows the balance of LP tokens locked for earning EYWA and CRV.

<figure><img src="/files/p6BzjM6DcTPpPSofJI2j" alt=""><figcaption></figcaption></figure>

3. By clicking ‘**Stake LP and get rewards**’ we will see a modal window of steaking to get EYWA and CRV.

<figure><img src="/files/T411DsEy5BxJ6dvldVNa" alt=""><figcaption></figcaption></figure>

In the field for entering the amount of LP tokens to be deposited, enter the desired amount. By clicking the **Get LP** link, you can obtain additional tokens on **CrossCurve**.

<figure><img src="/files/EenGtIXngt1P6F9Aib10" alt=""><figcaption></figcaption></figure>

5. The top menu allows sorting the display of pools:

By relevance

<figure><img src="/files/MBTx3uCBGsmn4K1BeOJ7" alt=""><figcaption></figcaption></figure>

By type (Stablecoin, crypto or any pools)

<figure><img src="/files/oMZn56ubY4FJGMW63MBA" alt=""><figcaption></figcaption></figure>

By Popularity, APR, TVL, Liquidity Utilisation and Volume

<figure><img src="/files/MpzS08rtKNosmCO2942D" alt=""><figcaption></figcaption></figure>


# Staking liquidity and earning rewards

By providing liquidity in CrossCurve pools you can earn rewards in EYWA and/or CRV.

## Staking LP-tokens <a href="#staking-lp-tokens" id="staking-lp-tokens"></a>

1. After successfully connecting your wallet, you will see all available pools for staking LP tokens.

<figure><img src="/files/GzJ2i3Wo1bfLfUL9lqO5" alt=""><figcaption></figcaption></figure>

After selecting the desired liquidity pool and clicking “**Lock LP and get rewards**”, we will see a modal window for staking liquidity to earn EYWA and CRV.

<figure><img src="/files/LIQSsoxtCNdPttch5GK1" alt=""><figcaption></figcaption></figure>

After specifying the LP amount, click **Approve EYWAUSDT** and confirm spending of LP tokens by singing the transaction in your wallet.

<figure><img src="/files/R9Gj5VHv0c5M663hwTSu" alt=""><figcaption></figcaption></figure>

Then click **Stake**, and sign the transaction in your wallet.

<figure><img src="/files/xjYKDergCpXy8roWAajp" alt=""><figcaption></figcaption></figure>

After the transaction is successfully completed, the balance of staked LP tokens will be displayed on the page of the pool where you locked the funds in the **Staked** section.

<figure><img src="/files/ElKREE4hqGiqdwiGO9g8" alt=""><figcaption></figcaption></figure>

## Unstaking LP Tokens <a href="#unstaking-lp-tokens" id="unstaking-lp-tokens"></a>

Unstake LP tokens by clicking **Unstake**.

<figure><img src="/files/B5wuV1m4tpHFdDiIC4II" alt=""><figcaption></figcaption></figure>

After specifying the LP amount click **Unstake** and sign the transaction in the wallet.

<figure><img src="/files/GQDzTjvbQEiqdD8CrCDP" alt=""><figcaption></figcaption></figure>

## Receiving rewards <a href="#receiving-reywa-rewards" id="receiving-reywa-rewards"></a>

For farming rewards in EYWA and CRV simultaneously, click **Claim in all pools**

<figure><img src="/files/xxBFRi9WAtJNFTlCrmDQ" alt=""><figcaption></figcaption></figure>

Confirm the transaction in Your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FlvR6Hqng0woYvxLAXMQi%252Fimage.png%3Falt%3Dmedia%26token%3D0d4cbc83-c91e-4aa5-b87b-bf6dee62e494&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=aeaaaa8b&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Also you can go to the [**Merkl**](https://app.merkl.xyz/) dashboard by clicking the link and claim the rewards manually

<figure><img src="/files/HTPhV9K8Te2EOpljJjkB" alt=""><figcaption></figcaption></figure>

After successfully connecting your wallet, go to the **Claim** section and follow the instructions on the [**Merkl website**](https://app.merkl.xyz/).&#x20;

<figure><img src="/files/s8ISEg7jrTdIgL8QxCvs" alt=""><figcaption></figcaption></figure>


# APR Calculator

To get started with the **CrossCurve** app. navigate to the **APR calculator** page in the **Yield** section. Click **Connect wallet**, select the appropriate wallet from the list, and confirm the connection, ensuring you are on the official page: <https://app.crosscurve.fi/farm?&calculator=1>.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcdQK4jLOh6HcQvc1rmy3kkkv_oFIo9MvBWGNDahnqky0E9TTNXwOlXsk2SueyLpb3VxrRLLFyJ0dNQB-tasFah7q1w3Gr5fjq-SBnQgMwzY8Dmn43Ir93o2cJ4q4FKAvHx58Tc3Q%3Fkey%3D1FSWm_9PhPedAniZgdU7vWfq&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=5d423623&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After successfully connecting to the wallet, select the desired pool from the list.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXd-V3c9A9hVB_rwLiErSBmLTFGxMiq8xfrhvLDZfRZyifKQOXlVlZTwLyVZRSZhPXfRI04j3xcHjw8er1ZVO-QufmPWdrc623bMT43hvWgtO-tj_5SJ2KTf78GMt0rTmDW0P8Blvw%3Fkey%3D1FSWm_9PhPedAniZgdU7vWfq&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=88f8883&#x26;sv=2" alt=""><figcaption></figcaption></figure>

The application will display information about the selected pool:

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdo2Sqri0pOs8M27tyGe8iVAlj0j9mpDPknAVXobIueSlB_MMLumw2QwX8T4WKg19NrokE0DjPmRrwtUeUdnkLU8b_LG-bRwsTts6-P2hd-P3rhEcr42__iaxAcqO-pj_EWTqfzVw%3Fkey%3D1FSWm_9PhPedAniZgdU7vWfq&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=94aaa3bd&#x26;sv=2" alt=""><figcaption></figcaption></figure>

**Your vAPR** - total APR in the pool including the boost

**Pool TVL** - The total value locked in the pool

**Total veEYWA** - The total amount of [veEYWA](https://docs.eywa.fi/eywa-token/eywa-dao/obtaining-veeywa-and-calculating-the-boost)

To calculate the required amount of [veEYWA](https://docs.eywa.fi/eywa-token/eywa-dao/obtaining-veeywa-and-calculating-the-boost) tokens for obtaining a boost, enter the desired amount of LP tokens for locking in the selected pool in the **Your deposit** field and adjust the slider to the desired boost level. The **Your vAPR** line will calculate the [APR ](https://docs.eywa.fi/eywa-token/eywa-dao/staking)obtained with the selected boost.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXf666cy6Y7Z2HQOehqXPJ-4qHdBgz00LUozyQKexkANi8XTlB4Ws8Xo53s3fbSyA0wGcCOmnLNWmM6tdb438ySxTtL-eqKiC4mJgIrMxb64NvdWGbKdchoQzvwRbkdHCkBgHZoH%3Fkey%3D1FSWm_9PhPedAniZgdU7vWfq&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=40e12e5b&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After entering the amount of LP tokens to be locked and the desired boost, the application will calculate the required amount of [veEYWA ](https://docs.eywa.fi/eywa-token/eywa-dao/obtaining-veeywa-and-calculating-the-boost)tokens to achieve the boost and the desired [APR](https://docs.eywa.fi/eywa-token/eywa-dao/staking)

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfh27pHKg6UzRL9BgPkAvavMh5FTmoIHKcg2bGITMRCcPccw9lEo3e2xU459SqntW9NT-WNrlkBk5v1XNOEAFO54wI882bgKoeKb1fearVdyRpXzTRtHU-_B_bK8ao5USOxKG_Mwg%3Fkey%3D1FSWm_9PhPedAniZgdU7vWfq&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=f103902d&#x26;sv=2" alt=""><figcaption></figcaption></figure>

**Your vAPR** - The projected [APR ](https://docs.eywa.fi/eywa-token/eywa-dao/staking)with the selected boost

**You have** - The [veEYWA ](https://docs.eywa.fi/eywa-token/eywa-dao/obtaining-veeywa-and-calculating-the-boost)balance in the connected wallet

**Need for boost** -The required amount of [veEYWA ](https://docs.eywa.fi/eywa-token/eywa-dao/obtaining-veeywa-and-calculating-the-boost)to achieve the selected boost

To obtain the necessary amount of [veEYWA ](https://docs.eywa.fi/eywa-token/eywa-dao/obtaining-veeywa-and-calculating-the-boost)tokens, use the [**Locker**](https://docs.crosscurve.fi/user-documentation/dao/eywa-locker-interface) by clicking **Get veEYWA for BOOST**.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdOlZSj5-LVat4u2AvxUR6DJgjNrAC2dE_oLSAFKJ0K9abpjWoenrg5IZGErRt9tscaAP0nThQh44mfOrLy2JpvH6X6PfhkYkdjUDQhGUA2qiAdsHSvcurirXMb-xG9NRBwzdTCPw%3Fkey%3D1FSWm_9PhPedAniZgdU7vWfq&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=82fe509b&#x26;sv=2" alt=""><figcaption></figcaption></figure>


# EYWA pool via Convex

<figure><img src="/files/pojLMbKVYLvJMFLAz9Hu" alt=""><figcaption></figcaption></figure>

**Curve** inflation is directed to **EYWA** pools on **Convex**, and now liquidity providers receive incentives in **CRV**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeyw4O8oDFBj9JH0AJcyfikkFuFUwfGDJt8bWU8phXu4hw9XW1ttJyp8k7h3t_l6I4y2qXfC4I97Ib-O8Ew_eGmFiugx0W8BYlmBALVYCQ5fnkr8aOdwe05KzkpNDg9J6ajG05rvQ?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

For example, the yield in the [**USDT+EYWA** **pool**](https://curve.convexfinance.com/stake/arbitrum/38) is currently as follows:

Base Curve vAPR: 2.69%

CRV vAPR (incl. 2.5x boost): 212.07%

Total vAPR: 214.76%&#x20;

{% hint style="success" %}
***To achieve this yield, you need to complete a few simple steps:***
{% endhint %}

### Purchasing the EYWA token

You can purchase the **EYWA** token on CEX or DEX. The list of available exchanges can be viewed here: <https://www.coingecko.com/en/coins/eywa>&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcZ2s6bm_Rr9Dtw5HItgFljt7lHO9od-gQKDMIwMYV6au4OXzyn8F1KgNHHXL6OQRCp_6ze92Z5fVc69Kb0lmf5LH_uSkRxgWosollLVogtCoaTAcAh7WBiQPOU0ssyAMQbCKkU?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

or here: <https://coinmarketcap.com/currencies/eywa/#Markets>

&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeo75kH-JK3-chDxw3w-SK6ijximaWxWN4KbxpSjjcvRVHRID73ONTcp9tP1zPZPBA3rJ4wJSVRWXfdLIZmE9B_-TQlbwE6zVrt_HIH-BzN_628gYu75B5bMjvNS5Sf_O9XZ49uFw?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

### CrossCurve DEX

Let’s consider an example of purchasing the **EYWA** token with **USDT** on the [**CrossCurve DEX**](https://app.crosscurve.fi/swap?inputChainId=13\&outputChainId=7\&outputToken=0x7a10f506e4c7658e6ad15fdf0443d450b7fa80d7).&#x20;

**EYWA** tokens can be purchased on **CrossCurve** for any assets available in the app (**USDT**, **USDC**, **crvUSD**, **DAI**, **ETH**, **BTC** etc.)&#x20;

{% hint style="warning" %}
*Attention! Be aware of possible high slippage before making an exchange to avoid loss of funds.*
{% endhint %}

{% hint style="success" %}
*To purchase **EYWA** with **USDT**, you need to have **USDT** in your wallet on the **Arbitrum** network and **ETH** in the **Arbitrum** network to pay for transaction gas in Gwei (gas cost can be checked here -* [*https://arbitrum.blockscout.com/gas-tracker*](https://arbitrum.blockscout.com/gas-tracker)*).*
{% endhint %}

Go to [https://crosscurve.f](https://curve.fi)i and use the quick link **Buy EYWA** → **Buy on CrossCurve** and click **Connect wallet**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcYzSLe1272pTWzs53WGsvKcJRjWQLyLdB2hSDQDqPEbpFXPvtgXv9nnEkTuxAQKQZ5KiM1n7XZAjNoulj35EJ3-vRSdMTmbcWQt_isNZusAopQslvImQwGZF3Wzc9LiSA7Jv3sIQ?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

Select the wallet installed in your system and confirm the connection to the application in your wallet

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXetd9qAV6xsow7exFS5QxJptQraCyHWfvGEpEHt2GfHk9h4XzGImI0xn6EgtQHR4U-U6N_8Ijz5T3PmVNz3QMkaCxnnotKU4Jpqc2MTcrFkhqPsSUsvER-oOSeMx-Q9b6vHNRSB9w?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

After successfully connecting the wallet, the application will direct you to the **EYWA** - **USDT** trading pair on the **Arbitrum** network. Enter the desired amount for exchange and click **Approve USDT**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcSUCVK6wExVzIJyvFMmacfDczkBxsz9VAJrHyrVIPdH865N2sQU4Gq_8252CQnRPUYrg0mD2wBJ3xEDfF6oFD0RuIpbMGPUhMgSZFnYfR_5BAro_nHHsWoJJJQaMjA2BttucO7nw?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

Sign the **USDT** spending transaction in your wallet

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcZHtZjUZhBY_Nh0WUqkJIPQ5TYwGfG0LGBYuqXqZPO9-H8__MWyylv6eONeaunmFbgus5QQNUuNPRAdebsM0K8YAEcd-fJIVtPMf02brzcXQrISaG0-KXWMnGHL33YM5h8afgKdg?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

To complete the exchange, click **Swap**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfAKxnspcGj5OBPY6x6ZKHuc7j8vGOlYspT1IUowgihJPRk7YD0UmbbATdbNEdK2rFqAHWz3V52-_wHimLb_wkvVOddwKD4cfNS6slD0RGnhT0_56NuSy_9jUumjhG_AA624StJAQ?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

Sign the exchange transaction in your wallet

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf1Q0mP9ThjKXBHRjar08d1xfPdAXzvUUs6w8oGVQ6N5KyX_UjuG8Y2VKEzU14Hc6P3bAroWQsFfYGSdTOkNqGR6RdkDFWCLyOQQ_0UstSuhwBcSdOXayhc3gvpIy_2s0dxKT7PrA?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

Wait for the on-chain transaction to complete

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdnMZinIqGFa3BLIB7o46GIxrBhbtd2QjNpf-hD8MoXg99qpnI8Y1mlEuaHrAgv1BJ0T8iK0hLi9QhoAO2MQF7p33e_UBeZWjd7wBspHMPVX5okQNKUzoOW_41w6Ss77Fo4P61A?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

### Providing liquidity in the USDT+EYWA pool

Go to the **Liquidity** page in the **Yield** section

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdoYtpWjYr4Dzssskw95mARnhy9DLxebD2DCEQGuuKSaJmuCsd3E2gFb6yFTb89q9yzrwH2h_pMIsDkAnjd9N2XpqD3kIeTOBmb0Vb3sBg47DftUYowhrt-6DUjrMcx3ywYt3_T7Q?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

In the **Choose pool** list, select **EYWAUSDT** pool, the **Deposit** operation, the **Easy mode** operation type, and click **Next**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcC_MKTF82Mo2k6Qo4uF3PGe2xqDajetv8UHccbdi6x9ARtv161r6l6UYi7N9ZDlznKqPBWoILmzB7ttXWjKXxE9Iv2mC7G1YD9IB4lrYwDwi8Y9TzHwILJvwBhR7cb3n2LShU0?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

Enter the amount of **EYWA** tokens and click **Approve EYWA**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf4oOyAbBpKKTi0s-Wqs7LraXebtzKOkhuBW0N4zYMmZodrSYPbk11bi6q0bNerr5Mm_I2aisgqK3AKQUebGeOM1hhnr3Ub-4SRfcwn0aHLCkywbQ1phXOl5GC7u6uWanQgpZIG3A?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

Sign the **EYWA** spending transaction in your wallet

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdgTvMRs5bqtOlby10qNS3-XjpxYE4GIE2ofZQlWcRmwPwTYTWXVSVEVLmo7eS6b2zjHw-gTWgR2JqD9tp5lezgWkKjpBxg7QuiAePGtiv9gMe2f4WW4YdRRiOXU9dln7ZFOijY?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

To complete the transaction, click **Swap**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXelKHnt1I7EFamcrN-c3KCep5zpV7rEWuZ_QmuPIPbbFeMlv_mzOlNOPD_8u_ePTGntr_LXvgSZojlqJnpp05rkpEjtyBA5IHXk0YCVLJtRLnKeDFPONj52TUUkWt6xstvrPDbE?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

Sign the exchange transaction in your wallet

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfKvJyEoIN0RvI0qqr6SLdAgdu2WQ2XnM9kXOaa9gr4_dvxt43tytXnVX4QcOkz_9yMOLLFFnnAvUoo0R1AM0q4vQBhyvKzYTrHZxyOSt1bYc24tAbUfkJ7f9wDQmxLOQUPDggX5g?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

Wait for the on-chain transaction to complete

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdLNGyIShpOv9aLnmFkIvY_IsPDC_ePU6pspWuXyttKGyqzEBpJE5sDY7KTursscNTgwAG7HRFJBPHsgc0jA8qNpXFDgcFQrLfbWdOkdwvpRTa6D9cY7BokvBNd-i3xl3LfNUZjpg?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

Go to the **Stake** page in the **Curve** section on <https://curve.convexfinance.com/stake> and connect your wallet

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXetKdjJ5MQe5YvtBoe9r5SbP985493aFooHpz_NBFtZMW8XAd0y50--9XpaOdN4sko6xBaw33kZH0v3GIMJBryG4KdOIRLCGRVlCt5GscWBAfndOFa3rgzlPDZTwxY5Vf6yv7FhMw?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

In the **Stake Curve LP** Tokens section, select **Arbitrum One** chain, enter **EYWA** in the Search pools field and the application will display **USDT+EYWA pool**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdKBRaxY4xUFWXiMP10sQakU9u-i9U1SwfJmDjd5WCLBo7icQ1JeDzc5kqi3ulyFZW2AnbvhXH8tJzujA_AgZgbpLFw_pGIoCY1AOMfEOmqjmBlEyKC66ayMIrczjGQ-cn_dWdFag?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

Enter the amount of **EYWAUSDT LP** tokens and click **Approve**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd7hzWXYflZ8lmK4nk48QmaIfHy5Mgd0jJMkpv6izd3SWyqoCjuQcWBBBHw-uAT_sscmoK2JEWiHrlu3zcAOeDohr7gDyA1sZGGCJadRentyFz7iTPMzRVgz9uuqYZDjqwt-_Xb?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

Sign the **EYWAUSDT LP** spending transaction in your wallet

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd67eS3sF1Z5GjPMBqRE3c-lUap9y3SuCRtpT9FEazki3wZuF-tbPLYGECcVpeKa8gt0vK_nBX_biCHKcfWaSeyg2Sd1yLm0YQ20s-Udq-Pd5n6qYcRZt50SCahhBLlLyQiIycqaw?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

To stake **EYWAUSDT LP**, click **Deposit & Stake**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeakXN9EnglR3_QylFRGB3TtQMCM-13ddSrIEhbg4OBPWDajzf7TC8ksldnXbVTGmFCMn908mMe0YL0gsg92MQMb0iRw5eAVY8TeFNaHyfTezXe41RXLLfAQcqkVc2zJu1wPymwgg?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

Sign the depositing & staking transaction in your wallet

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfLdCOhse9NuR0pc0rjILptOZ0NKssCN8__m7KWYeUsMDKvY1FLI5IemVnNYGCnNXyWFJdpHdiPBiFf4S49QYtn2C8u66OSUPxRWGci69b75DhWQn8YqsGVN42NEgJX0HxtmeNE?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

After the on-chain transaction is completed, the provided liquidity will be displayed in the **My Deposits** field, and the accrued rewards will be displayed in the **Claimable** field

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXej0nJYgjmtheoZftdwBEgeSuAvM-RExzz9w6FMDHNKwInBTWtMqlv-45xyvCCKrRy87wlBPzvd6FWzp1JuygNRMnz5N0uSCI6U9TjeuY236V_AW4Zfwq23UGkc-Tg15vPR9cuA2g?key=Vrpokn48P7taL7oKNU9Abe9y" alt=""><figcaption></figcaption></figure>

<br>


# Vesting

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/2dHOIedSDbUBEpaqrUlo" %}
[Claim portal interface](/user-documentation/vesting/claim-portal-interface)
{% endcontent-ref %}

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/SGajSq9iJKCm4qliCjFp" %}
[Early farming program interface](/user-documentation/vesting/early-farming-program-interface)
{% endcontent-ref %}


# Claim portal interface

To start using the **CrossCurve** app, navigate to the **Claim portal** page in the **Vesting** section. Click «**Connect wallet**», select the appropriate wallet from the list, and confirm the connection, ensuring that you are on the official page: <https://app.crosscurve.fi/vesting>

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FD2yMpIcucHG3blnQpjZD%252Fimage.png%3Falt%3Dmedia%26token%3Dac8245d3-b5ea-4d66-b90d-b3c2651ccded&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=4adfc6e7&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After successfully connecting your wallet, the app will verify your wallet address against the criteria for eligible EYWA tokens to claim. Please wait for the request to be processed.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdCnOseySREthPWn1WRle0ZU4sC_2UQnuJMhYcxH0_LeF90bnY_VQ1ODgliHG9j1_MY1VgfnHNuWthY5HROrlMuVkulF6RhtO2hRzo372KIBRhOVYRSu2GvFsbeh3giKkQK8AgxAA%3Fkey%3D40QVAp0H3b5J6RvpbQ8isBXP&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=df293998&#x26;sv=2" alt=""><figcaption></figcaption></figure>

If, after the wallet verification request, you see a message stating that the wallet address was not found on the token claim list, please verify the accuracy of the connected wallet address. If you believe an error has occurred, contact support to repeat the verification process:

* for private round participants, [e-mail](mailto:vc@eywa.fi);
* for public round participants, [e-mail](mailto:s.vishnevskii@eywa.fi).

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXec66tQ3Cd8MIwC-B7ZGbCjQEBiI7nG1tTI9zXjrUCCXdYIqw110PODyyydKOXFbU-17Q7hwUHk2Io_h1QBpUvIyh9frdCo6lNJ5QCrXXLTYLfGrjqXfcnoTHhGuASQRKmFBzKJBA%3Fkey%3D40QVAp0H3b5J6RvpbQ8isBXP&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=954c60c4&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After successful verification, you will see all vesting safes available for your wallet address, containing EYWA tokens received in each distribution round. To manage vesting safes, click **Get your vesting safes** and confirm the transaction in your wallet.

{% hint style="success" %}
*Read more about rounds* [*here*](https://docs.eywa.fi/eywa-token/tokenomics-eywa-crosscurve)*.*
{% endhint %}

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdjdr-zwSoTmv92SRGlWqq3k3XEsPXrTfab3TCUqkwmumJBG6shn0uN1QPNCxefxyQ6hRXJ2lvf6WHIGfZAl_Ip6XHcLbm680CW1qdMnbGc0Gt5q2jMvuj8hJpDGsODjzOpQKeKtQ%3Fkey%3D40QVAp0H3b5J6RvpbQ8isBXP&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=89a5f86e&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After successfully confirming the transaction, all vesting safes available for the connected wallet will be displayed.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXeIqEg1-srGcUcOCcL1qyrCFkKkmsbpUGMIyEhW-LWkPmnIE-Ip_-zT69S-DUAl_wbBGZZ_1WhKxtOxu6d3FPXsieYkOUiAxCbcmkgqEqoj7bEh-tBibysO_8ngotRzO2aTTuEo%3Fkey%3D40QVAp0H3b5J6RvpbQ8isBXP&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=f12bef1f&#x26;sv=2" alt=""><figcaption></figcaption></figure>

In each type of vesting safe, the following information is displayed:

* All vested tokens - the number of tokens in the safe that are in vesting
* Amount to claim - the available amount of tokens to claim
* Already claimed - the number of tokens already claimed from the vesting safe
* Time remaining until next claim - the remaining vesting time before tokens can be claimed from the safe

If you have multiple vesting safes for a single round, their number will be displayed in the upper right corner of the safe.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcBwLqpxtcO3YbFQvm22dDyCHbc8gOr3MmXHx7toRc_GyRnis1bpfoMBknAl9r9x4mzJ6X9gQPZeezmF8jkFUMxHk9fq3iyX8s2faQFot-m1UpkgNK3ylefQQ8x2mTM3HIIrH0dzQ%3Fkey%3D40QVAp0H3b5J6RvpbQ8isBXP&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=e52f648e&#x26;sv=2" alt=""><figcaption></figcaption></figure>

To view detailed information about grouped safes received in one round, hover your cursor over that safe.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXc1afhUMYsDvV-jfM426XwN4imnS8yKuqq2D3Sh1EOpPBIUjg0Ur2MZBWYqIs5xBc8eaPrdf7VZPpS4X4rm8n-BL5-IiVQvsUhMqrGL1UUbJM1uoZesWG8daDETUVNsyi-k_ZtU%3Fkey%3D40QVAp0H3b5J6RvpbQ8isBXP&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=5b5b01b8&#x26;sv=2" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
***Attention!** If you see the Claim button inactive - don't worry, it will become active immediately after the listing of EYWA token on CEX. The vesting timer will also start counting from the listing date.*
{% endhint %}

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfmMLkBJjiL1Hy7dcss-wSnM2T_BlGdwg3JAfWVuJk7Riyh-AkuRvzN5P9ijNEPdSuccL7Owb1qEuXA8OM5r8eRzUmqtDV9XC_vOywHLiopRG3BHNSH4lMFDYKIdTuTlVLFnGuNMg%3Fkey%3DOtFNv3JYVy5bNJjPyCgCgb68&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=eee6d8cc&#x26;sv=2" alt=""><figcaption></figcaption></figure>

1. To claim available tokens, select the safe and click **Claim**, then confirm the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdWdtHgqEY8ISHbEXJnWBpxcgNHP8r3pK5qiDOvPppu1Ckq8qDZBta2B6VrK9Zr6KWpyxHOeulmSB44EUgbv0HOe3QoF-q4swuzLeGmxa2L7KpnOcvCDpCBvNyTFNnylGZDLkv7%3Fkey%3D40QVAp0H3b5J6RvpbQ8isBXP&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=2c379538&#x26;sv=2" alt=""><figcaption></figcaption></figure>

1. To claim available tokens from grouped safes, click **Open to claim**.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252F27oMZmG84GAKh1G6NxzJ%252Fimage.png%3Falt%3Dmedia%26token%3Dfe6bc38d-c22c-4b5b-854c-e73665ced2bd&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=e4c47841&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Choose the safe to claim tokens from, click **Claim** and confirm the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FREkwqtpBWAU4D5gdohUR%252Fimage.png%3Falt%3Dmedia%26token%3Db7a4008b-7a34-4505-b6c2-12941dc3d7db&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=84f35180&#x26;sv=2" alt=""><figcaption></figcaption></figure>


# Early farming program interface

To begin using the **CrossCurve** application, go to the **Early Farming Program** page in the **Vesting** section. Click «**Connect wallet**», select the appropriate wallet from the list, and confirm the connection, making sure you are on the official page: <https://app.crosscurve.fi/reywa-vesting>

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXeLftuiiSnE1R8Fp9_3Zay97z9Fgb_vZRAB9ab2il-i22FZ1EmnFZ1Fo0AQ-hxN6XiOhUn3FVQF39mqSvS3pSHddHFd-J2GmN7wggQ2Hh04FHpgLb-at45W43eg7Ep0T0cmSw_kNQ%3Fkey%3D8D5LGkxthEEkwyaI1rDKms7q&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=23c59a38&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After successfully connecting your wallet, to display the rEYWA balance in your wallet, you must switch the network to **Fantom** by clicking **Switch chain** and confirming the network change in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdfaxOea7_aXyAD4zvEDYN-Z-5xgifUx-jITQk8fdEq-N5DCVXboyaUR-tgmdXplPgNvWbmXZMz0rZOkvA_PN8Gb8k2upH9TLUN1ovC8mMGGXwh1ygiqP_zLySuWVJcFHplRDEeeg%3Fkey%3D8D5LGkxthEEkwyaI1rDKms7q&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=30de5280&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Once connected to the **Fantom** network, the application will display the rEYWA token balance in your wallet. To exchange rEYWA for the Vesting safe with EYWA, you need to move your rEYWA tokens to the **Arbitrum** network by clicking **Bridge rEYWA to Arbitrum** and singing the transaction in your wallet.

{% hint style="info" %}
*To use the bridge and transfer your rEYWA from the **Fantom** network to **Arbitrum**, you must have **FTM** in your **Fantom** wallet to sign the transaction and pay the gwei in the **Fantom** network.*
{% endhint %}

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXemG0IYIolVIrrJ0yPr3BY2_JKnvnXr6dnfhKePXTXXh80qxiuito7_ZT3A_iEmFYJX2v3JoQzZPxBdVsgRiMbKo0JwMipjX8kP6nW977TvBrDqf3lGZ-6aQYaNjIeWINizZYXrfw%3Fkey%3D8D5LGkxthEEkwyaI1rDKms7q&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=6ed62a7e&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After successfully transferring rEYWA from **Fantom** to **Arbitrum**, the application will display the balance of the transferred tokens. To start the 90-day vesting period and receive EYWA tokens in exchange for rEYWA, click **Start vesting**, specify the amount of rEYWA you want to vest, and confirm the transaction in your wallet.

{% hint style="info" %}
*To place your rEYWA in the **Arbitrum** network into vesting, you must have **ETH** in your **Arbitrum** wallet to sign the transaction and pay the gwei in the **Arbitrum** network.*
{% endhint %}

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXf2XIHwoio9GlDZHSLq4v7verGEyWsSLnK3MCkD8urA9KS3VsBSExsDzz5pSt-pU4H8eKkOnMakiI8yk5G8XAHDmyLmb2GAFLVC3LwpCXNsAfybOX21x9_SgHbyk7fjIPtU90ujhw%3Fkey%3D8D5LGkxthEEkwyaI1rDKms7q&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=a1b22e1d&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After placing rEYWA into vesting, the application will display detailed information:

* **Vested** - amount of rEYWA tokens that have completed vesting
* **Current vesting** - the total amount of rEYWA currently in vesting

In the table, you will see detailed information about ongoing vesting periods:

* **Amount** - the amount of rEYWA tokens for each vesting period
* **Date** - the vesting end date and the number of remaining days. Complete means completed vesting periods.
* **Penalty** - the amount of penalty<mark style="color:red;">**\***</mark> in rEYWA tokens for early termination of vesting

{% hint style="success" %}
*<mark style="color:red;">**\***</mark>* *You can find detailed information by following the* [***link***](https://docs.crosscurve.fi/user-documentation/early-farming-program) *or by clicking* ![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXc3jZ92kqXlJcve9qsz9N3u0_2noDKkC2oanyGQ8ybipFnhAhqmunOJOVGsdjT8k5GCf-UdjUpU7anV33yvaiaYiL2yEQBUmLUrJcHWVSFvs91VlXdJZvrFcLffOwaaMXq-0gSaBw%3Fkey%3D8D5LGkxthEEkwyaI1rDKms7q\&width=300\&dpr=4\&quality=100\&sign=fb5b3d48\&sv=2)
{% endhint %}

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXc_uQTLyHO4Ihy6Ethnb42YMygScj0vURRL4q40PQnnZ0jPpBV7OaG5z_vbM9nQwOY_i-NQ9JUJu2W0NIciCjcfgvoZYsTk4IlVA0Us-Z7ZBsMcdBOXR9T6Ze1OvrP6FvA75CBBLA%3Fkey%3D8D5LGkxthEEkwyaI1rDKms7q&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=4cf7e31e&#x26;sv=2" alt=""><figcaption></figcaption></figure>

1. To receive rEYWA tokens after the vesting period ends, select the vesting safe and click **Withdraw**, then confirm the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcmnxYhjT_7plRSzxWSkiF0EvvhG8tCCACypl44SN8ll8OChzZchyEs5k-FbF-7p6ohpUgH6-gMxZcUAGBYWsAkNyK4udu_5WlrpQpuTZYOGDIuqLMPxQzo7JkvAn6nPrLX-2SrSw%3Fkey%3D8D5LGkxthEEkwyaI1rDKms7q&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=91f69f56&#x26;sv=2" alt=""><figcaption></figcaption></figure>

1. To end the vesting period early and receive rEYWA tokens minus the penalty<mark style="color:red;">**\***</mark>, click **Exit** and confirm the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcAozvB3pi9uwhGdlh0PovQDHdK-gSh81w69zdpQQ2mO5O8f069k9nk1hn0bLTA3ZlT0JdfSUdNac-TIZwsMSvEiVQFpmzJrW7ZfbsFifgyjuQuhLmLT4KF8vPTvj8oOXM6w9CIMA%3Fkey%3D8D5LGkxthEEkwyaI1rDKms7q&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=b1c48ee0&#x26;sv=2" alt=""><figcaption></figcaption></figure>

{% hint style="info" %} <mark style="color:red;">**\***</mark> *The penalty amount is calculated using the following formula:*
{% endhint %}

$$
V\_{early}=\frac{T^2}{91^2}∗V\_{all}
$$

Where:

**V** *early* - number of rEYWA tokens received on the day T

**T** - number of vested days passed since the rEYWA claim

**V** *all* - total number of rEYWA tokens available on the 91st day, after the vesting period is completed

{% hint style="success" %}
*<mark style="color:red;">**\***</mark> You can find detailed information by following the* [***link***](https://docs.crosscurve.fi/user-documentation/early-farming-program) *or by clicking* ![](https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXc3jZ92kqXlJcve9qsz9N3u0_2noDKkC2oanyGQ8ybipFnhAhqmunOJOVGsdjT8k5GCf-UdjUpU7anV33yvaiaYiL2yEQBUmLUrJcHWVSFvs91VlXdJZvrFcLffOwaaMXq-0gSaBw%3Fkey%3D8D5LGkxthEEkwyaI1rDKms7q\&width=300\&dpr=4\&quality=100\&sign=fb5b3d48\&sv=2)
{% endhint %}


# EYWA NFT

## NFT collection description <a href="#nft-collection-description" id="nft-collection-description"></a>

The Eywa NFT collection includes 53 996 unique NFTs. Their number diminishes as they are merged.

The collection represents four mythical characters: Magician, Dryad, Ant, and Spider. EYWA NFTs are an example of generative art where each character features randomized attributes that grant it uniqueness.

<details>

<summary>Eywa NFT Characters</summary>

The characters in the collection are unique creations, drawing inspiration from beloved science fiction universes.

**The Magician** Crafted from leaves and various flora types, the magician is inspired by the Star Wars universe and Elemental creatures, as well as ancient Roman and Greek mythology.

**The Dryad** This character is inspired by ancient Greek myths, aliens, and the golden era of science fiction, presenting a stunning fusion of a wood nymph with a World of Warcraft (WoW) hero.

**The Ent** Assembled from tree bark and roots, the Ent is inspired by the Ents from the Lord of the Rings (LOTR) universe, Swamp Thing from DC Comics, and Groot from Marvel.

**The Spider** The spider character embodies an aggressive, dynamic figure, combining an arachnid with a trickster — a mix of Baal from Diablo II, Monsters, Inc., and other characters, infused with elements of insects and alien life forms.

We have deliberately directed our design team to embrace a “**fairytale**” aesthetic in the creation of our characters' likenesses. Regardless of age, **we all cherish a touch of magic in our lives**.

Echoing the words of Steve Jobs: “Follow your heart, stay hungry, stay foolish!” we are committed to developing the finest cross-chain product on the market. **Thank you for your support!**

</details>

The collection is broken down into five levels of rarity: **Common**, **Uncommon**, **Rare**, **Legendary**, and **Infinity**. The rarest of all are the Magician Infinity NFTs, of which there are only 193 in the entire EYWA NFT collection.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXd978e9KufVfrwrCRv36BiIDYAwg9zefwNW0rNRpcb5KPtuf_6bxEoMb-Kma3-_lNnJ-q0CkhCJfp7RDd30tZC6U21bkIbsYAv5bTKuCzPN7Cvuzetq-4cqmguOY6ptNzNYNM8m%3Fkey%3DUS-yFIJ_x2IYhunTMs-mfgAv&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=a48a770f&#x26;sv=2" alt=""><figcaption><p><strong>Common</strong></p></figcaption></figure>

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcQIauOmaXzJl9EBVdg6pXhNNcBI0oS9ngUQqTtS7fYSI4H538OoKg0NELYnCNqBrzzMMupx-Xn2PszlFmyqmiZIzdrx9GqUULPW94q2sX5_tRcF1NWzjlznddKaT-YPcZAm0BKzw%3Fkey%3DUS-yFIJ_x2IYhunTMs-mfgAv&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=7b15bc3b&#x26;sv=2" alt=""><figcaption><p><strong>Uncommon</strong></p></figcaption></figure>

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdk80oJTZ9uZS1myqgb73Msr4qEsg-T0d6vEq4qPeFv5eDBYyR9MN3okK9Sj9NR0HVg4HkHsU9bPc1SwEK7uLIe2gqfxUgQAYFgjMRU6UlHmfvug6rOYoTjdYsJfu7nUxTfQvNUaw%3Fkey%3DUS-yFIJ_x2IYhunTMs-mfgAv&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=2fb1b039&#x26;sv=2" alt=""><figcaption><p><strong>Rare</strong></p></figcaption></figure>

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdVdFc7TqUV5yawaW4BmJE6ti3qDXz3k9DZq8apPY8GzWS5zHAfMPpqBVuxmFq-bLmbLUyoZFNGf7mlhJUxJj48E9mqFcfLVZD3qqcaaUk4Xa_7lOX16pwD-T-MMklqMxbzmMLB5Q%3Fkey%3DUS-yFIJ_x2IYhunTMs-mfgAv&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=36ad1cda&#x26;sv=2" alt=""><figcaption><p><strong>Legendary</strong></p></figcaption></figure>

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcpGybAN0Sr_XsiA3uIipczYEXM_VSD_qO-9GUHvVDeqCd7IeHRusQ4AwugSlHnjXydhS-YnqS0wf40kAtgsdVwbyuNM-QL6Dur3J5v1ePlYTYWzqJdu4Y3dEdSrZ4khvdo2uX4dg%3Fkey%3DUS-yFIJ_x2IYhunTMs-mfgAv&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=220e8a9&#x26;sv=2" alt=""><figcaption><p><strong>Infinity</strong></p></figcaption></figure>

Currently, the collection is available on the **Aurora** and **Arbitrum** networks:&#x20;

On the **Aurora** network, the collection is available for trading within our Telegram communities (Links to Telegram chats for trading Eywa NFTs: [**English speaking region**](https://t.me/eywa_nft_en) [**CIS region**](https://t.me/eywa_nft_ru)).&#x20;

On the **Arbitrum** network, the collection is available  for trading on [**OpenSea**](https://opensea.io/collection/eywaprotocol).

Here is the Eywa NFT collection address in [**Aurora** ](https://explorer.mainnet.aurora.dev/token/0xB2e6a5a864A1004C3c828a2e767A08C173939b01/token-transfers)and [**Arbitrum**](https://arbiscan.io/address/0x33b98A477512A34Af0D311DA5F59FC5341693962).

## The utility of EYWA NFTs <a href="#the-utility-of-eywa-nfts" id="the-utility-of-eywa-nfts"></a>

The EYWA NFT collection is composed of ERC-721 tokens with the following unique functions:

• **Container** function for storing up to 1 500 000 EYWA tokens

• **Merge** function that allows you to increase the size of the container and the rarity of the NFT by combining multiple NFTs of one level into one rarer NFT

• **CrossCurve DAO** vote multiplier function via veEYWA

### Container <a href="#container" id="container"></a>

Each NFT in the collection functions as a container for EYWA tokens. You can attach both unlocked and locked (in vesting safes<mark style="color:red;">\*</mark>) tokens to the NFT. This allows the user to sell blocked EYWA tokens at any time.

{% hint style="info" %} <mark style="color:red;">\*</mark> ***Vesting safes** are objects containing EYWA tokens that are blocked for a certain period of time based on the rules of the funding round (detailed information about the rules of each round and vesting periods are available* [*here*](https://docs.eywa.fi/eywa-token/tokenomics-eywa-crosscurve)*).*
{% endhint %}

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdjxbyMNsra9bcwrdI3zHa2qesaqa7EY7mgsdd6z7fqGct7wF4o5kyw4XnLlFRACP8u2Me1oO7Y7xpwzKJzXC0k_SgohekfPuMkQDx-Ygz-wMb2HKJingsPh_djKq1fsDTlnO2kJw%3Fkey%3DUS-yFIJ_x2IYhunTMs-mfgAv&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=d13654c1&#x26;sv=2" alt=""><figcaption></figcaption></figure>

The capacity of each NFT is the maximum number of EYWA tokens it can contain and depends on the rarity of the NFT. The highest capacity — 1 500 000 EYWA — is reserved for the Infinity rarity level NFTs. In the Aurora chain, you can see your current balance of token in the container. Once migrated to the Arbitrum chain, the tokens will be separated from the NFT and can be received as vesting safes via the **Claim portal** after the TGE.

For details, see the table below:

<table><thead><tr><th>Rarity</th><th>Capacity per NFT</th><th data-hidden></th></tr></thead><tbody><tr><td>common</td><td>500</td><td></td></tr><tr><td>uncommon</td><td>3 000</td><td></td></tr><tr><td>rare</td><td>25 000</td><td></td></tr><tr><td>legendary</td><td>250 000</td><td></td></tr><tr><td>infinity</td><td>1 500 000</td><td></td></tr></tbody></table>

### Merge <a href="#merge" id="merge"></a>

Several NFTs of the same type can be merged to create a single NFT with a higher rarity level. This will also merge all of the tokens contained in the source NFTs.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXf0rzzltmKOg62mKrlpjIX1GeHAYdOcqhIaa8sz16PdTAQvYCprVNeJD4XRpQpixhPWsXdypdqLUZAVhvxi4Nm0Bvu2FNsKmgJHEOjYr08JguHVGW02ggkuCpSDkCAWmws-KPRM%3Fkey%3DUS-yFIJ_x2IYhunTMs-mfgAv&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=2d1b1735&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Multiplier table for NFT merging:

| Rarity    | Merge multiplicator | You will receive |
| --------- | ------------------- | ---------------- |
| common    | 5                   | 1 uncommon       |
| uncommon  | 7                   | 1 rare           |
| rare      | 9                   | 1 legendary      |
| legendary | n/a                 | n/a              |
| infinity  | n/a                 | n/a              |

### veEYWA voting multiplier <a href="#veeywa-voting-multiplier" id="veeywa-voting-multiplier"></a>

To vote in the **EYWA DAO**, users must lock EYWA tokens — the longer the lock period, the more voting power the user gets. Using EYWA NFTs can also increase voting power. Each NFT can increase the number of available votes by the maximum number of tokens it can contain.

For details, see the table below:

| Rarity    | Maximum amount of tokens for boost | Multiplier for veEYWA votes |
| --------- | ---------------------------------- | --------------------------- |
| common    | 500                                | 1.006                       |
| uncommon  | 3 000                              | 1.036                       |
| rare      | 25 000                             | 1.3                         |
| legendary | 250 000                            | 2.8                         |
| infinity  | 1 500 000                          | 3                           |

{% hint style="info" %}
*For example, a user with 100,000 EYWA tokens can use one Legendary NFT to give his votes a 2.8 multiplier, since a Legendary NFT type can cover up to 250,000 tokens, or 4 Rare NFTs a 1.3x multiplier each (since each Rare NFT can only cover 25,000). Users can use any number and combination of NFTs for veEYWA vote multipliers to cover all of their holdings of EYWA.*
{% endhint %}

### Migration to Arbitrum <a href="#migration-to-arbitrum" id="migration-to-arbitrum"></a>

After the NFT collection is migrated to the Arbitrum chain, all of the above functions will become available. Before the TGE, we will open up a [**bridge**](https://docs.crosscurve.fi/user-documentation/eywa-nft/eywa-nft-gallery/gallery-bridge-interface-in-the-aurora-chain) to move the NFTs from [**Aurora**](https://explorer.mainnet.aurora.dev/token/0xB2e6a5a864A1004C3c828a2e767A08C173939b01/token-transfers) to [**Arbitrum**](https://arbiscan.io/address/0x33b98A477512A34Af0D311DA5F59FC5341693962), as well as the NFT Manager to fully engage with all of the functions of the NFTs.

The [**NFT Manager**](https://docs.crosscurve.fi/user-documentation/eywa-nft/eywa-nft-manager-interface) will ensure access to tokens contained in the NFTs, which will be separated from their containers after the migration to Arbitrum and be put together in each user’s wallet. Users will be able to put tokens into vesting safes and keep [**rEYWA**](https://docs.crosscurve.fi/user-documentation/outdated/early-farming-program) in the NFTs.


# EYWA NFT Gallery

The [EYWA NFT](https://docs.crosscurve.fi/crosscurve-dao/nfts/eywa-nft-collection) collection can be found on the [**Aurora**](https://explorer.mainnet.aurora.dev/token/0xB2e6a5a864A1004C3c828a2e767A08C173939b01/token-transfers) and [**Arbitrum**](https://arbiscan.io/address/0x33b98A477512A34Af0D311DA5F59FC5341693962) blockchains.

You can view your EYWA NFTs right on our website in the **NFT->Gallery tab**.

<figure><img src="/files/u8XNEckf1nn1mVloKAex" alt=""><figcaption></figcaption></figure>

The [**Gallery/Bridge**](https://docs.crosscurve.fi/user-documentation/eywa-nft/eywa-nft-gallery/gallery-bridge-interface-in-the-aurora-chain) tab allows you to see all the connected wallet’s NFTs on the **Aurora** chain available for [**bridging**](https://docs.crosscurve.fi/user-documentation/eywa-nft#migration-to-arbitrum) to the **Arbitrum** chain.

<figure><img src="/files/lvEauv3BacRrYUeMCV8r" alt=""><figcaption></figcaption></figure>

The [**Gallery/Merge**](https://docs.crosscurve.fi/user-documentation/eywa-nft/eywa-nft-gallery/gallery-merge-interface-in-the-arbitrum-chain) tab allows you to see all of the connected wallet’s NFTs  on the **Arbitrum** chain available for rarity increase via [**merging**](https://docs.crosscurve.fi/user-documentation/eywa-nft#merge).

<figure><img src="/files/qi3j2tGDLErTTrsXZWn1" alt=""><figcaption></figcaption></figure>

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/dhEPBjTU76WoaTCjGbfp" %}
[Gallery / Bridge interface in the Aurora chain](/user-documentation/eywa-nft/eywa-nft-gallery/gallery-bridge-interface-in-the-aurora-chain)
{% endcontent-ref %}

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/KCGajG9a39XXiAFhGg3S" %}
[Gallery / Merge interface in the Arbitrum chain](/user-documentation/eywa-nft/eywa-nft-gallery/gallery-merge-interface-in-the-arbitrum-chain)
{% endcontent-ref %}


# Gallery / Bridge interface in the Aurora chain

Bridge interface description in the Aurora chain

<figure><img src="/files/2YFhRjvGUCimU2JtVRXh" alt=""><figcaption></figcaption></figure>

To interact with the bridge in the **CrossCurve** app, go to the **NFT** section and select the «**Gallery / Bridge**» tab. Click «**Connect wallet**», select the right wallet from the list, and confirm the connection. Make sure that you’re on the official **CrossCurve** page:[ https://app.crosscurve.fi/nft-bridge](https://app.crosscurve.fi/nft-bridge).

<figure><img src="/files/q0YlVNSQSFKBJxTJcZ7F" alt=""><figcaption></figcaption></figure>

After successfully connecting the wallet in the «**Bridge**» tab, you will see all the available **NFTs** in your wallet, their level of rarity, and the number of **EYWA** tokens within the [**containers**](https://docs.crosscurve.fi/user-documentation/eywa-nft#container).

<figure><img src="/files/8qEzO70cfu1GMiQKJDEH" alt=""><figcaption></figcaption></figure>

In the top right corner, you can toggle between list and icon view options:

<figure><img src="/files/yiop6PLuOYVNgRVOyDRN" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/Ou675p2Ca4se9oSnO6Jw" alt=""><figcaption></figcaption></figure>

To migrate them to the **Arbitrum** chain, select up to 20 **NFTs**<mark style="color:red;">\*</mark> and click «**Bridge**»:

<figure><img src="/files/ZIXWbHqPwBY9uqJZStlh" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
*<mark style="color:red;">\*</mark> During peak hours, the Aurora network can be unstable: if you can't transfer 20 NFTs, try transferring 10 to 15 NFTs in a single transaction or try again*[ *later*](https://explorer.aurora.dev/gas-tracker)*.*
{% endhint %}

In the first transaction, confirm migrating the **NFTs** by clicking «**Approve selected NFTs**»:

<figure><img src="/files/FvETlThUpvTMs64sDCFR" alt=""><figcaption></figcaption></figure>

Then, to migrate them into **Arbitrum**, click «**Bridge**» and confirm in the wallet:

<figure><img src="/files/2C5Xp5iD00gKgf3f8Knk" alt=""><figcaption></figcaption></figure>

After it’s confirmed on-chain, you will receive a notification about the successful bridging of your **NFTs** to **Arbitrum**:

<figure><img src="/files/HC81P4TM1nnEIjtKz8Wv" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
***NOTE**: After migrating your NFTs to* [***Arbitrum***](https://arbiscan.io/address/0x33b98A477512A34Af0D311DA5F59FC5341693962)*, their copies on* [***Aurora***](https://explorer.mainnet.aurora.dev/token/0xB2e6a5a864A1004C3c828a2e767A08C173939b01/token-transfers) *will be burned.*

*Don’t worry — all your EYWA tokens contained in those NFTs will be detached and merged if bridging multiple NFTs at once. You can always check your balance in the “*[***Dashboard***](https://app.crosscurve.fi/dashboard)*.”*

*After the TGE, tokens will be claimable in the **Claim Portal** and can again be placed inside an NFT container if you so desire.*
{% endhint %}


# Gallery / Merge interface in the Arbitrum chain

Merge interface description in the Arbitrum chain

After successfully connecting your wallet in the «**Gallery/Merge**» tab, the gallery will show all the **NFTs** stored in the connected wallet, sorted by [**rarity**](https://docs.crosscurve.fi/user-documentation/eywa-nft#veeywa-voting-multiplier).&#x20;

<figure><img src="/files/0bb3yXxha2il2C92xZLZ" alt=""><figcaption></figcaption></figure>

For your convenience, use the **NFT** rarity filter to choose the rarity category you want to level up. &#x20;

<figure><img src="/files/SemLlngXCRPQxyNtkHaa" alt=""><figcaption></figcaption></figure>

Select the necessary number of **NFTs** for merging and rarity increase and click «**Merge**»:

<figure><img src="/files/dzJylaXqn439ouVnqjd6" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
***Note**: The **EYWA** tokens attached to the **NFT** were detached from it during bridging. You can see their quantity in the* [***Dashboard***](https://app.crosscurve.fi/dashboard) *tab.*
{% endhint %}

Then, select a new image for the resulting **NFT** and click «**Accept merge**»:

<figure><img src="/files/QTTJ8ayQVLPTVMpMgVuv" alt=""><figcaption></figcaption></figure>

After selecting the new image, you will see information about the **NFTs** you’re merging and the total number of **EYWA** contained within them. To merge them, click «**Merge**» and confirm in the wallet:

<figure><img src="/files/xATKFEiIcubHL7i2YDqN" alt=""><figcaption></figcaption></figure>

After the successful merge, you will get a notification along with a link to the hash of the transaction:

<figure><img src="/files/aLjyTAOfLR1LN6Wcms8F" alt=""><figcaption></figcaption></figure>


# EYWA NFT Manager interface

EYWA NFT Manager interface description

In the **EYWA NFT Manager**, users can see information about the number of EYWA tokens in each NFT container and vesting periods simply by entering the ID of any NFT in the collection. After connecting their wallet, users can also manage their **vesting safes**<mark style="color:red;">\*</mark> and add EYWA tokens to NFT **containers**<mark style="color:red;">**\*\***</mark>.

{% hint style="info" %}
*<mark style="color:red;">\*</mark>* ***Vesting safes** are objects containing EYWA tokens that are blocked for a certain period of time based on the rules of the funding round (detailed information about the rules of each round and vesting periods are available* [*here*](https://docs.eywa.fi/eywa-token/tokenomics-eywa-crosscurve)*).*

*<mark style="color:red;">\*\*</mark>* ***Container -** each NFT in the collection functions as a container for EYWA tokens. You can attach both unlocked and locked in **vesting safes** tokens to the NFT. This allows the user to sell blocked EYWA tokens at any time.*
{% endhint %}

To find an NFT’s container and vesting information using its ID, one should go into the «[**EYWA NFT Manager**](https://app.crosscurve.fi/nft-manager)» section, connect his wallet, and enter the number into the «**NFT ID**» field:

<figure><img src="/files/2wjC8Pl06SGxQioluRtb" alt=""><figcaption></figcaption></figure>

### Search for NFT ID

To find the NFT ID, go to the [OpenSea](https://opensea.io/collection/eywa-nft-4) collection page for EYWA NFTs, making sure that the address matches the original address of the collection: <https://opensea.io/collection/eywa-nft-4>

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdmy2wgOR4eGuGW-R5vR9fjTpgIbEG53VL2PetjX2zj4gaYHWWeWjnXhmxOYpzRJb114suwnEsKpJhS06cn9owQfKXiHEJcosYJdPzV5LokdIDQF4-f9oBlUQxSKc3DUMVFPR86Yg%3Fkey%3DUS-yFIJ_x2IYhunTMs-mfgAv&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=7da08021&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Choose an NFT of interest and go to its page.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdvCTnTNofCyb2B_xl7cZLLkl3Bc4uIhJD1_zrWmqF8sJ5dGVlsXamWCVF31GdCpsHY2udXkSNqLl8CyW96myAshvp2YQLm92De8V4REJS8ioXJmN8aNl7wfgasxddIGgbFLEcAaw%3Fkey%3DUS-yFIJ_x2IYhunTMs-mfgAv&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=7c582dd1&#x26;sv=2" alt=""><figcaption></figcaption></figure>

You will see the NFT ID in the name of the selected NFT.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcwdDBELHHsS80ElCCtPsdjIl-CCl6Ijq7HLII4bgXpyEoVXxhM5YsFXT2iiAUsxZo3J6KLwQoRAgsXCU52Uf4UPACPLHtgtl0KQi6EWgTsQuqlA8_4iis_-qN74UT-doZm2nUVZA%3Fkey%3DUS-yFIJ_x2IYhunTMs-mfgAv&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=aaec06f7&#x26;sv=2" alt=""><figcaption></figcaption></figure>

To quickly get into the [EYWA NFT Manager](https://app.crosscurve.fi/nft-manager/52784) app, use the **View website** link in the **More** menu.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfMB1AWEWpLIQl8kCE1g3V7x9ysK56G5x2jc59Qva8T_4D3c3NgO-miR9nEuFzWotPIPvYpOWVmqOC8NjajodR930vRCLEBgzEOVk5QANK5ACRd_zg6UScFHrzBfE26VDuA5wQo%3Fkey%3DUS-yFIJ_x2IYhunTMs-mfgAv&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=fb48b360&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After entering the **NFT ID** into the search bar, the **EYWA NFT Manager** will show you information about the found NFT:&#x20;

<figure><img src="/files/PGymAdtFN8F2wfRvP53E" alt=""><figcaption></figcaption></figure>

### EYWA NFT Manager interface description

On the **EYWA NFT Manager** page, you can use the “**search via NFT ID**” function or choose one of your NFTs from the **My NFTs** gallery.&#x20;

<figure><img src="/files/TIKymN3whsDWXNKGae4Q" alt=""><figcaption></figcaption></figure>

After selecting the NFT, the search window will show detailed information:

<figure><img src="/files/Rhqwt4S8Rk2Wrbf8RXXo" alt=""><figcaption></figcaption></figure>

• NFT rarity and remaining space in the container

• Total number of tokens in the safe

• Rounds in which the EYWA tokens were received and their vesting period: total number of received tokens in each round, number of unlocked tokens, and when the vesting of the locked tokens ends

> *Detailed information about rounds and visiting periods can be found*[ *here*](https://docs.eywa.fi/eywa-token/tokenomics-eywa-crosscurve)*.*

{% hint style="danger" %}
***Attention!** If you buy NFT with EYWA tokens in a container, we recommend using the **Buy now** function to avoid detaching EYWA tokens before confirming the purchase. If you are buying on an Auction by sending your Offer or on an OTC marketplace - there is a possibility of falling for an unscrupulous seller who may detach the tokens from the container before sending the NFT to the buyer. The **Buy now** instant purchase feature on* [***OpenSea***](https://opensea.io/collection/eywaprotocol) *significantly reduces this risk.*
{% endhint %}

To manage your NFTs in the **CrossCurve** app, you need to go to the **Manager** page in the **NFT** section. In the top right corner, click on «**Connect wallet**», select the right wallet from the list, and confirm the connection, making sure that you are on the official page: <https://app.crosscurve.fi/nft-manager>

<figure><img src="/files/Px67LCT7jd4vaY5lESDo" alt=""><figcaption></figcaption></figure>

After successfully connecting the wallet, in the «**Total in wallet**» tab you will see your total EYWA token balance (wallet **Balance** plus vesting safes) as well as information about rounds where these tokens were received and their vesting period:

• Total number of tokens received in the round

• Number of unlocked tokens

• End of vesting period for locked tokens

In the **My NFTs** section, you’ll see all the EYWA NFTs from the connected wallet with detailed information about each one:

* ID
* Rarity
* Number of EYWA tokens in the NFT container&#x20;

<figure><img src="/files/OIZJke8CMOyF3G0XNTqw" alt=""><figcaption></figcaption></figure>

### Removing tokens from the NFT container

* To **remove** tokens from the NFT container, enter the number of tokens and click «**Detach from NFT**». Then confirm in your wallet:

<figure><img src="/files/QWgpnC6v4Pii7eTiVCwo" alt=""><figcaption></figcaption></figure>

After the on-chain confirmation of the transaction, you will receive a notification that the NFT safe was successfully updated:

<figure><img src="/files/6ic0lcHJKiLhySwc1Gva" alt=""><figcaption></figcaption></figure>

### Attaching tokens to the NFT safe

* To **attach** tokens to an NFT safe, enter the number of EYWA tokens, select the vesting safes that contain those tokens, and click «**Attach to NFT**». Then confirm in your wallet:

<figure><img src="/files/kXFRHavegGnlKNxxG6En" alt=""><figcaption></figcaption></figure>

When adding tokens to NFTs, safes of the same type and vesting period are merged.

{% hint style="info" %}
*Keep in mind the maximum capacity of each NFT (based on rarity). If all of the tokens do not fit into the NFT, you will need to use additional NFTs or decrease the number of tokens in the safe after they are vested.*
{% endhint %}

<figure><img src="/files/mBsXmWsxRWrzygW92dYJ" alt=""><figcaption></figcaption></figure>

After the on-chain confirmation of the transaction, you will receive a notification that the NFT safe was successfully updated:

<figure><img src="/files/KICKTHQA85o9lhTuVgpR" alt=""><figcaption></figcaption></figure>


# Leaderboard

Leaderboard Section and Its Functionality

{% hint style="success" %}
***The accrual of points for the Airdrop Season 2 ended at 24:00 UTC on 30 September 2025.***
{% endhint %}

To start working in the CrossCurve app, go to the [Leaderboard ](https://app.crosscurve.fi/leaderboard)section. There, click “Connect wallet” in the top right corner, choose a suitable wallet from the list, and confirm the connection, making sure you are on the original page[ ](https://app.crosscurve.fi/liquidity)<https://app.crosscurve.fi/leaderboard>.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FnUrTT4jjFUYliNKThABy%252Fimage.png%3Falt%3Dmedia%26token%3D8d4a2281-ce37-4977-a473-d32f471a6fbb&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=15e34a04&#x26;sv=2" alt=""><figcaption></figcaption></figure>

1. After successfully connecting, you will see complete statistics of your earned points for participation in the **EYWA Adventure Quest Season 2**. The page displays the total number of earned points (updated every 24 hours at 00 UTC), the points received for completing basic and bonus tasks, statistics of your referrals.

   <figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FiF4lasLHRE2K9UHH6O3t%252Fimage.png%3Falt%3Dmedia%26token%3D5c9417e1-46a1-47ee-b3e3-6e9efa646697&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=d6c9ba07&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Below, you will see the stats for your referrals, sorted by referral level and liquidity volume. It also shows your overall ranking, along with the number and volume of transactions. By switching between **Season 1 (completed)** and **Season 2**, you can see the stats for either of the seasons of the Airdrop.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FwFGPjpm1M2nkSYdR46kv%252Fimage.png%3Falt%3Dmedia%26token%3D17268393-ea57-4eae-adb8-fdc39c662f70&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=30aa6ff6&#x26;sv=2" alt=""><figcaption></figcaption></figure>

2. By following the link **Season 2 airdrop activities**, you can learn about activities that allow you to accumulate points for the **EYWA Season 2 airdrop**:

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfjAB6c53p5WnuD7P-3w1KW2Dm3doUgdXUGr9IYieyG-SQjfByQ0gmBsLqqWGv8QicbjwsUx_tjqUWHhN7aTcIg2DEF9FT4E-KYWRJWGAYrCuO0oApd2Z_9Vr0DQj8lICBFBsGQzlAQT7f72PQkgVayoXU%3Fkey%3DokcdR5C7cuf2u3dkxrmgyg&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=b31715da&#x26;sv=2" alt=""><figcaption></figcaption></figure>

* **Swaps on DEX**

  In this on-chain activity, you receive points for cross-chain swaps on our DEX, up to 250 points<mark style="color:green;">**\***</mark> per day. For completing a swap daily, you receive bonus points. Each new day starts at 00:00 UTC, with the points added within two hours of the transaction being verified on the blockchain

{% hint style="success" %} <mark style="color:green;">**\***</mark> *from 12:30 UTC 18/06/2025 x3 points will be credited - up to 750 points per day*
{% endhint %}

* **Early farming**

  This new program rewards users for providing liquidity. Just lock your liquidity into the [**xSTABLE**](https://curve.finance/#/fantom/pools/factory-stable-ng-24/deposit) **and** [**xWETH** ](https://curve.finance/#/fantom/pools/factory-stable-ng-37/deposit)**pools** and receive **rEYWA** (reward EYWA) tokens. **rEYWA** is a nontransferable ERC-20 token that you will be able to exchange 1:1 for **EYWA** after the TGE. Rewards accrue based on the **Early Farming program** rules and depend on the volume of liquidity provided and the pool chosen. **rEYWA** has a 90-day vesting period from the moment it’s claimed. Claiming is available at any time, but one must wait until the vesting period is complete in order to be able to exchange all of his **rEYWA** for **EYWA** 1:1. The exchange is only possible after the TGE (Token Generation Event). Exchanging **rEYWA** before the vesting is complete will give him **EYWA** for only the **rEYWA** that has already vested, with the rest being returned to the **EYWA DAO** treasury. Read the program’s details [**here**](https://docs.crosscurve.fi/user-documentation/early-farming-program)
* **Llamaville Mini App**

  Your activity in the [**Llamaville app** ](https://t.me/llamaville_bot/llamavile)allows you to farm cryptodollars and receive new social and on-chain activity tasks as part of the **2nd season** of our **Airdrop program**. [**Llamaville**](https://t.me/llamaville_bot/llamavile) is a complete educational app. It immerses users into the world of crypto, allowing them to go through all the stages of growth, from fear and greed to success — without risking any real losses. The app is accessible only by invite, which you can request in EYWA’s official [**Telegram** ](https://t.me/eywa_en)and [**Discord**](https://discord.gg/eywaprotocol) communities
* **Referral activity**

  The 3-level referral program allows you to receive points for the activity of your friends. Generate your personal referral link by clicking **Get your Referral link** and invite others to join the program. You will instantly get a portion of the points as they earn them: 10% for level 1 referrals, 6% for level 2, and 4% for level 3. You can find more details about this program below.

{% hint style="info" %}
*You can also join the ambassador program by filling out the form at the* [*Join*](https://forms.gle/gbQ2v5JvR29BdejX8) *link.*
{% endhint %}

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FTSU0qnfag7ifsihLVlnU%252Fimage.png%3Falt%3Dmedia%26token%3D38c3e9a1-83e6-48d4-88f9-33e3796d552b&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=395e6aa5&#x26;sv=2" alt=""><figcaption></figcaption></figure>

## Mechanics of point accrual for on-chain DEX task completion <a href="#mechanics-of-point-accrual-for-on-chain-dex-task-completion" id="mechanics-of-point-accrual-for-on-chain-dex-task-completion"></a>

Introducing a new mechanic for accruing a reward for the daily completion of even one CrossCurve transaction. The new day starts at 00:00 UTC, and the points are accrued within two hours of the transaction’s confirmation on the blockchain.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXchbIYX9G28ysTW2AX2Fhe2X5Mn597dXsf22Gp75KqLE9S_oPV5IX8jfcsSIPr2T4K1M9T2PrkOOpT1vNFbgEwoNAW7j8LLxPjRAfLScTtVni3HDdyU5rELYncUYscjJe_30jqBcaN0MPxieNgiGGHfWGQ%3Fkey%3DokcdR5C7cuf2u3dkxrmgyg&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=aa6a8f38&#x26;sv=2" alt=""><figcaption></figcaption></figure>

**Reward table for daily task completion**

<table><thead><tr><th>Consecutive days with at least one transaction</th><th>Daily reward for Season 2 airdrop activity</th><th data-hidden></th></tr></thead><tbody><tr><td>1</td><td>10</td><td></td></tr><tr><td>2</td><td>20</td><td></td></tr><tr><td>3</td><td>30</td><td></td></tr><tr><td>4</td><td>40</td><td></td></tr><tr><td>5</td><td>60</td><td></td></tr><tr><td>6</td><td>80</td><td></td></tr><tr><td>7</td><td>100</td><td></td></tr></tbody></table>

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FXD9VDxgnDlnlYRnv1JYe%252Fimage.png%3Falt%3Dmedia%26token%3D501c875d-d1b3-4c06-bc25-bcc0584afae0&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=4020c6bf&#x26;sv=2" alt=""><figcaption></figcaption></figure>

The daily limit of points one can receive for completing tasks is 250<mark style="color:green;">**\***</mark>. If a user had 240 points and completed a task worth 20 points, only 10 points will be accrued, equalling 250<mark style="color:green;">**\***</mark> in total. You can get points for two activity types:

{% hint style="success" %} <mark style="color:green;">**\***</mark> *from 12:30 UTC 18/06/2025 x3 points will be credited - up to 750 points per day*
{% endhint %}

• **Cross-chain swaps** in the [**Trade**](https://app.crosscurve.fi/swap) tab (up to 200 points/swap<mark style="color:green;">**\*\***</mark>)

{% hint style="success" %} <mark style="color:green;">**\*\***</mark> *from 12:30 UTC 18/06/2025 x3 points will be credited - up to 600 points/swap*
{% endhint %}

• **Deposits into the liquidity pool** on the Fantom network in the [**Liquidity**](https://app.crosscurve.fi/liquidity) tab ( up to 250 points/swap<mark style="color:green;">**\*\*\***</mark>)

{% hint style="success" %} <mark style="color:green;">**\*\*\***</mark> *from 12:30 UTC 18/06/2025 x3 points will be credited - up to 750 points/swap*
{% endhint %}

### 1. Reward for cross-chain swaps <a href="#id-1.-reward-for-cross-chain-swaps" id="id-1.-reward-for-cross-chain-swaps"></a>

You receive points for each cross-chain swap or LP in the [Trade](https://docs.crosscurve.fi/user-documentation/swap-interface) tab.

| Transaction value \* | Base points \*\* | Bonus points\*\*                     |
| -------------------- | ---------------- | ------------------------------------ |
| $5 to $49            | 4.2 points       | 0.33 points for each $5 above $5     |
| $50 to $99           | 7 points         | 1.8 points for each $5 above $50     |
| $100 to $999         | 25 points        | 0.5 points for each $10 above $100   |
| $1,000 to $4,999     | 70 points        | 3.3 points for each $100 above $1000 |
| $5,000 and up        | 200 points       | -                                    |

{% hint style="info" %}
*\* transaction amount is considered in USD$ equivalent*
{% endhint %}

{% hint style="success" %}
*\*\* from 12:30 UTC 18/06/2025 all points are multiplied by x3.*
{% endhint %}

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FMNFVepP0HWlahapV8zmh%252Fimage.png%3Falt%3Dmedia%26token%3Dd8055afe-d4a9-4f63-8ecc-7b1349b27bc3&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=cc344da0&#x26;sv=2" alt=""><figcaption></figcaption></figure>

1\. After entering the desired swap amount in the **Swap** tab, the app will reflect the number of points you will receive within two hours of the transaction confirmation on-chain. In the **Daily Reward** field, you’ll the number of points accrued for the daily completion of transactions.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FYx4LZX8u78Z5f33YRzTW%252Fimage.png%3Falt%3Dmedia%26token%3Dcabe3df7-d979-4cc9-9715-17caa979763a&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=3cfda94f&#x26;sv=2" alt=""><figcaption></figcaption></figure>

2\. Clicking on **info** will give you complete information about your point accrual:

• 70 base points for a swap of $1,000 to $4,999

• 9,9 bonus points ( 3,3 for each $100 above $1,000)

• Total amount of base points earned per day

• Amount of points awaiting accrual within two hours

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FEOEeUvIUVPG7ymTjMvSc%252Fimage.png%3Falt%3Dmedia%26token%3De8383a7a-bc3e-43da-bee4-fe25075fbe96&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=17d449dc&#x26;sv=2" alt=""><figcaption></figcaption></figure>

3. To quickly find the optimal swap route go to the **Find best route** tab, and select token and network by clicking on **Select Network and Token**.

<figure><img src="/files/t9qgfObQlDAKTn4H6Y1G" alt=""><figcaption></figcaption></figure>

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcqYkUwJgVW6ZSaaOWSG2AwqYvV4d70bmXP2iNX3uRaj0EjaYBFv1OiFDtTj6368G8pQS2gJeY6MCtpUl6-O4ztHIxqXO_dKetcppFSutTcQuepFOzop59p6Le0n7wubRH_IBD3VovN_AXPPWI7prB0fc50%3Fkey%3DokcdR5C7cuf2u3dkxrmgyg&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=a7ec8aed&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After selecting token and network, enter the swap amount and click **Find best route**. The system will automatically find the best route for the swap.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FdEvLhISESNNri4fgZge0%252Fimage.png%3Falt%3Dmedia%26token%3D7f6323ff-4f98-4ab4-aae9-6d416da8ab24&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=d2d349f8&#x26;sv=2" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
*NOTE: The best route can send you to a network where you don’t have gas tokens, which can limit your subsequent transactions in that chain. Please check this before beginning the swap.*
{% endhint %}

### 2. Bridging rewards <a href="#id-2.-bridging-rewards" id="id-2.-bridging-rewards"></a>

Points are rewarded for providing liquidity (Deposit) in [**CrossCurve pools**](https://curve.finance/#/fantom/pools/factory-stable-ng-24/deposit) in the [**Liquidity**](https://app.crosscurve.fi/liquidity) tab. Points are also accrued for bridging\* tokens from one chain to another.

{% hint style="info" %}
*Bridge is the mechanism of moving tokens between blockchains based on the mint-and-burn principle, where the token is blocked or “burned” on the origin chain and its equivalent is created (“minted") on the destination chain.*
{% endhint %}

| Single transaction value\* | Base points\*\* | Bonus points\*\*                         |
| -------------------------- | --------------- | ---------------------------------------- |
| $700 to $999               | 7 points        | -                                        |
| $1,000 to $9,999           | 10 points       | 0.5 for each $100 above the first $1,000 |
| $10,000 to $49,999         | 55 points       | 4,9 for each $1,000 above $10,000        |
| $50,000 and up             | 250 points      | -                                        |

{% hint style="info" %}
*\* Each Deposit/Withdrawal transaction carries a fee of 0.005% from the tx value but no less than $0.02. Transaction amount is considered in USD$ equivalent*
{% endhint %}

{% hint style="success" %}
*\*\* from 12:30 UTC 18/06/2025 all points are multiplied by x3.*
{% endhint %}

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252F5R38DHHdU5klPBrJU5Aj%252Fimage.png%3Falt%3Dmedia%26token%3Dbb255446-5e89-401f-9c82-4c3843e52f6a&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=5beea47d&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After entering the desired deposit amount in the [**Liquidity**](https://app.crosscurve.fi/liquidity) tab, the app will show you the number of points you’ll receive for this deposit, within two hours of the transaction confirmation on-chain.

### 3. Referral program rules <a href="#id-3.-referral-program-rules" id="id-3.-referral-program-rules"></a>

**Through the referral system**, you receive a part of the points from your referrals through our three-level program: 10% for the first level, 6% for the second level, and 4% for the third level. Points earned by each referral will be accrued once a day.

By clicking “**Get referral link**”, you will need to log in through your X account.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252FKqjsOwjuxMEB7yNkg3Li%252Fimage.png%3Falt%3Dmedia%26token%3D9018360e-cdc2-4b8e-8f1b-a860633e41cf&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=f7dd1071&#x26;sv=2" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/fAIbRCySpXi3hziQ0iYJ" alt=""><figcaption></figcaption></figure>

By clicking **Connect Twitter**, a new window will open for authorization through **X**. From there, click **Authorize App**.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2FPi1i3FiaKURzNwZg2nTid53HmNd_eFU7iX3YZGbRSwdsWUZxo_SOmOSzba2LOgy-caldXFx1yTBbhx6IiSRg6kcyvi3tu_R6HHbedBUYB8CEaBbeaJxsgBQNtoeu5oMP000NNBD2pLeqfx31KMikzqw&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=62ed59d1&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After successful authorization, you need to **follow EYWA** account on **X** by clicking **Follow EYWA**.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2F4SWkaSwrpmxmrOxRvt7MUCj5LpyhZGpxRUZhiefYedXa9X0RI2ubhcd_rZtZH1y5j0Go-3K06Xgq8qAT2fatTO1bKnPnoVK5hO82DU12vSHXxoPtm-jcu4qqN8mfaZgTOkgWSdu6HvJZM90DyKU7Tmk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=92f84f5c&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Clicking **Follow EYWA** will open a new window to [**EYWA's Twitter**](https://x.com/eywaprotocol) page. Click **Follow**.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2FHI-NvCJLNA7hU3_S0SYPbWRezdK3P2jJESgbGUjW4pBW6fvAbbHNNzXws4YNfBtww81pBd7CM4EHL9tCG8k2Fcubvfg1JbBsqZrifmj7oYP51WlIC1DaUxs0Er2YH4BQ8Eiuj7RBX6gauAvb8EiIbuo&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=30d554df&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After following **EYWA** on **Twitter**, your referral [link ](https://app.crosscurve.fi/leaderboard/referral-1s2oxi1a)for copying will appear.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2F3mEjeQmPQiuj03zLtSMOj7mWh4ywig4X8JXhqarQRJfRzsz091C6iTCudo948XQbGvby8P9fED2AkyVctMscJM2MwizdPtUOMwlU7-A_h7HX-dA3qnTRvd97LqYXxhqRqT97_FH3_XY_-0VGflX_z4E&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=bf64d2d9&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Clicking **Post a Tweet and get Points** will open a window to post the link in your account.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-us.googleusercontent.com%2FEAtMhyeoZLrEpQ1-FFWQ4RGwkN2NlN4h91jc63eFt6zUm1m-ngD9YcrYXJ8Xo5zyn7LKbEjKcj_K2nHZeuuKfF9UEQL_gENm2SZfsUmzSKklbfnqd8MWINwFa9VT7IarPV53HUNnXvxp_AQQ4X_lSaw&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=15f610c4&#x26;sv=2" alt=""><figcaption></figcaption></figure>

To publish, click **Post**.


# Outdated

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/F9zxkJfCHJEO6PAQORBS" %}
[Early farming program](/user-documentation/outdated/early-farming-program)
{% endcontent-ref %}


# Early farming program

Introducing «Early Farming» — a farming program for early liquidity providers!

## How it works <a href="#how-it-works" id="how-it-works"></a>

For providing liquidity in [CrossCurve pools](https://app.crosscurve.fi/farm), the participants will receive rewards in rEYWA tokens. rEYWA — a non-transferable reward token (reward EYWA) that after the listing can be traded for the EYWA token on a 1:1 basis. Participants receive the rewards based on the rules of the **Early Farming program**, based on the volume of liquidity provided and the pool selected:

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfFCKMR0Xwa-xudTUKCrLh3oQ_sB3yvSKqHv9lv0H701UwxbmaBhfhP_CUh08V9hSwlpF7jUENAaPo09OpkexKTnmZNdGhlv0yi2OExqdQ9-vv9koIRQtkp0IQJ-MnJ8X7bVKJAYcv3Ea7ZT2Dsa_YDU9MP%3Fkey%3DWiaTMwtaSpFWBjbmc6YUWg&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=e4bc8f6d&#x26;sv=2" alt=""><figcaption></figcaption></figure>

## **Available pools and their earning potential:** <a href="#available-pools-and-their-earning-potential" id="available-pools-and-their-earning-potential"></a>

| Pool    | Target Pool TVL, $ | rEYWA APR\*, % | Incentives per month, rEYWA | Monthly yield, % |
| ------- | ------------------ | -------------- | --------------------------- | ---------------- |
| xSTABLE | $10 000 000        | 50%            | 2 978 к                     | 4,16%            |
| xWETH   | $10 000 000        | 25%            | 1 489 к                     | 2,08%            |
| xBTC    | $10 000 000        | 25%            | 1 489 к                     | 2,08%            |

{% hint style="info" %}
*Base income calculations include the assigned incentives for the 3 pools and the TVL in each pool.*
{% endhint %}

These pools allow the participants to receive earnings (Net APY) that combines the base rEYWA earnings per the above table + vAPY in [Curve pools](https://curve.finance/#/fantom/pools?filter=cross-chain).

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2F2646330788-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F0OQdHmjMuUKQJlGRux2U%252Fuploads%252F2IIANG9LRoyV2MOlJP8G%252Fimage.png%3Falt%3Dmedia%26token%3Dbf69b904-d030-4017-a8ac-dde73705d53b&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=636aa576&#x26;sv=2" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
*<mark style="color:red;">**\***</mark>The rEYWA APR is calculated at the EYWA price of $0.14. You can use this calculator to simulate your earnings with different EYWA prices:*
{% endhint %}

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXc8UqoAEJBtQ0ij2AU_hiJw7AAC0QpPJ589ZeCZubuY16bGClWnlGOgoJ3MN8E-M0LBTKdDBHTXJlQdkVB4tdWAjp--4SPxlBtEMio24ShD_asLI-dZ0cfhi-LCF14q6LOxwXWIt89TTHJ8JE0h-0t3fcc_%3Fkey%3DWiaTMwtaSpFWBjbmc6YUWg&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=9c4ef6a4&#x26;sv=2" alt=""><figcaption></figcaption></figure>

## rEYWA claim and vesting schedule <a href="#reywa-claim-and-vesting-schedule" id="reywa-claim-and-vesting-schedule"></a>

rEYWA tokens have a 90-day vesting period starting from the claim, which can be done at any time. Once the vesting period is over, rEYWA can be converted to regular EYWA tokens 1:1. Exchanging rEYWA to EYWA is possible only after the listing.

If a participant wishes to do this exchange prior to the completion of the vesting period, he will be able to convert only those rEYWA that have vested based on the vesting schedule. The rest of his rEYWA will be returned to the CrossCurve DAO’s treasury.

The formula for exchanging rEYWA for EYWA before the 90-day vesting period ends is as follows:

$$
V\_{early}=\frac{T^2}{91^2}∗V\_{all}
$$

Where:

**V** *early* - number of rEYWA tokens received on the day T

**T** - number of vested days passed since the rEYWA claim

**V** *all* - total number of rEYWA tokens available on the 91st day, after the vesting period is completed

Participants can choose to wait until the vesting period is over or take part of their tokens earlier based on their needs and strategy.

{% hint style="info" %}
*An example with 10 000 rEYWA converted on Day 21 after the claim:*
{% endhint %}

$$
V\_{early}=\frac{T^2}{91^2}∗V\_{all}
$$

Where:

**T** = 21 (vesting days since the claim),

**V** *all* = 10,000 rEYWA (total number of rEYWA tokens that could be claimed on day 91).

$$
V\_{early}=\frac{21^2}{91^2}∗10000=500
$$

Therefore, on day 21, the participant would only receive 500 rEYWA out of 10,000. These are the tokens he would be able to exchange for EYWA after the listing. The remaining 9,500 tokens would be returned to the DAO's treasury.

<br>


# Pools/asset contracts

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/XOWH57qrvy9iaEf22IGq" %}
[Hubchain Pools and Assets](/developer-documentation/pools-asset-contracts/hubchain-pools-and-assets)
{% endcontent-ref %}

{% content-ref url="/spaces/SnaMzO2OxSvSBUVB6drl/pages/uJ3tckGNB1mVyxmN6vZ9" %}
[Supported tokens](/developer-documentation/pools-asset-contracts/supported-tokens)
{% endcontent-ref %}


# Hubchain Pools and Assets

CrossCurve pools and assets are integrated within the Sonic (previously Fantom) and Arbitrum ecosystems.

**CrossCurve** facilitates the swapping of **s-tokens** within **Curve** pools on the [**Sonic**](https://docs.crosscurve.fi/developer-documentation/pools-asset-contracts/hubchain-pools-and-assets#sonic-pools) (in archive pools also [**Fantom**](https://docs.crosscurve.fi/developer-documentation/pools-asset-contracts/hubchain-pools-and-assets#fantom-pools))**,** [**Arbitrum**](https://docs.crosscurve.fi/developer-documentation/pools-asset-contracts/hubchain-pools-and-assets#arbitrum-pools) and [**Taiko**](https://docs.crosscurve.fi/developer-documentation/pools-asset-contracts/hubchain-pools-and-assets#taiko-pools) **Hubchains**. All liquidity in **CrossCurve** on **Hubchain** is composed of **s-tokens**. These **s-tokens** are collateralized synthetic assets issued by the [CrossCurve Consensus Bridge](https://docs.crosscurve.fi/crosscurve-metalayer/what-is-crosscurve-metalayer/crosscurve-consensus-bridge). Each **s-token** is fully backed by the original asset to which it is pegged, with these assets securely locked in the [CrossCurve Token Bridge](https://docs.crosscurve.fi/crosscurve-metalayer/what-is-crosscurve-metalayer/crosscurve-token-bridge) on the source blockchain.[ Audited](https://github.com/eywa-protocol/eywa-clp/raw/main/audit/05062302_EYWA_CLP_S%D0%A1_report.pdf) by [SmartState](https://docs.crosscurve.fi/about-crosscurve/security-audits#eywa-cdp-security-audit-by-smartstate).

Specialized tokenized assets that facilitate cross-chain trading and yield generation. These **s-tokens**, typically part of **CrossCurve's** core stable pools, enable the exchange of similar tokens, thereby creating a unified cross-chain liquidity market. By aggregating liquidity across various blockchains, **s-tokens** play a pivotal role in streamlining cross-chain operations and enhancing the efficiency of decentralized trading within the **Curve**-based protocol.

{% hint style="success" %}
Each paired pool on the **Sonic** (or **Taiko**) **Hubchain** consists of two tokens:

* ***A universal token** – an asset from **Sonic**, uniform across all pools of the same type (e.g., **xfrxUSD** for **USD** assets, **xfrxETH** for **ETH**, and **scBTC** for **BTC**). More details* [*here*](https://docs.crosscurve.fi/user-documentation/migration-to-sonic/liquidity-transfer-from-fantom-to-sonic#obtaining-universal-tokens-for-paired-pools)*.*
* ***A synthetic derivative** (**s-token**), backed by the original asset locked in the **Consensus Bridge**. These can be either single assets or **LP** tokens from **Curve**.*

**Synthetic tokens** are categorized into three types:

* ***s\_Stable\_chain**, where **Stable** represents a **USD** asset variant, and chain is the network where the asset is used.*
* ***s\_WETH\_network**, where **WETH** represents **ETH** backing, and chain is the network where the asset is used.*
* ***s\_WBTC\_network**, where **WBTC** represents **BTC** backing, and chain is the network where the asset is used.*

Each type of **synthetic token** corresponds to a pool where it can be paired in an **LP** token:

* ***xs\_chain**, where **xs** is a **stable** pool, and **chain** is the network where the asset is used.*
* ***xe\_chain**, where **xe** is a **volatile** pool, and **chain** is the network where the asset is used.*
* ***xb\_chain**, where **xb** is a **volatile** pool, and **chain** is the network where the asset is used*.
  {% endhint %}

{% hint style="info" %}
To understand the naming convention of **s-tokens** on **CrossCurve**, particularly when incorporating a list of supported networks within the name, such as "**sUSDT\_eth**," let's break it down:

* *The prefix "**s**" typically stands for "**synthetic**", indicating the type of token.*
* *The main body of the name, such as "**USDT**" specifies the underlying asset. Here, "**USDT**" indicates that the token is related to **CrossCurve Stable** pools.*
* *The suffix after an underscore, such as "**eth**," represents the network on which the token operates. For instance, "**eth**" might denote the **Ethereum** network.*

In this naming structure, "**sUSDT\_eth**" would represent a synthetic version of the **CrossCurve** **s-token** operating on the **Ethereum** network, to work with the liquidity in the **CrossCurve Stable ETH** pool.

Each different suffix corresponds to other supported networks, providing a quick reference to the cross-chain capabilities of the s-token within the **CrossCurve** platform:

*eth - Ethereum network*

*arb - Arbitrum network*

*op - Optimism network*

*av - Avalanche network*

*p - Polygon network*

*b - Binance Smart Chain network*

*ba - Base network*

*g - Gnosis network*

*m - Mantle network*

*me - Metis network*

*mo - Mode network*

*ma - Manta network*

*bl - Blast network*

*l - Linea network*

*c - Celo network*

*ka - Kava nework*
{% endhint %}

{% hint style="warning" %}
For archived pools on [**Fantom**](https://docs.crosscurve.fi/developer-documentation/pools-asset-contracts/hubchain-pools-and-assets#outdated-pools-1), each different body of the name, such as "**crvUSDT**," specifies the supported pool:

*crvUSDT - xCRVUSDT pool*

*crvUSDC - xCRVUSDC pool*

*3CRV - xCRVUSDT, xCRVUSDC, xSTABLE pools*

*3crypto - x3CRYPTO pool*

*2CRV, 3Pool, 4Pool - xSTABLE pool*

*USDC, USDT, USDB, USDCe, 3pool, FrUsdt, USDt - xSTABLE2, xSTABLE3 pools*

*WETH - xWETH, xWETH2 pools*

*ETH, wfrxETH - xWETH2 pool*

*2BTC, BTC.b, WBTC, BTCB, cbBTC - xBTC pool*

*CRV, CRVTRI - xCRV pool*
{% endhint %}

**CrossCurve** supports the use of both standard assets and **LP** tokens as collateral for **s-tokens**. Below, you will find a list of cross-chain pools, the **s-tokens** they contain, and the assets backing them.

{% hint style="info" %}
***LP** tokens in the **CrossCurve** ecosystem offer liquidity providers a means to engage with various **DeFi** platforms across multiple blockchains simultaneously. By providing liquidity, participants receive **LP** tokens, which represent a claim on their share of the pool's assets and its yield. Holding **LP** tokens allows providers not only to decide when to withdraw their assets but also to benefit from enhanced returns through cumulative rewards from both **Curve** and the **CrossCurve DAO**. Essentially, **LP** tokens signify ownership of a portion of the liquidity pool, enabling providers to earn returns on their stakes and facilitating cross-chain transactions within the **Curve** finance ecosystem.*
{% endhint %}

## Sonic pools

### Main pools <a href="#pools-sonicfraxtal-mainpools" id="pools-sonicfraxtal-mainpools"></a>

#### **CrossCurve frxUSD**

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-25/deposit/>

Pool/token: [xfrxUSD](https://sonicscan.org/address/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84)

CrossCurve frxUSD pool assets:

| Universal token                                                                  | Source chain |
| -------------------------------------------------------------------------------- | ------------ |
| [scUSD](https://sonicscan.org/token/0xd3dce716f3ef535c5ff8d041c1a41c3bd89b97ae)  | Sonic        |
| [frxUSD](https://sonicscan.org/token/0x80eede496655fb9047dd39d9f418d5483ed600df) | Sonic        |

#### **CrossCurve frxETH**

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-26/deposit/>

Pool/token: [xfrxETH](https://sonicscan.org/address/0x346704605c72d9f5f9f02d651e5a3dcce6964f3d)

CrossCurve frxETH pool assets:

| Universal token                                                                  | Source chain |
| -------------------------------------------------------------------------------- | ------------ |
| [scETH](https://sonicscan.org/token/0x3bce5cb273f0f148010bbea2470e7b5df84c7812)  | Sonic        |
| [frxETH](https://sonicscan.org/token/0x43edd7f3831b08fe70b7555ddd373c8bf65a9050) | Sonic        |

### xsStable pools <a href="#pools-sonicfraxtal-xsstable-z" id="pools-sonicfraxtal-xsstable-z"></a>

{% hint style="info" %}

***Synthetic tokens** are categorized into three types:*

* ***s\_Stable\_chain**, where **Stable** represents a **USD** asset variant, and **chain** is the network where the asset is used.*

Each type of **synthetic token** corresponds to a pool where it can be paired in an LP token:

* **xs\_chain**, where **xs** is a stable pool, and **chain** is the network where the asset is used.
  {% endhint %}

#### **CrossCurve Stable ETH**

Pool page: [https://curve.finance/dex/#/sonic/pools/factory-stable-ng-2/deposit](https://curve.finance/dex/sonic/pools/factory-stable-ng-69/deposit/)\
Pool/token: [xsEthereum](https://sonicscan.org/address/0x4fe12cf68147e902f4ccd8a3d4c13e89fba92384)\
CrossCurve Stable ETH pool assets:

| Universal token                                                                   | Synthetic derivative                                                                 | S-token collateral                                                            | Source chain |
| --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------- | ------------ |
| [xfrxUSD](https://sonicscan.org/token/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84) |                                                                                      |                                                                               | Sonic        |
|                                                                                   | [sUSDT\_eth](https://sonicscan.org/token/0xcc17fb75ec3cabc98f19e48943f264708f84d164) |                                                                               | Sonic        |
|                                                                                   |                                                                                      | [USDT](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | Ethereum     |

#### CrossCurve Stable BSC

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-70/deposit/>\
Pool/token: [xsBSC](https://sonicscan.org/address/0xf159c51297306839b7d44cbb5cb9360e4623ae5a)\
CrossCurve Stable BSC pool assets:

| Universal token                                                                   | Synthetic derivative                                                               | S-token collateral                                                           | Source chain |
| --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ------------ |
| [xfrxUSD](https://sonicscan.org/token/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84) |                                                                                    |                                                                              | Sonic        |
|                                                                                   | [sUSDT\_b](https://sonicscan.org/token/0x22677fdbdbf8648305a7f6cc409bd105b2f579f3) |                                                                              | Sonic        |
|                                                                                   |                                                                                    | [USDT](https://bscscan.com/token/0x55d398326f99059ff775485246999027b3197955) | BSC          |

#### CrossCurve Stable AVA

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-71/deposit/>\
Pool/token: [xsAva](https://sonicscan.org/address/0xdac15649b025ba0047718512111c34096e9545e8)\
CrossCurve Stable AVA pool assets:

| Universal token                                                                   | Synthetic derivative                                                                | S-token collateral                                                            | Source chain |
| --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ------------ |
| [xfrxUSD](https://sonicscan.org/token/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84) |                                                                                     |                                                                               | Sonic        |
|                                                                                   | [sUSDt\_av](https://sonicscan.org/token/0x2d4532ad36598f923156ee57d2c46c66bd6e4d80) |                                                                               | Sonic        |
|                                                                                   |                                                                                     | [USDt](https://snowscan.xyz/token/0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7) | Avalanche    |

#### CrossCurve Stable POL

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-72/deposit/>\
Pool/token: [xsPolygon](https://sonicscan.org/address/0xf821404ac19ac1786caca7e3e12658d72ece885e)\
CrossCurve Stable POL pool assets:

| Universal token                                                                   | Synthetic derivative                                                               | S-token collateral                                                               | Source chain |
| --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------ |
| [xfrxUSD](https://sonicscan.org/token/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84) |                                                                                    |                                                                                  | Sonic        |
|                                                                                   | [sUSDT\_p](https://sonicscan.org/token/0xf3bb10ea8a08c78645ef8e81ed62ef3923f04e75) |                                                                                  | Sonic        |
|                                                                                   |                                                                                    | [USDT](https://polygonscan.com/token/0xc2132d05d31c914a87c6611c10748aeb04b58e8f) | Polygon      |

#### CrossCurve Stable ARB

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-73/deposit/>\
Pool/token: [xsArbitrum](https://sonicscan.org/address/0x440bcab62d629ba60ca56b80e565636e0c404e60)\
CrossCurve Stable ARB pool assets:

| Universal token                                                                   | Synthetic derivative                                                                 | S-token collateral                                                           | Source chain |
| --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------- | ------------ |
| [xfrxUSD](https://sonicscan.org/token/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84) |                                                                                      |                                                                              | Sonic        |
|                                                                                   | [sUSDC\_arb](https://sonicscan.org/token/0x54e858c116f3d6bdf3c270f68cba96313b286577) |                                                                              | Sonic        |
|                                                                                   |                                                                                      | [USDC](https://arbiscan.io/token/0xaf88d065e77c8cC2239327C5EDb3A432268e5831) | Arbitrum     |

#### CrossCurve Stable OP

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-74/deposit/>\
Pool/token: [xsOptimism](https://sonicscan.org/address/0xd9bf67d8a5d698a028160f62480d456801f0b4b1)\
CrossCurve Stable OP pool assets:

| Universal token                                                                   | Synthetic derivative                                                                | S-token collateral                                                                       | Source chain |
| --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ------------ |
| [xfrxUSD](https://sonicscan.org/token/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84) |                                                                                     |                                                                                          | Sonic        |
|                                                                                   | [sUSDT\_op](https://sonicscan.org/token/0xd0b4799f3780193fca7bd7b5a035bdb1c75fe41d) |                                                                                          | Sonic        |
|                                                                                   |                                                                                     | [USDT](https://optimistic.etherscan.io/token/0x94b008aa00579c1307b0ef2c499ad98a8ce58e58) | Optimism     |

#### CrossCurve Stable BASE

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-75/deposit/>\
Pool/token: [xsBase](https://sonicscan.org/address/0x435a160ef111ad0aa0867bece7b85cb77dce3c8a)\
CrossCurve Stable BASE pool assets:

| Universal token                                                                   | Synthetic derivative                                                                | S-token collateral                                                            | Source chain |
| --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ------------ |
| [xfrxUSD](https://sonicscan.org/token/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84) |                                                                                     |                                                                               | Sonic        |
|                                                                                   | [sUSDC\_ba](https://sonicscan.org/token/0x53e510bc5dfcb363a2b34cbf7b7cd1b0ad15642c) |                                                                               | Sonic        |
|                                                                                   |                                                                                     | [USDC](https://basescan.org/token/0x833589fcd6edb6e08f4c7c32d4f71b54bda02913) | Base         |

#### CrossCurve Stable BL

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-76/deposit/>\
Pool/token: [xsBlast](https://sonicscan.org/address/0x90135d7300c690d786fa8fea071cd4c2ed080d16)\
CrossCurve Stable BL pool assets:

| Universal token                                                                   | Synthetic derivative                                                                | S-token collateral                                                            | Source chain |
| --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ------------ |
| [xfrxUSD](https://sonicscan.org/token/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84) |                                                                                     |                                                                               | Sonic        |
|                                                                                   | [sUSDB\_bl](https://sonicscan.org/token/0xd5bf688e2881a56c7d61967c1967034a7b9deb6f) |                                                                               | Sonic        |
|                                                                                   |                                                                                     | [USDB](https://blastscan.io/token/0x4300000000000000000000000000000000000003) | Blast        |

#### CrossCurve Stable GNO

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-77/deposit/>\
Pool/token: [xsGnosis](https://sonicscan.org/address/0x20c2e44bbbea698da4a4cb687514e66385996639)\
CrossCurve Stable GNO pool assets:

<table><thead><tr><th>Universal token</th><th>Synthetic derivative</th><th>S-token collateral</th><th width="161">Curve LP (collateral)</th><th>Pool page</th><th>Source chain</th></tr></thead><tbody><tr><td><a href="https://sonicscan.org/token/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84">xfrxUSD</a></td><td></td><td></td><td></td><td></td><td>Sonic</td></tr><tr><td></td><td><a href="https://sonicscan.org/token/0x005afeb98fb359aab1769b095ca1da6c6db4ec27">sx3CRV_g</a></td><td></td><td></td><td></td><td>Sonic</td></tr><tr><td></td><td></td><td><a href="https://gnosisscan.io/token/0xe91d153e0b41518a2ce8dd3d7944fa863463a97d">WXDAI</a></td><td></td><td></td><td>Gnosis</td></tr><tr><td></td><td></td><td><a href="https://gnosisscan.io/token/0xddafbb505ad214d7b80b1f830fccc89b60fb7a83">USDC</a></td><td></td><td></td><td>Gnosis</td></tr><tr><td></td><td></td><td><a href="https://gnosisscan.io/token/0x4ecaba5870353805a9f068101a40e0f32ed605c6">USDT</a></td><td></td><td></td><td>Gnosis</td></tr><tr><td></td><td></td><td></td><td><a href="https://gnosisscan.io/address/0x7f90122bf0700f9e7e1f688fe926940e8839f353">3pool</a></td><td><a href="https://curve.finance/#/xdai/pools/3pool/deposit">3Pool</a></td><td>Gnosis</td></tr></tbody></table>

CrossCurve Stable MTL

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-79/deposit/>\
Pool/token: [xsMantle](https://sonicscan.org/address/0x6988d6eec3ca7d24c0358bab8018787117325c2b)\
CrossCurve Stable MTL pool assets:

| Universal token                                                                   | Synthetic derivative                                                               | S-token collateral                                                              | Source chain |
| --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------ |
| [xfrxUSD](https://sonicscan.org/token/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84) |                                                                                    |                                                                                 | Sonic        |
|                                                                                   | [sUSDC\_m](https://sonicscan.org/token/0xd4c66e2d23b57e854e510d8a4620260ccdfab3d3) |                                                                                 | Sonic        |
|                                                                                   |                                                                                    | [USDC](https://mantlescan.xyz/token/0x09bc4e0d864854c6afb6eb9a9cdf58ac190d0df9) | Mantle       |

#### CrossCurve Stable LIN

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-80/deposit/>\
Pool/token: [xsLinea](https://sonicscan.org/address/0x9e63e5d31fd0136290ef99b3cac4515f346fef1c)\
CrossCurve Stable LIN pool assets:

| Universal token                                                                   | Synthetic derivative                                                               | S-token collateral                                                               | Source chain |
| --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------ |
| [xfrxUSD](https://sonicscan.org/token/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84) |                                                                                    |                                                                                  | Sonic        |
|                                                                                   | [sUSDC\_l](https://sonicscan.org/token/0x13d5369c5fce6768eb1eeab83d6921cfca021781) |                                                                                  | Sonic        |
|                                                                                   |                                                                                    | [USDC](https://lineascan.build/token/0x176211869cA2b568f2A7D4EE941E073a821EE1ff) | Linea        |

#### CrossCurve Stable CELO

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-81/deposit/>\
Pool/token: [xsCelo](https://sonicscan.org/address/0x2b0911095350785fb32a557d1d2e3b36a9bb9252)\
CrossCurve Stable CELO pool assets:

| Universal token                                                                   | Synthetic derivative                                                                | S-token collateral                                                             | Source chain |
| --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | ------------ |
| [xfrxUSD](https://sonicscan.org/token/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84) |                                                                                     |                                                                                | Sonic        |
|                                                                                   | [sUSDT\_ce](https://sonicscan.org/token/0xc274174796efb38cae6727f5229430eaa245409c) |                                                                                | Sonic        |
|                                                                                   |                                                                                     | [USD₮](https://celoscan.io/address/0x48065fbbe25f71c9282ddf5e1cd6d6a887483d5e) | Celo         |

#### CrossCurve Stable MET

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-82/deposit/>\
Pool/token: [xsMetis](https://sonicscan.org/address/0xaa186960df95495084ef1ddc40a3bdac22b0d343)\
CrossCurve Stable MET pool assets:

| Universal token                                                                   | Synthetic derivative                                                                  | S-token collateral                                                                             | Source chain |
| --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------ |
| [xfrxUSD](https://sonicscan.org/token/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84) |                                                                                       |                                                                                                | Sonic        |
|                                                                                   | [sm.USDT\_me](https://sonicscan.org/token/0x455ee4c4424da29e47fa798a3f08464219fa6fbd) |                                                                                                | Sonic        |
|                                                                                   |                                                                                       | [m.USDT](https://andromeda-explorer.metis.io/token/0xbB06DCA3AE6887fAbF931640f67cab3e3a16F4dC) | Metis        |

#### CrossCurve Stable MODE

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-83/deposit/>\
Pool/token: [xsMode](https://sonicscan.org/address/0xb7bb92ff0ec68e6d79a238174e42c12ff5ef2b00)\
CrossCurve Stable MODE pool assets:

| Universal token                                                                   | Synthetic derivative                                                                | S-token collateral                                                           | Source chain |
| --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ------------ |
| [xfrxUSD](https://sonicscan.org/token/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84) |                                                                                     |                                                                              | Sonic        |
|                                                                                   | [sUSDC\_mo](https://sonicscan.org/token/0xdcd96d860ebda2c2fd9ea4ad1ed18c4e0fc8787c) |                                                                              | Sonic        |
|                                                                                   |                                                                                     | [USDC](https://modescan.io/token/0xd988097fb8612cc24eeC14542bC03424c656005f) | Mode         |

#### CrossCurve Stable MTA

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-84/deposit/>\
Pool/token: [xsManta](https://sonicscan.org/address/0x024cc841cd7fe4e7dd7253676c688146599923cf)\
CrossCurve Stable MTA pool assets:

| Universal token                                                                   | Synthetic derivative                                                                | S-token collateral                                                                              | Source chain |
| --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ------------ |
| [xfrxUSD](https://sonicscan.org/token/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84) |                                                                                     |                                                                                                 | Sonic        |
|                                                                                   | [sUSDT\_ma](https://sonicscan.org/token/0xf499c393af81646fc18f2e5089e8a8b02cb52b05) |                                                                                                 | Sonic        |
|                                                                                   |                                                                                     | [USDT](https://pacific-explorer.manta.network/token/0xf417F5A458eC102B90352F697D6e2Ac3A3d2851f) | Manta        |

#### CrossCurve Stable KAVA

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-85/deposit/>\
Pool/token: [xsKava](https://sonicscan.org/address/0x2e97cf8da26ce3858950dd85b8f69e39ebd251f5)\
CrossCurve Stable KAVA pool assets:

| Universal token                                                                   | Synthetic derivative                                                                | S-token collateral                                                            | Source chain |
| --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ------------ |
| [xfrxUSD](https://sonicscan.org/token/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84) |                                                                                     |                                                                               | Sonic        |
|                                                                                   | [sUSDt\_ka](https://sonicscan.org/token/0x08809c26fc645acd5bbad28e25180e2e0d9695e1) |                                                                               | Sonic        |
|                                                                                   |                                                                                     | [USDt](https://kavascan.com/token/0x919C1c267BC06a7039e03fcc2eF738525769109c) | Kava         |

### xeWETH pools <a href="#pools-sonicfraxtal-xeweth-z" id="pools-sonicfraxtal-xeweth-z"></a>

{% hint style="info" %}
***Synthetic tokens** are categorized into three types:*

* ***s\_WETH\_network**, where **WETH** represents **ETH** backing, and **chain** is the network where the asset is used.*

Each type of **synthetic token** corresponds to a pool where it can be paired in an LP token:

* **xe\_chain**, where **xe** is a volatile pool, and **chain** is the network where the asset is used.
  {% endhint %}

#### CrossCurve WETH ETH

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-86/deposit/>\
Pool/token: [xeEthereum](https://sonicscan.org/address/0x24479a0d48849781b4386ed91fdd84241673ab1e)\
CrossCurve WETH ETH pool assets:

| Universal token                                                                   | Synthetic derivative                                                               | S-token collateral                                                            | Source chain |
| --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ------------ |
| [xfrxETH](https://sonicscan.org/token/0x346704605c72d9f5f9f02d651e5a3dcce6964f3d) |                                                                                    |                                                                               | Sonic        |
|                                                                                   | [sWETH\_e](https://sonicscan.org/token/0x89b5d7a56faa04c00cc0a9c1608087642e36cab0) |                                                                               | Sonic        |
|                                                                                   |                                                                                    | [WETH](https://etherscan.io/token/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2) | Ethereum     |

#### CrossCurve WETH ARB

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-87/deposit/>\
Pool/token: [xeArbitrum](https://sonicscan.org/address/0x9ccaabd2610d467b1f76c8aacec4f567ec61d78e)\
CrossCurve WETH ARB pool assets:

| Universal token                                                                   | Synthetic derivative                                                                | S-token collateral                                                           | Source chain |
| --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ------------ |
| [xfrxETH](https://sonicscan.org/token/0x346704605c72d9f5f9f02d651e5a3dcce6964f3d) |                                                                                     |                                                                              | Sonic        |
|                                                                                   | [sWETH\_ar](https://sonicscan.org/token/0x9959d2d758f897552ead20c313be481308db29b4) |                                                                              | Sonic        |
|                                                                                   |                                                                                     | [WETH](https://arbiscan.io/token/0x82af49447d8a07e3bd95bd0d56f35241523fbab1) | Arbitrum     |

#### CrossCurve WETH OP

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-88/deposit/>\
Pool/token: [xeOptimism](https://sonicscan.org/address/0x424757a5169e1f3b45436c9b2e5421dc39dc4897)\
CrossCurve WETH OP pool assets:

| Universal token                                                                   | Synthetic derivative                                                                | S-token collateral                                                                       | Source chain |
| --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ------------ |
| [xfrxETH](https://sonicscan.org/token/0x346704605c72d9f5f9f02d651e5a3dcce6964f3d) |                                                                                     |                                                                                          | Sonic        |
|                                                                                   | [sWETH\_op](https://sonicscan.org/token/0xe8b047624ce75777bc4f724f2bc8b5353cf4988a) |                                                                                          | Sonic        |
|                                                                                   |                                                                                     | [WETH](https://optimistic.etherscan.io/token/0x4200000000000000000000000000000000000006) | Optimism     |

CrossCurve WETH BASE

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-89/deposit/>\
Pool/token: [xeBase](https://sonicscan.org/address/0xa5a5da9c386855b199b8928cbb59c7ac6505ba89)\
CrossCurve WETH BASE pool assets:

| Universal token                                                                   | Synthetic derivative                                                                | S-token collateral                                                            | Source chain |
| --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ------------ |
| [xfrxETH](https://sonicscan.org/token/0x346704605c72d9f5f9f02d651e5a3dcce6964f3d) |                                                                                     |                                                                               | Sonic        |
|                                                                                   | [sWETH\_ba](https://sonicscan.org/token/0x0d7fe3c8686108aeefdca069d96e893a804c1ad0) |                                                                               | Sonic        |
|                                                                                   |                                                                                     | [WETH](https://basescan.org/token/0x4200000000000000000000000000000000000006) | Base         |

#### CrossCurve WETH BL

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-90/deposit/>\
Pool/token: [xeBlast](https://sonicscan.org/address/0x6f6522261f89d988d5f5caa5e4e658344517b114)\
CrossCurve WETH BL pool assets:

| Universal token                                                                   | Synthetic derivative                                                                | S-token collateral                                                            | Source chain |
| --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ------------ |
| [xfrxETH](https://sonicscan.org/token/0x346704605c72d9f5f9f02d651e5a3dcce6964f3d) |                                                                                     |                                                                               | Sonic        |
|                                                                                   | [sWETH\_bl](https://sonicscan.org/token/0x71482161be9df0c271a63bb462c5827b341c698b) |                                                                               | Sonic        |
|                                                                                   |                                                                                     | [WETH](https://blastscan.io/token/0x4300000000000000000000000000000000000004) | Blast        |

#### CrossCurve WETH MTL

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-91/deposit/>\
Pool/token: [xeMantle](https://sonicscan.org/address/0x13882f7f207329db487ce99839c26392a233d97b)\
CrossCurve WETH MTL pool assets:

| Universal token                                                                   | Synthetic derivative                                                               | S-token collateral                                                               | Source chain |
| --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------ |
| [xfrxETH](https://sonicscan.org/token/0x346704605c72d9f5f9f02d651e5a3dcce6964f3d) |                                                                                    |                                                                                  | Sonic        |
|                                                                                   | [sWETH\_m](https://sonicscan.org/token/0x384b81d6a585db8d9596e8dd6ff8111890d1949e) |                                                                                  | Sonic        |
|                                                                                   |                                                                                    | [WETH](https://mantlescan.info/token/0xdEAddEaDdeadDEadDEADDEAddEADDEAddead1111) | Mantle       |

#### CrossCurve ETH BSC

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-92/deposit/>\
Pool/token: [xeBSC](https://sonicscan.org/address/0xeb427d3cc29ec4c49e48fccc580b11f15d7d096d)\
CrossCurve WETH BSC pool assets:

| Universal token                                                                   | Synthetic derivative                                                              | S-token collateral                                                          | Source chain |
| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | ------------ |
| [xfrxETH](https://sonicscan.org/token/0x346704605c72d9f5f9f02d651e5a3dcce6964f3d) |                                                                                   |                                                                             | Sonic        |
|                                                                                   | [sETH\_b](https://sonicscan.org/token/0x714dcba75f1234855db5686450ae75a24e06f028) |                                                                             | Sonic        |
|                                                                                   |                                                                                   | [ETH](https://bscscan.com/token/0x2170Ed0880ac9A755fd29B2688956BD959F933F8) | BSC          |

#### CrossCurve WETH POL

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-93/deposit/>\
Pool/token: [xePolygon](https://sonicscan.org/address/0xdbb986d7fef61260c7f9a443e62e8a91974c5e3d)\
CrossCurve WETH POL pool assets:

| Universal token                                                                   | Synthetic derivative                                                               | S-token collateral                                                               | Source chain |
| --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------ |
| [xfrxETH](https://sonicscan.org/token/0x346704605c72d9f5f9f02d651e5a3dcce6964f3d) |                                                                                    |                                                                                  | Sonic        |
|                                                                                   | [sWETH\_p](https://sonicscan.org/token/0x1640faec20ca8fc0b0e77ccb2b4033869e5c9259) |                                                                                  | Sonic        |
|                                                                                   |                                                                                    | [WETH](https://polygonscan.com/token/0x7ceb23fd6bc0add59e62ac25578270cff1b9f619) | Polygon      |

#### CrossCurve WETH AVA

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-94/deposit/>\
Pool/token: [xeAva](https://sonicscan.org/address/0xa4948da3f2007193dd7404278fed15d48c617417)\
CrossCurve WETH AVA pool assets:

| Universal token                                                                   | Synthetic derivative                                                                  | S-token collateral                                                              | Source chain |
| --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------ |
| [xfrxETH](https://sonicscan.org/token/0x346704605c72d9f5f9f02d651e5a3dcce6964f3d) |                                                                                       |                                                                                 | Sonic        |
|                                                                                   | [sWETH.e\_av](https://sonicscan.org/token/0x8188ab6a01146edb79c97ccb67ecac092c523cd8) |                                                                                 | Sonic        |
|                                                                                   |                                                                                       | [WETH.e](https://snowscan.xyz/token/0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB) | Avalanche    |

#### CrossCurve WETH GNO

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-95/deposit/>\
Pool/token: [xeGnosis](https://sonicscan.org/address/0x8bb9b3e45fa6b4bf4bbb66ad09f485c5509a0e4c)\
CrossCurve WETH GNO pool assets:

| Universal token                                                                   | Synthetic derivative                                                               | S-token collateral                                                             | Source chain |
| --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | ------------ |
| [xfrxETH](https://sonicscan.org/token/0x346704605c72d9f5f9f02d651e5a3dcce6964f3d) |                                                                                    |                                                                                | Sonic        |
|                                                                                   | [sWETH\_g](https://sonicscan.org/token/0x6f5b9a16bd441d4d5b62eb4176b40cd113098ecc) |                                                                                | Sonic        |
|                                                                                   |                                                                                    | [WETH](https://gnosisscan.io/token/0x6a023ccd1ff6f2045c3309768ead9e68f978f6e1) | Gnosis       |

#### CrossCurve WETH MET

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-96/deposit/>\
Pool/token: [xeMetis](https://sonicscan.org/address/0x601538c805ea9d83a49c132f18417db9666f69d5)\
CrossCurve WETH MET pool assets:

| Universal token                                                                   | Synthetic derivative                                                                | S-token collateral                                                                 | Source chain |
| --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ------------ |
| [xfrxETH](https://sonicscan.org/token/0x346704605c72d9f5f9f02d651e5a3dcce6964f3d) |                                                                                     |                                                                                    | Sonic        |
|                                                                                   | [sWETH\_me](https://sonicscan.org/token/0xded1b8093d9a6e8306d073e1f4aa5465d803b30f) |                                                                                    | Sonic        |
|                                                                                   |                                                                                     | [WETH](https://explorer.metis.io/token/0x420000000000000000000000000000000000000a) | Metis        |

#### CrossCurve WETH MODE

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-97/deposit/>\
Pool/token: [xeMode](https://sonicscan.org/address/0x759a32b417bb471da76cf41ca2ea42f4e0b143eb)\
CrossCurve WETH MODE pool assets:

| Universal token                                                                   | Synthetic derivative                                                                | S-token collateral                                                           | Source chain |
| --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ------------ |
| [xfrxETH](https://sonicscan.org/token/0x346704605c72d9f5f9f02d651e5a3dcce6964f3d) |                                                                                     |                                                                              | Sonic        |
|                                                                                   | [sWETH\_mo](https://sonicscan.org/token/0xc29ac1d13ac04d647f4c73222080c9397d9df4ef) |                                                                              | Sonic        |
|                                                                                   |                                                                                     | [WETH](https://modescan.io/token/0x4200000000000000000000000000000000000006) | Mode         |

#### CrossCurve WETH LIN

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-98/deposit/>\
Pool/token: [xeLinea](https://sonicscan.org/address/0xe5a0813a7de6abd8599594e84cb23e4a6d9d9800)\
CrossCurve WETH LIN pool assets:

| Universal token                                                                   | Synthetic derivative                                                               | S-token collateral                                                               | Source chain |
| --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------ |
| [xfrxETH](https://sonicscan.org/token/0x346704605c72d9f5f9f02d651e5a3dcce6964f3d) |                                                                                    |                                                                                  | Sonic        |
|                                                                                   | [sWETH\_l](https://sonicscan.org/token/0xc0ed6f6dc83a5453ed1b4dd15cf6848aa8bff0d5) |                                                                                  | Sonic        |
|                                                                                   |                                                                                    | [WETH](https://lineascan.build/token/0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f) | Linea        |

#### CrossCurve WETH MTA

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-100/deposit/>\
Pool/token: [xeManta](https://sonicscan.org/address/0x1008358eecb59723391fba0f8a6b36c5346dab2d)\
CrossCurve WETH MTA pool assets:

| Universal token                                                                   | Synthetic derivative                                                                | S-token collateral                                                                              | Source chain |
| --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ------------ |
| [xfrxETH](https://sonicscan.org/token/0x346704605c72d9f5f9f02d651e5a3dcce6964f3d) |                                                                                     |                                                                                                 | Sonic        |
|                                                                                   | [sWETH\_ma](https://sonicscan.org/token/0xa5eb67666ef029288ca869b84565d4e4b9b818f4) |                                                                                                 | Sonic        |
|                                                                                   |                                                                                     | [WETH](https://pacific-explorer.manta.network/token/0x0Dc808adcE2099A9F62AA87D9670745AbA741746) | Manta        |

### xbBTC <a href="#pools-sonicfraxtal-xbbtc-z" id="pools-sonicfraxtal-xbbtc-z"></a>

{% hint style="info" %}
***Synthetic tokens** are categorized into three types:*

* ***s\_WBTC\_network**, where **WBTC** represents **BTC** backing, and **chain** is the network where the asset is used.*

Each type of **synthetic token** corresponds to a pool where it can be paired in an LP token:

* **xb\_chain**, where **xb** is a volatile pool, and **chain** is the network where the asset is used.
  {% endhint %}

#### CrossCurve BTC ETH

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-60/deposit/>\
Pool/token: [xbEthereum](https://sonicscan.org/token/0x09679c768d17b52bfa059010475f9a0bdb0d6fea)\
CrossCurve BTC ETH pool assets:

| Universal token                                                                 | Synthetic derivative                                                               | S-token collateral                                                            | Source chain |
| ------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ------------ |
| [scBTC](https://sonicscan.org/token/0xbb30e76d9bb2cc9631f7fc5eb8e87b5aff32bfbd) |                                                                                    |                                                                               | Sonic        |
|                                                                                 | [sWBTC\_e](https://sonicscan.org/token/0xcb16a76850acab8f7d30ff1a95895a7adf230872) |                                                                               | Sonic        |
|                                                                                 |                                                                                    | [WBTC](https://etherscan.io/token/0x2260fac5e5542a773aa44fbcfedf7c193bc2c599) | Ethereum     |

#### CrossCurve BTC ARB

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-61/deposit/>\
Pool/token: [xbArbitrum](https://sonicscan.org/address/0x1c404afffba0e70426dc601aeaa6205eca8c9078)\
CrossCurve BTC ARB pool assets:

| Universal token                                                                 | Synthetic derivative                                                                | S-token collateral                                                           | Source chain |
| ------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ------------ |
| [scBTC](https://sonicscan.org/token/0xbb30e76d9bb2cc9631f7fc5eb8e87b5aff32bfbd) |                                                                                     |                                                                              | Sonic        |
|                                                                                 | [sWBTC\_ar](https://sonicscan.org/token/0x202096924e6a7fc1db3b3d88ff6be78a0cf1548d) |                                                                              | Sonic        |
|                                                                                 |                                                                                     | [WBTC](https://arbiscan.io/token/0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f) | Arbitrum     |

#### CrossCurve BTC OP

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-62/deposit/>\
Pool/token: [xbOptimism](https://sonicscan.org/address/0x7b823067ece11047f83f48647110e7a777e2bf5a)\
CrossCurve BTC OP pool assets:

| Universal token                                                                 | Synthetic derivative                                                                | S-token collateral                                                                       | Source chain |
| ------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ------------ |
| [scBTC](https://sonicscan.org/token/0xbb30e76d9bb2cc9631f7fc5eb8e87b5aff32bfbd) |                                                                                     |                                                                                          | Sonic        |
|                                                                                 | [sWBTC\_op](https://sonicscan.org/token/0x46550206dcbf47af76b23dc50d4cf9d8a7317f4c) |                                                                                          | Sonic        |
|                                                                                 |                                                                                     | [WBTC](https://optimistic.etherscan.io/token/0x68f180fcce6836688e9084f035309e29bf0a2095) | Optimism     |

#### CrossCurve BTC AVA

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-63/deposit/>\
Pool/token: [xbAva](https://sonicscan.org/address/0x538a5534543752d5abbc8cd11760f8be3625e7b1)\
CrossCurve BTC AVA pool assets:

| Universal token                                                                 | Synthetic derivative                                                                 | S-token collateral                                                             | Source chain |
| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------ |
| [scBTC](https://sonicscan.org/token/0xbb30e76d9bb2cc9631f7fc5eb8e87b5aff32bfbd) |                                                                                      |                                                                                | Sonic        |
|                                                                                 | [sBTC.b\_av](https://sonicscan.org/token/0x667fb239eaf755a9a5230b72003fd4635f3364ca) |                                                                                | Sonic        |
|                                                                                 |                                                                                      | [BTC.b](https://snowscan.xyz/token/0x152b9d0FdC40C096757F570A51E494bd4b943E50) | Avalanche    |

#### CrossCurve BTC POL

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-64/deposit/> \
Pool/token: [xbPolygon](https://sonicscan.org/address/0xdb0a43327626c0e3e87ce936bc0cdf2ee9475c22)\
CrossCurve BTC POL pool assets:

| Universal token                                                                 | Synthetic derivative                                                               | S-token collateral                                                               | Source chain |
| ------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------ |
| [scBTC](https://sonicscan.org/token/0xbb30e76d9bb2cc9631f7fc5eb8e87b5aff32bfbd) |                                                                                    |                                                                                  | Sonic        |
|                                                                                 | [sWBTC\_p](https://sonicscan.org/token/0xcaaa532b9afaf8dbf53ef039ce6b8ef66b3e04de) |                                                                                  | Sonic        |
|                                                                                 |                                                                                    | [WBTC](https://polygonscan.com/token/0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6) | Polygon      |

#### CrossCurve BTC BSC

Pool page: <https://curve.finance/#/sonic/pools/factory-stable-ng-65/deposit>\
Pool/token: [xbBSC](https://sonicscan.org/address/0x5fa5168497db4ec1964b3208c18cb6157e5652e4)\
CrossCurve BTC BSC pool assets:

| Universal token                                                                 | Synthetic derivative                                                               | S-token collateral                                                           | Source chain |
| ------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ------------ |
| [scBTC](https://sonicscan.org/token/0xbb30e76d9bb2cc9631f7fc5eb8e87b5aff32bfbd) |                                                                                    |                                                                              | Sonic        |
|                                                                                 | [sBTCB\_b](https://sonicscan.org/token/0xb86a2ac67a48df7b21a394d01b499302e84da65d) |                                                                              | Sonic        |
|                                                                                 |                                                                                    | [BTCB](https://bscscan.com/token/0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c) | BSC          |

#### CrossCurve BTC BASE

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-66/deposit/>\
Pool/token: [xbBase](https://sonicscan.org/address/0x1894a7203faa464f7afa3b8c319a3cac8beb6cda)\
CrossCurve BTC BASE pool assets:

| Universal token                                                                 | Synthetic derivative                                                                 | S-token collateral                                                             | Source chain |
| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------ |
| [scBTC](https://sonicscan.org/token/0xbb30e76d9bb2cc9631f7fc5eb8e87b5aff32bfbd) |                                                                                      |                                                                                | Sonic        |
|                                                                                 | [scbBTC\_ba](https://sonicscan.org/token/0xbe80a171fc4a165a51e68dd28df96db4ea4ae667) |                                                                                | Sonic        |
|                                                                                 |                                                                                      | [cbBTC](https://basescan.org/token/0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf) | Base         |

#### CrossCurve BTC LIN

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-67/deposit/>\
Pool/token: [xbLinea](https://sonicscan.org/address/0xee05755051e8b1ccf85747a83d0ef8b00f161180)\
CrossCurve BTC LIN pool assets:

| Universal token                                                                 | Synthetic derivative                                                               | S-token collateral                                                               | Source chain |
| ------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------ |
| [scBTC](https://sonicscan.org/token/0xbb30e76d9bb2cc9631f7fc5eb8e87b5aff32bfbd) |                                                                                    |                                                                                  | Sonic        |
|                                                                                 | [sWBTC\_l](https://sonicscan.org/token/0xc3b4400c3ec878e6865599f510a030a7f3d115bc) |                                                                                  | Sonic        |
|                                                                                 |                                                                                    | [WBTC](https://lineascan.build/token/0x3aab2285ddcddad8edf438c1bab47e1a9d05a9b4) | Linea        |

#### CrossCurve BTC GNO

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-68/deposit/>\
Pool/token: [xbGnosis](https://sonicscan.org/address/0x9b78e02ddddda4117ddf6be8a0fbd15c45907895)\
CrossCurve BTC GNO pool assets:

| Universal token                                                                 | Synthetic derivative                                                               | S-token collateral                                                             | Source chain |
| ------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | ------------ |
| [scBTC](https://sonicscan.org/token/0xbb30e76d9bb2cc9631f7fc5eb8e87b5aff32bfbd) |                                                                                    |                                                                                | Sonic        |
|                                                                                 | [sWBTC\_g](https://sonicscan.org/token/0x3b78425824baccf039b7f6c29516441f8dd73ab1) |                                                                                | Sonic        |
|                                                                                 |                                                                                    | [WBTC](https://gnosisscan.io/token/0x8e5bbbb09ed1ebde8674cda39a0c169401db4252) | Gnosis       |

### **xToken pools**

#### **CrossCurve xCRV pool**

Pool page: <https://curve.finance/dex/#/sonic/pools/factory-stable-ng-2/deposit>

Pool/token: [xCRV](https://sonicscan.org/address/0x38dd6b3c096c8cbe649fa0039cc144f333be8e61)

CrossCurve xCRV pool assets:

<table><thead><tr><th width="152">S-token</th><th width="156">Curve LP (collateral)</th><th>Pool page</th><th>Token</th><th>Source chain</th></tr></thead><tbody><tr><td><a href="https://sonicscan.org/address/0xf47be881f4a0a3557819fc917ec722b4dad627bb">sCRV_e</a></td><td></td><td></td><td><a href="https://etherscan.io/token/0xD533a949740bb3306d119CC777fa900bA034cd52">CRV</a></td><td>Ethereum</td></tr><tr><td><a href="https://sonicscan.org/address/0x1329c1ca6819b6a0550151ee802e62c704cee589">sCRV_ar</a></td><td></td><td></td><td><a href="https://arbiscan.io/token/0x11cDb42B0EB46D95f990BeDD4695A6e3fA034978">CRV</a></td><td>Arbitrum</td></tr><tr><td><a href="https://sonicscan.org/address/0xae3afe90fdda54c1bb7a0c4cd40c6d46c3b471cc">sCRV_ba</a></td><td></td><td></td><td><a href="https://basescan.org/token/0x8Ee73c484A26e0A5df2Ee2a4960B789967dd0415">CRV</a></td><td>Base</td></tr><tr><td><a href="https://sonicscan.org/address/0xa28693eea6145709b60dfafa1b2c14456ff0b083">sCRV_o</a></td><td></td><td></td><td><a href="https://optimistic.etherscan.io/token/0x0994206dfe8de6ec6920ff4d779b0d950605fb53">CRV</a></td><td>Optimism</td></tr><tr><td><a href="https://sonicscan.org/address/0x0d773d1ba78dfe11739393d6526ad3c48bb7dd3c">sCRV_p</a></td><td><a href="https://polygonscan.com/address/0xa73edcf18421b56d9af1ce08a34e102e23b2c4b6">CRVTRI-f</a></td><td><a href="https://curve.finance/dex/#/polygon/pools/factory-crypto-1/deposit">CRV/TRICRYPTO</a></td><td><a href="https://polygonscan.com/token/0x172370d5cd63279efa6d502dab29171933a610af">CRV</a></td><td>Polygon</td></tr><tr><td><a href="https://sonicscan.org/address/0x313e51513cb252ba39c37a70a69c64efc404ee8b">sCRV_g</a></td><td></td><td></td><td><a href="https://gnosisscan.io/token/0x712b3d230f3c1c19db860d80619288b1f0bdd0bd">CRV</a></td><td>Gnosis</td></tr><tr><td><a href="https://sonicscan.org/address/0xa4e6e9b68fd4f32a22cb890b411cf68206479928">sCRV_fr</a></td><td></td><td></td><td><a href="https://fraxscan.com/token/0x331b9182088e2a7d6d3fe4742aba1fb231aecc56">CRV</a></td><td>Fraxtal</td></tr><tr><td><a href="https://sonicscan.org/address/0xcc62792dc59ad5d3d287fe5b5304fe01147e9527">sCRV_ft</a></td><td></td><td></td><td><a href="https://ftmscan.com/token/0xE6c259bc0FCE25b71fE95A00361D3878E16232C3">CRV</a></td><td>Fantom</td></tr></tbody></table>

#### **CrossCurve CRV 2 pool**

Pool page: <https://www.curve.finance/dex/sonic/pools/factory-stable-ng-106/deposit/>

Pool/token: [xCRV2](https://sonicscan.org/address/0x1028452e86ad0ae114a86b0b041af5110ff1f0b5)

CrossCurve xCRV2 pool assets:

<table><thead><tr><th width="152">S-token</th><th width="156">Curve LP (collateral)</th><th width="164">Pool page</th><th>Token</th><th>Source chain</th></tr></thead><tbody><tr><td></td><td><a href="https://sonicscan.org/token/0x38dd6b3c096c8cbe649fa0039cc144f333be8e61">xCRV</a></td><td><a href="https://www.curve.finance/dex/sonic/pools/factory-stable-ng-2/deposit/">CrossCurve CRV</a></td><td></td><td>Sonic</td></tr><tr><td><a href="https://sonicscan.org/token/0x677d0b3c3b588fdd4c9e958dedff220298cf6fb0">sCRV_t</a></td><td></td><td></td><td><a href="https://taikoscan.io/address/0x09413312b263fd252c16e592a45f4689f26cb79d">CRV</a></td><td>Taiko</td></tr><tr><td></td><td></td><td></td><td><a href="https://sonicscan.org/token/0x5af79133999f7908953e94b7a5cf367740ebee35">CRV</a></td><td>Sonic</td></tr></tbody></table>

#### **CrossCurve CRV/USD pool**

Pool page: <https://www.curve.finance/dex/sonic/pools/factory-twocrypto-29/deposit/>

Pool/token: [CRV/USD](https://sonicscan.org/address/0xd80bd4cddce4e0bf10ffd2e3e54e1702f2b67960)

CrossCurve CRV/USD pool assets:

<table><thead><tr><th width="152">S-token</th><th width="156">Curve LP (collateral)</th><th width="185">Pool page</th><th>Token</th><th>Source chain</th></tr></thead><tbody><tr><td></td><td><a href="https://sonicscan.org/token/0x1028452e86ad0ae114a86b0b041af5110ff1f0b5">xCRV2</a></td><td><a href="https://www.curve.finance/dex/sonic/pools/factory-stable-ng-106/deposit/">CrossCurve CRV 2</a></td><td></td><td>Sonic</td></tr><tr><td></td><td><a href="https://sonicscan.org/token/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84">xfrxUSD</a></td><td><a href="https://curve.finance/dex/sonic/pools/factory-stable-ng-25/deposit/">CrossCurve frxUSD</a></td><td></td><td>Sonic</td></tr></tbody></table>

#### CrossCurve cmGEMS1

Pool page: <https://curve.finance/dex/sonic/pools/factory-twocrypto-22/deposit/>

Pool/token: [xcmGEMS1](https://sonicscan.org/address/0xd0edf0b0d4c56fc9f229a359979d283350ba944e)

CrossCurve cmGEMS1 pool assets:

| Token                                                                             | Source chain |
| --------------------------------------------------------------------------------- | ------------ |
| [stS](https://sonicscan.org/token/0xe5da20f15420ad15de0fa650600afc998bbe3955)     | Sonic        |
| [cmGEMS1](https://sonicscan.org/token/0x3301e4326cf2939cd6b8f23ddf7bc2a1713fd06a) | Sonic        |

### Outdated pools

**CrossCurve Stable TAI**

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-78/deposit/>\
Pool/token: [xsTaiko](https://sonicscan.org/address/0xedcf9ef9b389a8f52e81958d8212faf6fbd758ae)\
CrossCurve Stable TAI pool assets:

| Universal token                                                                   | Synthetic derivative                                                                | S-token collateral                                                            | Curve LP (collateral)                                                                | Pool page                                                                        | Source chain |
| --------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------- | ------------ |
| [xfrxUSD](https://sonicscan.org/token/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84) |                                                                                     |                                                                               |                                                                                      |                                                                                  | Sonic        |
|                                                                                   | [s2Pool\_t](https://sonicscan.org/token/0x54f0055f387e7dcbfa060eaed81ea8bf1f6c808f) |                                                                               |                                                                                      |                                                                                  | Sonic        |
|                                                                                   |                                                                                     | [USDC](https://taikoscan.io/token/0x07d83526730c7438048d55a4fc0b850e2aab6f0b) |                                                                                      |                                                                                  | Taiko        |
|                                                                                   |                                                                                     | [USDT](https://taikoscan.io/token/0x2def195713cf4a606b49d07e520e22c17899a736) |                                                                                      |                                                                                  | Taiko        |
|                                                                                   |                                                                                     |                                                                               | [USDC/USDT](https://taikoscan.io/address/0xb391f2d5b83b3900997b4d6880ba7818bef3591a) | [USDC/USDT](https://curve.finance/dex/#/taiko/pools/factory-stable-ng-3/deposit) | Taiko        |

#### CrossCurve WETH TAI

Pool page: <https://curve.finance/dex/sonic/pools/factory-stable-ng-99/deposit/>\
Pool/token: [xeTaiko](https://sonicscan.org/address/0x6d9f0ff2b7f1397ee731f6370d8e4699ffad7bc5)\
CrossCurve WETH TAI pool assets:

| Universal token                                                                   | Synthetic derivative                                                               | S-token collateral                                                            | Source chain |
| --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ------------ |
| [xfrxETH](https://sonicscan.org/token/0x346704605c72d9f5f9f02d651e5a3dcce6964f3d) |                                                                                    |                                                                               | Sonic        |
|                                                                                   | [sWETH\_t](https://sonicscan.org/token/0x8af98914c95a3ec6e790d79e9ef9072e307fc086) |                                                                               | Sonic        |
|                                                                                   |                                                                                    | [WETH](https://taikoscan.io/token/0xa51894664a773981c6c112c43ce576f315d5b1b6) | Taiko        |

## Arbitrum pools

#### **CrossCurve EYWAUSDT** **pool**

Pool page: <https://curve.finance/dex/arbitrum/pools/factory-twocrypto-57/deposit/>

Pool/token: [EYWAUSDT](https://arbiscan.io/address/0x6579758e9e85434450d638cfbea0f2fe79856dda)

CrossCurve EYWAUSDT pool assets:

| Token                                                                         | Source chain |
| ----------------------------------------------------------------------------- | ------------ |
| [EYWA](https://arbiscan.io/token/0x7a10f506e4c7658e6ad15fdf0443d450b7fa80d7)  | Arbitrum     |
| [USD₮0](https://arbiscan.io/token/0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9) | Arbitrum     |

#### **UNIT0/WUNIT0 pool**

Pool page: <https://curve.finance/#/arbitrum/pools/factory-stable-ng-109/deposit>

Pool/token: [UNIT0/WUNIT0](https://arbiscan.io/address/0xe636b0425b0d501ecddbf1adec9b89353c4a04ab)

UNIT0/WUNIT0 pool assets:

| S-token                                                                                             | Token                                                                          | Source chain |
| --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | ------------ |
| synth - Ethereum [UNIT0](https://etherscan.io/token/0x48b847cf774a5710f36f594b11fc10e2e59bba72)     | [UNIT0](https://arbiscan.io/token/0x21ab704b2cdf792e1e84f591ca082fff8de12198)  | Arbitrum     |
| synth - Units [WUNIT0](https://explorer.unit0.dev/token/0xCF43F7703d9B4E8835f977eF364B4014fA7e856E) | [WUNIT0](https://arbiscan.io/token/0xe80698d9c55d9212c4dae8bed00e1357d804c62a) | Arbitrum     |

#### **3UNIT0 pool**

Pool page: <https://curve.finance/#/arbitrum/pools/factory-tricrypto-38/deposit>

Pool/token: [3UNIT0](https://arbiscan.io/address/0xdadd23929ca8efcbc43aaf8f677d426563cc40d7)

3UNIT0 pool assets:

| S-token                                                                                             | Token                                                                          | Source chain |
| --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | ------------ |
| synth - Units [WUNIT0](https://explorer.unit0.dev/token/0xCF43F7703d9B4E8835f977eF364B4014fA7e856E) | [WUNIT0](https://arbiscan.io/token/0xe80698d9c55d9212c4dae8bed00e1357d804c62a) | Arbitrum     |
| [WETH](https://explorer.unit0.dev/address/0x1B100DE3F13E3f8Bb2f66FE58c1949c32E71248B)               | [WETH](https://arbiscan.io/token/0x82af49447d8a07e3bd95bd0d56f35241523fbab1)   | Arbitrum     |
| [s2CRV\_ar](https://ftmscan.com/address/0x2902257ba817e1436b93f9f959ed50b95560b7d5)                 | [2CRV](https://arbiscan.io/token/0x7f90122bf0700f9e7e1f688fe926940e8839f353)   | Arbitrum     |

## **Taiko pools**

**CrossCurve Stable pool**

Pool page:[ ](https://curve.finance/dex/arbitrum/pools/factory-twocrypto-57/deposit/)<https://www.curve.finance/dex/taiko/pools/factory-stable-ng-5/deposit/>

Pool/token: [xsoTaiko](https://taikoscan.io/address/0xa17aa5ee656849221c8d9d062894e1145cbda864)

CrossCurve Stable pool assets:

| [sxfrxUSD\_s](https://taikoscan.io/token/0xb1712abdaf3f2959c0d5063e827ddb8183145f11) | Taiko |
| ------------------------------------------------------------------------------------ | ----- |
| [USDC](https://taikoscan.io/token/0x07d83526730c7438048d55a4fc0b850e2aab6f0b)        | Taiko |

**CrossCurve WETH pool**

Pool page: <https://www.curve.finance/dex/taiko/pools/factory-stable-ng-6/deposit/>

Pool/token: [xeoTaiko](https://taikoscan.io/address/0xe16ab7fb5d2c7c1b69f7ce58d390b78ab59e44ae)

CrossCurve Stable pool assets:

| Token                                                                                | Source chain |
| ------------------------------------------------------------------------------------ | ------------ |
| [sxfrxETH\_s](https://taikoscan.io/token/0xa494f19b34f6aa77ce6d968c752b6321d7b069b3) | Taiko        |
| [WETH](https://taikoscan.io/token/0xa51894664a773981c6c112c43ce576f315d5b1b6)        | Taiko        |

## **Fantom pools**

### **x**Token pools

#### CrossCurve wFTM/USDC pool

Pool page: <https://curve.finance/dex/fantom/pools/factory-twocrypto-53/deposit/>

Pool/token: [wFTM/USDC](https://ftmscout.com/address/0x06a2e1521afde7f7dc30d351dcf04408042f536e)

| Token                                                                         | Source chain |
| ----------------------------------------------------------------------------- | ------------ |
| [USDC](https://ftmscout.com/token/0x28a92dde19d9989f39a49905d7c9c2fac7799bdf) | Fantom       |
| [WFTM](https://ftmscout.com/token/0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83) | Fantom       |

### **Outdated pools**

#### **xSTABLE pools**

#### **CrossCurve xSTABLE pool (old)**

Pool page: <https://curve.finance/#/fantom/pools/factory-stable-ng-24/deposit>

Pool/token: [xSTABLE](https://ftmscan.com/address/0x3f833ed02629545dd78afc3d585f7f3918a3de62)

CrossCurve xSTABLE pool assets:

| S-token                                                                                            | Curve LP (collateral)                                                                      | Pool contract                                                                               | Pool page                                                                | Source chain |
| -------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | ------------ |
| [s3CRV\_e](https://ftmscan.com/address/0x14f8e5851879a18e0fea77b5a17f15523262a99e#readContract)    | [3Crv](https://etherscan.io/address/0x6c3f90f043a72fa612cbac8115ee7e52bde6e490)            | [3Pool](https://etherscan.io/address/0xbebc44782c7db0a1a60cb6fe97d0b483032ff1c7)            | [3Pool](https://curve.finance/#/ethereum/pools/3pool/deposit)            | Ethereum     |
| [s2CRV\_ar](https://ftmscan.com/address/0x2902257ba817e1436b93f9f959ed50b95560b7d5)                | [2CRV](https://arbiscan.io/address/0x7f90122bf0700f9e7e1f688fe926940e8839f353)             | [2Pool](https://arbiscan.io/address/0x7f90122bf0700f9e7e1f688fe926940e8839f353)             | [2Pool](https://curve.finance/#/arbitrum/pools/2pool/deposit)            | Arbitrum     |
| [s3CRV\_o](https://ftmscan.com/address/0x740568006c07888216649632aace6620288c7078)                 | [3CRV](https://optimistic.etherscan.io/address/0x1337bedc9d22ecbe766df105c9623922a27963ec) | [3Pool](https://optimistic.etherscan.io/address/0x1337bedc9d22ecbe766df105c9623922a27963ec) | [3Pool](https://curve.finance/#/optimism/pools/3pool/deposit)            | Optimism     |
| [sav3CRV\_av](https://ftmscan.com/address/0x9be1ae6175b106f26439cebaf2217d7815f684af#readContract) | [av3CRV](https://snowtrace.io/address/0x1337bedc9d22ecbe766df105c9623922a27963ec)          | [aave](https://snowtrace.io/address/0x7f90122bf0700f9e7e1f688fe926940e8839f353)             | [aave](https://curve.finance/#/avalanche/pools/aave/deposit)             | Avalanche    |
| [sam3CRV\_p](https://ftmscan.com/address/0x4636a4efba1c02917d0584505e47bb2d22afe359)               | [am3CRV](https://polygonscan.com/address/0xe7a24ef0c5e95ffb0f6684b813a78f2a3ad7d171)       | [aave](https://polygonscan.com/address/0x445fe580ef8d70ff569ab36e80c647af338db351)          | [aave](https://curve.finance/#/polygon/pools/aave/deposit)               | Polygon      |
| [sb3pool\_b](https://ftmscan.com/address/0xab72e7f7bcfe09a9105f24ffe45038f50f45ca5c)               | [b3pool](https://bscscan.com/address/0xa5e0e46462970c9ee8c2ecadcde254c483748ec4)           | [b3pool](https://bscscan.com/address/0xa5e0e46462970c9ee8c2ecadcde254c483748ec4)            | [b3pool](https://curve.finance/#/bsc/pools/factory-stable-ng-21/deposit) | BSC          |
| [s4pool\_ba](https://ftmscan.com/address/0x904603366bc8acf881a35cd4c7e0d514f0477ffc)               | [4poolUSD-f](https://basescan.org/address/0xf6c5f01c7f3148891ad0e19df78743d31e390d1f)      | [4pool](https://basescan.org/address/0xf6c5f01c7f3148891ad0e19df78743d31e390d1f)            | [4Pool](https://curve.finance/#/base/pools/factory-v2-1/deposit)         | Base         |
| [sx3CRV\_g](https://ftmscan.com/address/0x795b38c85d6f1524b434f14aa37c1c808c2bbd6b)                | [x3CRV](https://gnosisscan.io/address/0x1337bedc9d22ecbe766df105c9623922a27963ec)          | [3Pool](https://gnosisscan.io/address/0x7f90122bf0700f9e7e1f688fe926940e8839f353)           | [3Pool](https://curve.finance/#/xdai/pools/3pool/deposit)                | Gnosis       |

#### **CrossCurve xSTABLE2 pool (old)**

Pool page: <https://curve.finance/#/fantom/pools/factory-stable-ng-43/deposit>

Pool/token: [xSTABLE2](https://ftmscan.com/address/0xa3a63276b8668583e1b47b979d1093d9aaf431ee)

CrossCurve xSTABLE2 pool assets:

| S-token                                                                              | Curve LP (collateral)                                                                | Pool page                                                                      | Token                                                                              | Source chain |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------- | ------------ |
|                                                                                      | [xSTABLE](https://ftmscan.com/address/0x3f833ed02629545dd78afc3d585f7f3918a3de62)    | [xSTABLE](https://curve.finance/#/fantom/pools/factory-stable-ng-24/deposit)   |                                                                                    | Fantom       |
| [sUSDC\_m](https://ftmscan.com/address/0xf515a8055e503ac86d96f0ffd0bf9121a668b8ab)   |                                                                                      |                                                                                | [USDC](https://mantlescan.xyz/token/0x09bc4e0d864854c6afb6eb9a9cdf58ac190d0df9)    | Mantle       |
| [sUSDB\_bl](https://ftmscan.com/address/0x286931c8a360c0375ec174f04feabf9a707c94e5)  |                                                                                      |                                                                                | [USDB](https://blastscan.io/token/0x4300000000000000000000000000000000000003)      | Blast        |
| [sUSDCe\_l](https://ftmscan.com/address/0xdc06708bc4cc5b1907854f687860b96e6600d6e5)  |                                                                                      |                                                                                | [USDC.e](https://lineascan.build/token/0x176211869cA2b568f2A7D4EE941E073a821EE1ff) | Linea        |
| [sUSDC\_t](https://ftmscan.com/address/0x5acc8f3b6fe2c7f9736bfaeef3a0870b1e2295a9)   |                                                                                      |                                                                                | [USDC](https://taikoscan.io/token/0x07d83526730c7438048d55a4fc0b850e2aab6f0b)      | Taiko        |
| [s3Pool\_c](https://ftmscan.com/address/0xc8506d96647a69a2f9bfbb5fd467db700827a2ba)  | [Tri-Pool](https://celoscan.io/address/0x28f209844029755fc563c1bd4fd21f42dc7ce0e4)   | [Tri-Pool](https://curve.finance/#/celo/pools/factory-stable-ng-2/deposit)     |                                                                                    | Celo         |
| [sFrUsdt\_t](https://ftmscan.com/address/0x8e23f9719bbe179a68cb18595ec564116e4024eb) | [FRAX/USDT](https://fraxscan.com/address/0xcaef324bea3ff5c7a08710081294f3344ffadc54) | [FRAX/USDT](https://curve.finance/#/fraxtal/pools/factory-stable-ng-2/deposit) |                                                                                    | Fraxtal      |
| [sUSDt\_t](https://ftmscan.com/address/0xeb23ef286a00e96e5dc82d5f25e203c43a4b5cc4)   |                                                                                      |                                                                                | [USDt](https://kavascan.com/token/0x919C1c267BC06a7039e03fcc2eF738525769109c)      | Kava         |

#### **CrossCurve xSTABLE3 pool (old)**

Pool page: <https://curve.finance/#/fantom/pools/factory-stable-ng-54/deposit>

Pool/token: [xSTABLE3](https://ftmscan.com/address/0x15ee0d5f92fd869c2fbf26ea785e9d150353568d)

CrossCurve xSTABLE3 pool assets:

| S-token                                                                               | Curve LP (collateral)                                                              | Pool page                                                                     | Token                                                                                           | Source chain |
| ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ------------ |
|                                                                                       | [xSTABLE](https://ftmscan.com/address/0x3f833ed02629545dd78afc3d585f7f3918a3de62)  | [xSTABLE](https://curve.finance/#/fantom/pools/factory-stable-ng-24/deposit)  |                                                                                                 | Fantom       |
|                                                                                       | [xSTABLE2](https://ftmscan.com/address/0xa3a63276b8668583e1b47b979d1093d9aaf431ee) | [xSTABLE2](https://curve.finance/#/fantom/pools/factory-stable-ng-43/deposit) |                                                                                                 | Fantom       |
| [sm.USDT\_me](https://ftmscan.com/address/0x8c1caa56f334853d17637a960815b23fc2bff3ed) |                                                                                    |                                                                               | [m.USDT](https://andromeda-explorer.metis.io/token/0xbB06DCA3AE6887fAbF931640f67cab3e3a16F4dC)  | Metis        |
| [sUSDC\_mo](https://ftmscan.com/address/0xf66E414772d6936eD566725c06AcE21E285Bc67f)   |                                                                                    |                                                                               | [USDC](https://modescan.io/token/0xd988097fb8612cc24eeC14542bC03424c656005f)                    | Mode         |
|                                                                                       |                                                                                    |                                                                               | [USDC.e](https://ftmscan.com/token/0x2F733095B80A04b38b0D10cC884524a3d09b836a)                  | Fantom       |
|                                                                                       |                                                                                    |                                                                               | [USDC](https://ftmscan.com/token/0x28a92dde19D9989F39A49905d7C9C2FAc7799bDf)                    | Fantom       |
| [sUSDT\_ma](https://ftmscan.com/address/0xD6170459d46788Ae47A8a8Fd0F792bE6EEF84765)   |                                                                                    |                                                                               | [USDT](https://pacific-explorer.manta.network/token/0xf417F5A458eC102B90352F697D6e2Ac3A3d2851f) | Manta        |
| [sUSDC.e\_s](https://ftmscan.com/address/0xE27f0896bA3C482a604eFbb8ec9Bb68A81bD1Cd6)  |                                                                                    |                                                                               | [USDC.e](https://sonicscan.org/token/0x29219dd400f2bf60e5a23d13be72b486d4038894)                | Sonic        |

#### **xWETH pools**

#### **CrossCurve xWETH pool (old)**

Pool page: <https://curve.finance/#/fantom/pools/factory-stable-ng-37/deposit>

Pool/token: [xWETH](https://ftmscan.com/address/0x3c2fcf53f742345c5c1b3dcb2612a1949bc1f18d#code)

CrossCurve xWETH pool assets:

| S-token                                                                             | Token                                                                                    | Source chain |
| ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ------------ |
| [sWETH\_e](https://ftmscan.com/address/0x0c935328a69155dd43aa57f23288d868bae440fe)  | [WETH](https://etherscan.io/token/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2)            | Ethereum     |
| [sWETH\_ar](https://ftmscan.com/address/0x77e1886bf34d7dc0dcf8d5407ed6a239b66ae2ee) | [WETH](https://arbiscan.io/token/0x82af49447d8a07e3bd95bd0d56f35241523fbab1)             | Arbitrum     |
| [sWETH\_o](https://ftmscan.com/address/0x66917b3b128760295bf48a5382951bc63bb1768e)  | [WETH](https://optimistic.etherscan.io/token/0x4200000000000000000000000000000000000006) | Optimism     |
| [sWETH\_ba](https://ftmscan.com/address/0xc6cd50e6085a5f037b638813483dd244e3e4bcaa) | [WETH](https://basescan.org/token/0x4200000000000000000000000000000000000006)            | Base         |
| [sWETH\_m](https://ftmscan.com/address/0xf91eb98d5ff86718234ac0e400175a05df6cfcf1)  | [WETH](https://mantlescan.info/address/0xdEAddEaDdeadDEadDEADDEAddEADDEAddead1111)       | Mantle       |
| [sWETH\_bl](https://ftmscan.com/address/0x389b72effa551ddec93cbb9259b27780f9f7a043) | [WETH](https://blastscan.io/token/0x4300000000000000000000000000000000000004)            | Blast        |
| [sWETH\_l](https://ftmscan.com/address/0x62c8359b2734e5dd6adb528ad2c78159a3f2607e)  | [WETH](https://lineascan.build/address/0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f)       | Linea        |
| [sWETH\_t](https://ftmscan.com/address/0x8fd195b2ff1506c1c26091422768cc2a40285ce7)  | [WETH](https://taikoscan.io/address/0xa51894664a773981c6c112c43ce576f315d5b1b6)          | Taiko        |

#### **CrossCurve xWETH2 pool (old)**

Pool page: <https://curve.finance/#/fantom/pools/factory-stable-ng-49/deposit>

Pool/token: [xWETH2](https://ftmscan.com/address/0xabba40f628f055149f1c7415c4388363392279c3)

CrossCurve xWETH2 pool assets:

| S-token                                                                               | Token                                                                              | Source chain |
| ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ------------ |
| [sWETH.e\_av](https://ftmscan.com/address/0xb2137e9d90f0752089538e3c1254f36da2e8a871) | [WETH.e](https://snowscan.xyz/token/0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB)    | Avalanche    |
| [sWETH\_p](https://ftmscan.com/address/0x6b4846ba707c0b760d9c77918f70536312e264c4)    | [WETH](https://polygonscan.com/token/0x7ceb23fd6bc0add59e62ac25578270cff1b9f619)   | Polygon      |
| [sETH\_b](https://ftmscan.com/address/0x1f7759134c9f35d9b2c81002f7fac6848a13ca35)     | [ETH](https://bscscan.com/token/0x2170Ed0880ac9A755fd29B2688956BD959F933F8)        | BSC          |
| [swfrxETH\_f](https://ftmscan.com/address/0x91c573fb29acaf7ab242b1de8b720787d43b5cd5) | [wfrxETH](https://fraxscan.com/token/0xfc00000000000000000000000000000000000006)   | Fraxtal      |
| [sWETH\_gn](https://ftmscan.com/address/0xee8758e413e305b1bed9e0bd147457c8254004be)   | [WETH](https://gnosisscan.io/token/0x6a023ccd1ff6f2045c3309768ead9e68f978f6e1)     | Gnosis       |
| [sWETH\_me](https://ftmscan.com/address/0xa8e44394edfe922b5fdc722d87954aa5e605463c)   | [WETH](https://explorer.metis.io/token/0x420000000000000000000000000000000000000A) | Metis        |
| [sWETH\_mo](https://ftmscan.com/address/0x46ac86bfec8a9f48d51620fbb1a4c26ded1219b9)   | [WETH](https://modescan.io/token/0x4200000000000000000000000000000000000006)       | Mode         |

#### **xBTC pools**

#### **CrossCurve xBTC pool (old)**

Pool page: <https://curve.finance/#/fantom/pools/factory-stable-ng-39/deposit>

Pool/token: [xBTC](https://ftmscan.com/address/0x37F5dae6039C8eC4c32ad7D3e2a07aCaa55C08f9)

CrossCurve xBTC pool assets:

| S-Token                                                                              | Curve LP (collateral)                                                                      | Pool page                                                                      | Token                                                                            | Source chain |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | -------------------------------------------------------------------------------- | ------------ |
| [s2BTC\_e](https://ftmscan.com/address/0x2daDf589F616876E21c8BA63f59Af764479A422d)   | [tBTC/WBTC](https://etherscan.io/address/0xb7ecb2aa52aa64a717180e030241bc75cd946726)       | [tBTC/WBTC](https://curve.finance/#/ethereum/pools/factory-crvusd-16/deposit)  |                                                                                  | Ethereum     |
| [s2BTC\_ar](https://ftmscan.com/address/0x636cc0ab717be347ff3acf9763afbaf7d2cf47a9)  | [2BTC-ng](https://arbiscan.io/address/0x186cf879186986a20aadfb7ead50e3c20cb26cec)          | [2BTC-ng](https://curve.finance/#/arbitrum/pools/factory-stable-ng-69/deposit) |                                                                                  | Arbitrum     |
| [s2BTC\_o](https://ftmscan.com/address/0x513a766f7b4269590850d566b64916d691a96927)   | [2BTC](https://optimistic.etherscan.io/address/0x1dc5c0f8668a9f54ed922171d578011850ca0341) | [2BTC](https://curve.finance/#/optimism/pools/factory-v2-63/deposit)           |                                                                                  | Optimism     |
| [sBTC.b\_av](https://ftmscan.com/address/0x9bde91f652b78f6ab22084bde4ecc0767f360df0) |                                                                                            |                                                                                | [BTC.b](https://snowscan.xyz/token/0x152b9d0FdC40C096757F570A51E494bd4b943E50)   | Avalanche    |
| [sWBTC\_p](https://ftmscan.com/address/0xcaf01ac3fa0ac969da7a399388f02791f0471955)   |                                                                                            |                                                                                | [WBTC](https://polygonscan.com/token/0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6) | Polygon      |
| [sBTCB\_b](https://ftmscan.com/address/0x210b2adde074a220bcea99051f90acd049977814)   |                                                                                            |                                                                                | [BTCB](https://bscscan.com/token/0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c)     | BSC          |
| [scbBTC\_ba](https://ftmscan.com/address/0xfea2c4377f556e35b1dde85e80a2816f601c8d6c) |                                                                                            |                                                                                | [cbBTC](https://basescan.org/token/0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf)   | Base         |
| [sWBTC\_l](https://ftmscan.com/address/0xa6c60e1c7431561971398b79fe6b0bf02e9f0e6c)   |                                                                                            |                                                                                | [WBTC](https://lineascan.build/token/0x3aab2285ddcddad8edf438c1bab47e1a9d05a9b4) | Linea        |

#### xToken pools

#### **CrossCurve 3crypto pool (old)**&#x20;

Pool page: <https://curve.finance/#/fantom/pools/factory-stable-ng-17/deposit>&#x20;

Pool/token : [x3CRYPTO](https://ftmscan.com/address/0x5ecac5fb1d9634f9e1c2dab2381b9adaada5f80b)&#x20;

CrossCurve 3crypto pool assets:

| S-token                                                                                             | Curve LP (collateral)                                                                      | Pool contract                                                                             | Pool page                                                                              | Source chain |
| --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ------------ |
| [s3crypto\_e](https://ftmscan.com/address/0xe71286fc887189c562410af12ed521c8e58e5fa3#readContract)  | [crv3crypto](https://etherscan.io/address/0xc4ad29ba4b3c580e6d59105fff484999997675ff)      | [tricrypto2](https://etherscan.io/address/0xd51a44d3fae010294c616388b506acda1bfaae46)     | [tricrypto2](https://curve.finance/#/ethereum/pools/tricrypto2/deposit)                | Ethereum     |
| [s3crypto\_ar](https://ftmscan.com/address/0xfc2c4d0703d3522b74e0e06f364ba2515df6a74e#readContract) | [3c-crvUSD](https://arbiscan.io/address/0x82670f35306253222f8a165869b28c64739ac62e)        | [3c-crvUSD](https://arbiscan.io/address/0x82670f35306253222f8a165869b28c64739ac62e)       | [Tricrypto-crvUSD](https://curve.finance/#/arbitrum/pools/factory-tricrypto-9/deposit) | Arbitrum     |
| [s3crypto\_av](https://ftmscan.com/address/0x4ac215b8b0acf9da8ef50636145bc80afca30d79#readContract) | [crvUSDBTCETH](https://snowtrace.io/address/0x1dab6560494b04473a0be3e7d83cf3fdf3a51828)    | [atricrypto](https://snowtrace.io/address/0xb755b949c126c04e0348dd881a5cf55d424742b2)     | [atricrypto](https://curve.finance/#/avalanche/pools/atricrypto/deposit)               | Avalanche    |
| [s3crypto\_p](https://ftmscan.com/address/0xc7fbc3b9bc1f095189c6143d29e83ee89325377e#readContract)  | [crvUSDBTCETH](https://polygonscan.com/address/0xdad97f7713ae9437fa9249920ec8507e5fbb23d3) | [atricrypto3](https://polygonscan.com/address/0x92215849c439e1f8612b6646060b4e3e5ef822cc) | [atricrypto3](https://curve.finance/#/polygon/pools/atricrypto3/deposit)               | Polygon      |

#### **CrossCurve crvUSDC pool (old)**&#x20;

Pool page: <https://curve.finance/#/fantom/pools/factory-stable-ng-16/deposit>&#x20;

Pool/token : [xCRVUSDC](https://ftmscan.com/address/0x353bb1dfbc52bc3b0e7d264216b1455df00f50be)&#x20;

CrossCurve crvUSDC pool assets:

| S-token                                                                                             | Curve LP (collateral)                                                                         | Pool contact                                                                              | Pool page                                                                         | Source chain |
| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | ------------ |
| [scrvUSDC\_e](https://ftmscan.com/address/0x0cf1aa18ab7020973705aa9c46bbec6150e2782b#readContract)  | [crvUSDUSDC-f](https://etherscan.io/token/0x4dece678ceceb27446b35c672dc7d61f30bad69e)         | [crvUSD/USDC](https://etherscan.io/token/0x4dece678ceceb27446b35c672dc7d61f30bad69e)      | [crvUSD/USDC](https://curve.finance/#/ethereum/pools/factory-crvusd-0/deposit)    | Ethereum     |
| [scrvUSDC\_ar](https://ftmscan.com/address/0x3ee81e8a9368c891cf54b19265ef2df348142ab9#readContract) | [crvUSDC](https://arbiscan.io/address/0xec090cf6dd891d2d014bea6edada6e05e025d93d)             | [crvUSD/USDC](https://etherscan.io/token/0x4dece678ceceb27446b35c672dc7d61f30bad69e)      | [crvUSD/USDC](https://curve.finance/#/arbitrum/pools/factory-stable-ng-2/deposit) | Arbitrum     |
| [scrvUSDC\_o](https://ftmscan.com/address/0xcd9f2b048fa2284fa7d79bcacdf8c758d96e9ba3#readContract)  | [crvUSDC](https://optimistic.etherscan.io/address/0x03771e24b7c9172d163bf447490b142a15be3485) | [crvUSD/USDC](https://etherscan.io/token/0x4dece678ceceb27446b35c672dc7d61f30bad69e)      | [crvUSD/USDC](https://curve.finance/#/optimism/pools/factory-stable-ng-2/deposit) | Optimism     |
| [scrvUSDC\_p](https://ftmscan.com/address/0x8b697f95d8c9fbbcc597a89223b10b80369490a1#readContract)  | [crvusdusdc](https://polygonscan.com/address/0x5225010a0ae133b357861782b0b865a48471b2c5)      | [crvUSD/USDC](https://polygonscan.com/address/0x5225010a0ae133b357861782b0b865a48471b2c5) | [crvUSD/USDC](https://curve.finance/#/polygon/pools/factory-stable-ng-27/deposit) | Polygon      |
| [scrvUSDC\_b](https://ftmscan.com/address/0x309faa41ebf82063efa822b5030fc0795c82feb2#readContract)  | [crvusdUSDC](https://bscscan.com/address/0xc4ec3ab41182e70ca45a764ffc5c45b9a82ccc97)          | [crvUSD/USDC](https://bscscan.com/address/0xc4ec3ab41182e70ca45a764ffc5c45b9a82ccc97)     | [crvUSD/USDC](https://curve.finance/#/bsc/pools/factory-stable-ng-11/deposit)     | BNB chain    |
| [sav3CRV\_av](https://ftmscan.com/address/0x9be1ae6175b106f26439cebaf2217d7815f684af#readContract)  | [av3CRV](https://snowtrace.io/address/0x1337bedc9d22ecbe766df105c9623922a27963ec)             | [aave](https://snowtrace.io/address/0x1337bedc9d22ecbe766df105c9623922a27963ec)           | [aave](https://curve.finance/#/avalanche/pools/aave/deposit) (3pool)              | Avalanche    |

#### **CrossCurve crvUSDT pool (old)**&#x20;

Pool page: <https://curve.finance/#/fantom/pools/factory-stable-ng-20/deposit>&#x20;

Pool/token : [xCRVUSDT](https://ftmscan.com/address/0x7d04f016749c215e52138b06bb35ee8491e739fd)&#x20;

CrossCurve crvUSDT pool assets:

| S-token                                                                                             | Curve LP (collateral)                                                                       | Pool contract                                                                                     | Pool page                                                                         | Source chain |
| --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | ------------ |
| [scrvUSDT\_e](https://ftmscan.com/address/0x41a4dd96f623818ebf95fb2bd98978229614af64#readContract)  | [crvUSDUSDT-f](https://etherscan.io/token/0x390f3595bca2df7d23783dfd126427cceb997bf4)       | [crvUSD/USDT](https://etherscan.io/address/0x390f3595bca2df7d23783dfd126427cceb997bf4)            | [crvUSD/USDT](https://curve.finance/#/ethereum/pools/factory-crvusd-1/deposit)    | Ethereum     |
| [scrvUSDT\_ar](https://ftmscan.com/address/0xc9be2d86262805ce9e848b76be6123132dc1a43a#readContract) | [crvUSDT](https://arbiscan.io/token/0x73af1150f265419ef8a5db41908b700c32d49135)             | [crvUSD/USDT](https://arbiscan.io/address/0x73af1150f265419ef8a5db41908b700c32d49135)             | [crvUSD/USDT](https://curve.finance/#/arbitrum/pools/factory-stable-ng-0/deposit) | Arbitrum     |
| [scrvUSDT\_o](https://ftmscan.com/address/0x1d28d76a49d25d3c97f50ac93da433ebedbe05c8#readContract)  | [crvUSDT](https://optimistic.etherscan.io/token/0xd1b30ba128573fcd7d141c8a987961b40e047bb6) | [crvUSD/USDT](https://optimistic.etherscan.io/address/0xd1b30ba128573fcd7d141c8a987961b40e047bb6) | [crvUSD/USDT](https://curve.finance/#/optimism/pools/factory-stable-ng-0/deposit) | Optimism     |
| [scrvUSDT\_p](https://ftmscan.com/address/0xf1738b8c7b805d86671d258d5ffe85204db4de4d#readContract)  | [crvusdusdt](https://polygonscan.com/token/0xa70af99bff6b168327f9d1480e29173e757c7904)      | [crvUSD/USDT](https://polygonscan.com/address/0xa70af99bff6b168327f9d1480e29173e757c7904)         | [crvUSD/USDT](https://curve.finance/#/polygon/pools/factory-stable-ng-28/deposit) | Polygon      |
| [scrvUSDT\_b](https://ftmscan.com/address/0xee4c758c85a2b4dd7375c1f1d4b59518770846c6#readContract)  | [crvusdUSDT](https://bscscan.com/token/0xae87e5fa20f335ce14aa3b9e0616308d9ac7d4ce)          | [crvUSD/USDT](https://bscscan.com/address/0xae87e5fa20f335ce14aa3b9e0616308d9ac7d4ce)             | [crvUSD/USDT](https://curve.finance/#/bsc/pools/factory-stable-ng-10/deposit)     | BNB chain    |
| [sav3CRV\_av](https://ftmscan.com/address/0x9be1ae6175b106f26439cebaf2217d7815f684af#readContract)  | [av3CRV](https://snowtrace.io/address/0x1337bedc9d22ecbe766df105c9623922a27963ec)           | [aave](https://snowtrace.io/address/0x7f90122bf0700f9e7e1f688fe926940e8839f353)                   | [aave](https://curve.finance/#/avalanche/pools/aave/deposit)                      | Avalanche    |


# Supported tokens

Assets available for cross-chain swaps

### Assets

<table><thead><tr><th width="129">Chain</th><th width="121">Ticker/Link</th><th>Address</th></tr></thead><tbody><tr><td>Ethereum</td><td><a href="https://etherscan.io/address/0x8cb8C4263EB26b2349d74ea2cB1B27bc40709e12">EYWA</a></td><td>0x8cb8C4263EB26b2349d74ea2cB1B27bc40709e12</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/address/0x70980bD7253f8150dDD973CB430374Adaa0A143F">rEYWA</a></td><td>0x70980bD7253f8150dDD973CB430374Adaa0A143F</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/address/0xf939e0a03fb07f59a73314e73794be0e57ac1b4e">crvUSD</a></td><td>0xf939e0a03fb07f59a73314e73794be0e57ac1b4e</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/address/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48">USDC</a></td><td>0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/address/0xdac17f958d2ee523a2206206994597c13d831ec7">USDT</a></td><td>0xdac17f958d2ee523a2206206994597c13d831ec7</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/address/0x6b175474e89094c44da98b954eedeac495271d0f">DAI</a></td><td>0x6b175474e89094c44da98b954eedeac495271d0f</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/token/0x73a15fed60bf67631dc6cd7bc5b6e8da8190acf5">USD0</a></td><td>0x73a15fed60bf67631dc6cd7bc5b6e8da8190acf5</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/token/0x35d8949372d46b7a3d5a56006ae77b215fc69bc0">USD0++</a></td><td>0x35d8949372d46b7a3d5a56006ae77b215fc69bc0</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/token/0x853d955acef822db058eb8505911ed77f175b99e">FRAX</a></td><td>0x853d955acef822db058eb8505911ed77f175b99e</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/token/0x4c9edd5852cd905f086c759e8383e09bff1e68b3">USDe</a></td><td>0x4c9edd5852cd905f086c759e8383e09bff1e68b3</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/token/0x83f20f44975d03b1b09e64809b757c47f942beea">sDAI</a></td><td>0x83f20f44975d03b1b09e64809b757c47f942beea</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/token/0x9d39a5de30e57443bff2a8307a4256c8797a3497">sUSDe</a></td><td>0x9d39a5de30e57443bff2a8307a4256c8797a3497</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/token/0xad55aebc9b8c03fc43cd9f62260391c13c23e7c0">cUSDO</a></td><td>0xad55aebc9b8c03fc43cd9f62260391c13c23e7c0</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/token/0xbdc7c08592ee4aa51d06c27ee23d5087d65adbcd">USDL</a></td><td>0xbdc7c08592ee4aa51d06c27ee23d5087d65adbcd</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/token/0x15700b564ca08d9439c58ca5053166e8317aa138">deUSD</a></td><td>0x15700b564ca08d9439c58ca5053166e8317aa138</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/token/0x865377367054516e17014ccded1e7d814edc9ce4">DOLA</a></td><td>0x865377367054516e17014ccded1e7d814edc9ce4</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/token/0x6c3ea9036406852006290770bedfcaba0e23a0e8">PYUSD</a></td><td>0x6c3ea9036406852006290770bedfcaba0e23a0e8</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/token/0x085780639cc2cacd35e474e71f4d000e2405d8f6">fxUSD</a></td><td>0x085780639cc2cacd35e474e71f4d000e2405d8f6</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/token/0x40d16fc0246ad3160ccc09b8d0d3a2cd28ae6c2f">GHO</a></td><td>0x40d16fc0246ad3160ccc09b8d0d3a2cd28ae6c2f</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/token/0x66a1e37c9b0eaddca17d3662d6c05f4decf3e110">USR</a></td><td>0x66a1e37c9b0eaddca17d3662d6c05f4decf3e110</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/token/0xD533a949740bb3306d119CC777fa900bA034cd52">CRV</a></td><td>0xD533a949740bb3306d119CC777fa900bA034cd52</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/address/0x2260fac5e5542a773aa44fbcfedf7c193bc2c599">WBTC</a></td><td>0x2260fac5e5542a773aa44fbcfedf7c193bc2c599</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/address/0x18084fba666a33d37592fa2633fd49a74dd93a88">tBTC</a></td><td>0x18084fbA666a33d37592fA2633fD49a74DD93a88</td></tr><tr><td>Ethereum</td><td>ETH</td><td>native coin</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/address/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2">WETH</a></td><td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/address/0x7a10f506e4c7658e6ad15fdf0443d450b7fa80d7">EYWA</a></td><td>0x7A10F506E4c7658e6AD15Fdf0443d450B7FA80D7</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/token/0xD9879D9DbDc5042D8f1C2710Be293909B985dc90">rEYWA</a></td><td>0xD9879D9DbDc5042D8f1C2710Be293909B985dc90</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/address/0x498bf2b1e120fed3ad3d42ea2165e9b73f99c1e5">crvUSD</a></td><td>0x498bf2b1e120fed3ad3d42ea2165e9b73f99c1e5</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/address/0xff970a61a04b1ca14834a43f5de4533ebddb5cc8">USDC.e</a></td><td>0xff970a61a04b1ca14834a43f5de4533ebddb5cc8</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/token/0xaf88d065e77c8cC2239327C5EDb3A432268e5831">USDC</a></td><td>0xaf88d065e77c8cC2239327C5EDb3A432268e5831</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/address/0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9">USDT</a></td><td>0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/token/0x59d9356e565ab3a36dd77763fc0d87feaf85508c">USDM</a></td><td>0x59d9356e565ab3a36dd77763fc0d87feaf85508c</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/token/0x12275dcb9048680c4be40942ea4d92c74c63b844">eUSD</a></td><td>0x12275dcb9048680c4be40942ea4d92c74c63b844</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/token/0x11cDb42B0EB46D95f990BeDD4695A6e3fA034978">CRV</a></td><td>0x11cDb42B0EB46D95f990BeDD4695A6e3fA034978</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/token/0x912ce59144191c1204e64559fe8253a0e49e6548">ARB</a></td><td>0x912CE59144191C1204E64559FE8253a0e49E6548</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/address/0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f">WBTC</a></td><td>0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/address/0x6c84a8f1c29108f47a79964b5fe888d4f4d0de40">tBTC</a></td><td>0x6c84a8f1c29108F47a79964b5Fe888D4f4D0dE40</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/token/0x050c24dbf1eec17babe5fc585f06116a259cc77a">IBTC</a></td><td>0x050C24dBf1eEc17babE5fc585F06116A259CC77A</td></tr><tr><td>Arbitrum</td><td>ETH</td><td>native coin</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/address/0x82af49447d8a07e3bd95bd0d56f35241523fbab1">WETH</a></td><td>0x82af49447d8a07e3bd95bd0d56f35241523fbab1</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/token/0x21ab704b2cdf792e1e84f591ca082fff8de12198">UNIT0</a></td><td>0x21ab704b2cdf792e1e84f591ca082fff8de12198</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/address/0xe80698d9c55d9212c4dae8bed00e1357d804c62a">WUNIT0</a></td><td>0xe80698d9c55d9212c4dae8bed00e1357d804c62a</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/address/0x21b1b07af26613479e526c058749239e460f8a2f">OGC</a></td><td>0x21b1b07af26613479e526c058749239e460f8a2f</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/address/0x432d9c4cc7021ddcf6e1d2af4886dd29d7709582">xcmGEMS1</a></td><td>0x432D9C4Cc7021dDcF6e1D2Af4886dd29d7709582</td></tr><tr><td>Optimism</td><td><a href="https://optimistic.etherscan.io/address/0xc52d7f23a2e460248db6ee192cb23dd12bddcbf6">crvUSD</a></td><td>0xc52d7f23a2e460248db6ee192cb23dd12bddcbf6</td></tr><tr><td>Optimism</td><td><a href="https://optimistic.etherscan.io/address/0x7f5c764cbc14f9669b88837ca1490cca17c31607">USDC.e</a></td><td>0x7F5c764cBc14f9669B88837ca1490cCa17c31607</td></tr><tr><td>Optimism</td><td><a href="https://optimistic.etherscan.io/token/0x94b008aa00579c1307b0ef2c499ad98a8ce58e58">USDT</a></td><td>0x94b008aA00579c1307B0EF2c499aD98a8ce58e58</td></tr><tr><td>Optimism</td><td><a href="https://optimistic.etherscan.io/address/0xda10009cbd5d07dd0cecc66161fc93d7c9000da1">DAI</a></td><td>0xda10009cbd5d07dd0cecc66161fc93d7c9000da1</td></tr><tr><td>Optimism</td><td><a href="https://optimistic.etherscan.io/token/0x0994206dfe8de6ec6920ff4d779b0d950605fb53">CRV</a></td><td>0x0994206dfe8de6ec6920ff4d779b0d950605fb53</td></tr><tr><td>Optimism</td><td><a href="https://optimistic.etherscan.io/token/0x68f180fcce6836688e9084f035309e29bf0a2095">WBTC</a></td><td>0x68f180fcCe6836688e9084f035309E29Bf0A2095</td></tr><tr><td>Optimism</td><td><a href="https://optimistic.etherscan.io/token/0x6c84a8f1c29108f47a79964b5fe888d4f4d0de40">tBTC</a></td><td>0x6c84a8f1c29108F47a79964b5Fe888D4f4D0dE40</td></tr><tr><td>Optimism</td><td>ETH</td><td>native coin</td></tr><tr><td>Optimism</td><td><a href="https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000006">WETH</a></td><td>0x4200000000000000000000000000000000000006</td></tr><tr><td>Optimism</td><td><a href="https://optimistic.etherscan.io/address/0x21b1b07af26613479e526c058749239e460f8a2f">OGC</a></td><td>0x21b1b07af26613479e526c058749239e460f8a2f</td></tr><tr><td>Avalanche</td><td><a href="https://snowtrace.io/address/0xd586e7f844cea2f87f50152665bcbc2c279d8d70">DAI.e</a></td><td>0xd586e7f844cea2f87f50152665bcbc2c279d8d70</td></tr><tr><td>Avalanche</td><td><a href="https://snowtrace.io/address/0xa7d7079b0fead91f3e65f86e8915cb59c1a4c664">USDC.e</a></td><td>0xa7d7079b0fead91f3e65f86e8915cb59c1a4c664</td></tr><tr><td>Avalanche</td><td><a href="https://snowtrace.io/address/0xc7198437980c041c805a1edcba50c1ce5db95118">USDT.e</a></td><td>0xc7198437980c041c805a1edcba50c1ce5db95118</td></tr><tr><td>Avalanche</td><td><a href="https://snowtrace.io/address/0x47afa96cdc9fab46904a55a6ad4bf6660b53c38a">avDAI</a></td><td>0x47afa96cdc9fab46904a55a6ad4bf6660b53c38a</td></tr><tr><td>Avalanche</td><td><a href="https://snowtrace.io/address/0x46a51127c3ce23fb7ab1de06226147f446e4a857">avUSDC</a></td><td>0x46a51127c3ce23fb7ab1de06226147f446e4a857</td></tr><tr><td>Avalanche</td><td><a href="https://snowtrace.io/address/0x532e6537fea298397212f09a61e03311686f548e">avUSDT</a></td><td>0x532e6537fea298397212f09a61e03311686f548e</td></tr><tr><td>Avalanche</td><td><a href="https://snowscan.xyz/token/0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7">USDt</a></td><td>0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7</td></tr><tr><td>Avalanche</td><td><a href="https://snowscan.xyz/token/0x111111111111ed1d73f860f57b2798b683f2d325">YUSD</a></td><td>0x111111111111ed1D73f860F57b2798b683f2d325</td></tr><tr><td>Avalanche</td><td><a href="https://snowscan.xyz/token/0x130966628846bfd36ff31a822705796e8cb8c18d">MIM</a></td><td>0x130966628846BFd36ff31a822705796e8cb8C18D</td></tr><tr><td>Avalanche</td><td><a href="https://snowscan.xyz/address/0x152b9d0FdC40C096757F570A51E494bd4b943E50">BTC.b</a></td><td>0x152b9d0FdC40C096757F570A51E494bd4b943E50</td></tr><tr><td>Avalanche</td><td><a href="https://snowscan.xyz/token/0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB">WETH.e</a></td><td>0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB</td></tr><tr><td>Polygon</td><td><a href="https://polygonscan.com/address/0xc4ce1d6f5d98d65ee25cf85e9f2e9dcfee6cb5d6">crvUSD</a></td><td>0xc4ce1d6f5d98d65ee25cf85e9f2e9dcfee6cb5d6</td></tr><tr><td>Polygon</td><td><a href="https://polygonscan.com/address/0x2791bca1f2de4661ed88a30c99a7a9449aa84174">USDC.e</a></td><td>0x2791bca1f2de4661ed88a30c99a7a9449aa84174</td></tr><tr><td>Polygon</td><td><a href="https://polygonscan.com/address/0x1a13f4ca1d028320a707d99520abfefca3998b7f">amUSDC</a></td><td>0x1a13f4ca1d028320a707d99520abfefca3998b7f</td></tr><tr><td>Polygon</td><td><a href="https://polygonscan.com/address/0xc2132d05d31c914a87c6611c10748aeb04b58e8f">USDT</a></td><td>0xc2132d05d31c914a87c6611c10748aeb04b58e8f</td></tr><tr><td>Polygon</td><td><a href="https://polygonscan.com/address/0x60d55f02a771d515e077c9c2403a1ef324885cec">amUSDT</a></td><td>0x60d55f02a771d515e077c9c2403a1ef324885cec</td></tr><tr><td>Polygon</td><td><a href="https://polygonscan.com/address/0x8f3cf7ad23cd3cadbd9735aff958023239c6a063">DAI</a></td><td>0x8f3cf7ad23cd3cadbd9735aff958023239c6a063</td></tr><tr><td>Polygon</td><td><a href="https://polygonscan.com/address/0x27f8d03b3a2196956ed754badc28d73be8830a6e">amDAI</a></td><td>0x27f8d03b3a2196956ed754badc28d73be8830a6e</td></tr><tr><td>Polygon</td><td><a href="https://polygonscan.com/token/0x172370d5cd63279efa6d502dab29171933a610af">CRV</a></td><td>0x172370d5cd63279efa6d502dab29171933a610af</td></tr><tr><td>Polygon</td><td><a href="https://polygonscan.com/address/0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6">WBTC</a></td><td>0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6</td></tr><tr><td>Polygon</td><td><a href="https://polygonscan.com/token/0x7ceb23fd6bc0add59e62ac25578270cff1b9f619">WETH</a></td><td>0x7ceb23fd6bc0add59e62ac25578270cff1b9f619</td></tr><tr><td>Polygon</td><td><a href="https://polygonscan.com/address/0x21b1b07af26613479e526c058749239e460f8a2f">OGC</a></td><td>0x21b1b07af26613479e526c058749239e460f8a2f</td></tr><tr><td>BSC</td><td><a href="https://bscscan.com/address/0x7a10f506e4c7658e6ad15fdf0443d450b7fa80d7">EYWA</a></td><td>0x7A10F506E4c7658e6AD15Fdf0443d450B7FA80D7</td></tr><tr><td>BSC</td><td><a href="https://bscscan.com/address/0xe2fb3f127f5450dee44afe054385d74c392bdef4">crvUSD</a></td><td>0xe2fb3f127f5450dee44afe054385d74c392bdef4</td></tr><tr><td>BSC</td><td><a href="https://bscscan.com/address/0xc5f0f7b66764F6ec8C8Dff7BA683102295E16409">FDUSD</a></td><td>0xc5f0f7b66764F6ec8C8Dff7BA683102295E16409</td></tr><tr><td>BSC</td><td><a href="https://bscscan.com/address/0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d">USDC</a></td><td>0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d</td></tr><tr><td>BSC</td><td><a href="https://bscscan.com/address/0x55d398326f99059ff775485246999027b3197955">USDT</a></td><td>0x55d398326f99059fF775485246999027B3197955</td></tr><tr><td>BSC</td><td><a href="https://bscscan.com/token/0xf3527ef8de265eaa3716fb312c12847bfba66cef">USDX</a></td><td>0xf3527ef8dE265eAa3716FB312c12847bFBA66Cef</td></tr><tr><td>BSC</td><td><a href="https://bscscan.com/token/0x7788a3538c5fc7f9c7c8a74eac4c898fc8d87d92">sUSDX</a></td><td>0x7788A3538C5fc7F9c7C8A74EAC4c898fC8d87d92</td></tr><tr><td>BSC</td><td><a href="https://bscscan.com/token/0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c">BTCB</a></td><td>0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c</td></tr><tr><td>BSC</td><td><a href="https://bscscan.com/token/0x2170Ed0880ac9A755fd29B2688956BD959F933F8">ETH</a></td><td>0x2170Ed0880ac9A755fd29B2688956BD959F933F8</td></tr><tr><td>BSC</td><td><a href="https://bscscan.com/address/0xe80698d9c55d9212c4dae8bed00e1357d804c62a">WUNIT0</a></td><td>0xe80698d9c55d9212c4dae8bed00e1357d804c62a</td></tr><tr><td>BSC</td><td><a href="https://bscscan.com/address/0x21b1b07af26613479e526c058749239e460f8a2f">OGC</a></td><td>0x21b1b07af26613479e526c058749239e460f8a2f</td></tr><tr><td>Base</td><td><a href="https://basescan.org/address/0x417Ac0e078398C154EdFadD9Ef675d30Be60Af93">crvUSD</a></td><td>0x417Ac0e078398C154EdFadD9Ef675d30Be60Af93</td></tr><tr><td>Base</td><td><a href="https://basescan.org/token/0x646a737b9b6024e49f5908762b3ff73e65b5160c">scrvUSD</a></td><td>0x646A737B9B6024e49f5908762B3fF73e65B5160c</td></tr><tr><td>Base</td><td><a href="https://basescan.org/address/0xd9aaec86b65d86f6a7b5b1b0c42ffa531710b6ca">USDbC</a></td><td>0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA</td></tr><tr><td>Base</td><td><a href="https://basescan.org/address/0xeb466342c4d449bc9f53a865d5cb90586f405215">axlUSDC</a></td><td>0xEB466342C4d449BC9f53A865D5Cb90586f405215</td></tr><tr><td>Base</td><td><a href="https://basescan.org/address/0x833589fcd6edb6e08f4c7c32d4f71b54bda02913">USDC</a></td><td>0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913</td></tr><tr><td>Base</td><td><a href="https://basescan.org/token/0x59d9356e565ab3a36dd77763fc0d87feaf85508c">USDM</a></td><td>0x59D9356E565Ab3A36dD77763Fc0d87fEaf85508C</td></tr><tr><td>Base</td><td><a href="https://basescan.org/token/0x8Ee73c484A26e0A5df2Ee2a4960B789967dd0415">CRV</a></td><td>0x8Ee73c484A26e0A5df2Ee2a4960B789967dd0415</td></tr><tr><td>Base</td><td><a href="https://basescan.org/token/0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf">cbBTC</a></td><td>0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf</td></tr><tr><td>Base</td><td>ETH</td><td>native coin</td></tr><tr><td>Base</td><td><a href="https://basescan.org/token/0x4200000000000000000000000000000000000006">WETH</a></td><td>0x4200000000000000000000000000000000000006</td></tr><tr><td>Base</td><td><a href="https://basescan.org/token/0xdbfefd2e8460a6ee4955a68582f85708baea60a3">superOETHb</a></td><td>0xDBFeFD2e8460a6Ee4955A68582F85708BAEA60A3</td></tr><tr><td>Gnosis</td><td><a href="https://gnosisscan.io/address/0xddafbb505ad214d7b80b1f830fccc89b60fb7a83">USDC</a></td><td>0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83</td></tr><tr><td>Gnosis</td><td><a href="https://gnosisscan.io/address/0x4ecaba5870353805a9f068101a40e0f32ed605c6">USDT</a></td><td>0x4ECaBa5870353805a9F068101A40E0f32ed605C6</td></tr><tr><td>Gnosis</td><td><a href="https://gnosisscan.io/address/0xe91d153e0b41518a2ce8dd3d7944fa863463a97d">WXDAI</a></td><td>0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d</td></tr><tr><td>Gnosis</td><td><a href="https://gnosisscan.io/token/0xcb444e90d8198415266c6a2724b7900fb12fc56e">EURe</a></td><td>0xcB444e90D8198415266c6a2724b7900fb12FC56E</td></tr><tr><td>Gnosis</td><td><a href="https://gnosisscan.io/token/0x54e4cb2a4fa0ee46e3d9a98d13bea119666e09f6">EURC.e</a></td><td>0x54E4cB2a4Fa0ee46E3d9A98D13Bea119666E09f6</td></tr><tr><td>Gnosis</td><td><a href="https://gnosisscan.io/token/0x712b3d230f3c1c19db860d80619288b1f0bdd0bd">CRV</a></td><td>0x712b3d230f3c1c19db860d80619288b1f0bdd0bd</td></tr><tr><td>Gnosis</td><td><a href="https://gnosisscan.io/token/0x6a023ccd1ff6f2045c3309768ead9e68f978f6e1">WETH</a></td><td>0x6a023ccd1ff6f2045c3309768ead9e68f978f6e1</td></tr><tr><td>Gnosis</td><td><a href="https://gnosisscan.io/token/0x8e5bbbb09ed1ebde8674cda39a0c169401db4252">WBTC</a></td><td>0x8e5bbbb09ed1ebde8674cda39a0c169401db4252</td></tr><tr><td>Blast</td><td><a href="https://blastscan.io/token/0x4300000000000000000000000000000000000003">USDB</a></td><td>0x4300000000000000000000000000000000000003</td></tr><tr><td>Blast</td><td>ETH</td><td>native coin</td></tr><tr><td>Blast</td><td><a href="https://blastscan.io/address/0x4300000000000000000000000000000000000004">WETH</a></td><td>0x4300000000000000000000000000000000000004</td></tr><tr><td>Blast</td><td><a href="https://blastscan.io/address/0xf08e269cd00c4713fe880d4c550f779d329b6f48">OGC</a></td><td>0xf08e269cd00c4713fe880d4c550f779d329b6f48</td></tr><tr><td>Mantle</td><td><a href="https://mantlescan.xyz/token/0x09bc4e0d864854c6afb6eb9a9cdf58ac190d0df9">USDC</a></td><td>0x09Bc4E0D864854c6aFB6eB9A9cdF58aC190D0dF9</td></tr><tr><td>Mantle</td><td><a href="https://mantlescan.info/address/0xdEAddEaDdeadDEadDEADDEAddEADDEAddead1111">WETH</a></td><td>0xdEAddEaDdeadDEadDEADDEAddEADDEAddead1111</td></tr><tr><td>Mantle</td><td><a href="https://mantlescan.xyz/address/0xf08e269cd00c4713fe880d4c550f779d329b6f48">OGC</a></td><td>0xf08e269cd00c4713fe880d4c550f779d329b6f48</td></tr><tr><td>Linea</td><td><a href="https://lineascan.build/token/0x176211869cA2b568f2A7D4EE941E073a821EE1ff">USDC.e</a></td><td>0x176211869cA2b568f2A7D4EE941E073a821EE1ff</td></tr><tr><td>Linea</td><td><a href="https://lineascan.build/token/0x3aab2285ddcddad8edf438c1bab47e1a9d05a9b4">WBTC</a></td><td>0x3aab2285ddcddad8edf438c1bab47e1a9d05a9b4</td></tr><tr><td>Linea</td><td>ETH</td><td>native coin</td></tr><tr><td>Linea</td><td><a href="https://lineascan.build/address/0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f">WETH</a></td><td>0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f</td></tr><tr><td>Linea</td><td><a href="https://lineascan.build/address/0xf08e269cd00c4713fe880d4c550f779d329b6f48">OGC</a></td><td>0xf08e269cd00c4713fe880d4c550f779d329b6f48</td></tr><tr><td>Taiko</td><td><a href="https://taikoscan.io/token/0xc8f4518ed4bab9a972808a493107926ce8237068">crvUSD</a></td><td>0xc8F4518ed4bAB9a972808a493107926cE8237068</td></tr><tr><td>Taiko</td><td><a href="https://taikoscan.io/token/0x07d83526730c7438048d55a4fc0b850e2aab6f0b">USDC</a></td><td>0x07d83526730c7438048D55A4fc0b850e2aaB6f0b</td></tr><tr><td>Taiko</td><td><a href="https://taikoscan.io/token/0x2def195713cf4a606b49d07e520e22c17899a736">USDT</a></td><td>0x2def195713cf4a606b49d07e520e22c17899a736</td></tr><tr><td>Taiko</td><td>ETH</td><td>native coin</td></tr><tr><td>Taiko</td><td><a href="https://taikoscan.io/address/0xa51894664a773981c6c112c43ce576f315d5b1b6">WETH</a></td><td>0xa51894664a773981c6c112c43ce576f315d5b1b6</td></tr><tr><td>Kava</td><td><a href="https://kavascan.com/token/0x919C1c267BC06a7039e03fcc2eF738525769109c">USDt</a></td><td>0x919C1c267BC06a7039e03fcc2eF738525769109c</td></tr><tr><td>Celo</td><td><a href="https://celoscan.io/token/0xceba9300f2b948710d2653dd7b07f33a8b32118c">USDC</a></td><td>0xceba9300f2b948710d2653dd7b07f33a8b32118c</td></tr><tr><td>Celo</td><td><a href="https://celoscan.io/token/0x48065fbbe25f71c9282ddf5e1cd6d6a887483d5e">USD₮</a></td><td>0x48065fbbe25f71c9282ddf5e1cd6d6a887483d5e</td></tr><tr><td>Celo</td><td><a href="https://celoscan.io/token/0x765de816845861e75a25fca122bb6898b8b1282a">cUSD</a></td><td>0x765de816845861e75a25fca122bb6898b8b1282a</td></tr><tr><td>Fraxtal</td><td><a href="https://fraxscan.com/token/0x4d15ea9c2573addaed814e48c148b5262694646a">USDT</a></td><td>0x4d15ea9c2573addaed814e48c148b5262694646a</td></tr><tr><td>Fraxtal</td><td><a href="https://fraxscan.com/token/0x331b9182088e2a7d6d3fe4742aba1fb231aecc56">CRV</a></td><td>0x331b9182088e2a7d6d3fe4742aba1fb231aecc56</td></tr><tr><td>Fraxtal</td><td><a href="https://fraxscan.com/token/0xfc00000000000000000000000000000000000001">FRAX</a></td><td>0xfc00000000000000000000000000000000000001</td></tr><tr><td>Fraxtal</td><td><a href="https://fraxscan.com/token/0xfc00000000000000000000000000000000000006">wfrxETH</a></td><td>0xfc00000000000000000000000000000000000006</td></tr><tr><td>Metis</td><td><a href="https://andromeda-explorer.metis.io/token/0xbB06DCA3AE6887fAbF931640f67cab3e3a16F4dC">m.USDT</a></td><td>0xbB06DCA3AE6887fAbF931640f67cab3e3a16F4dC</td></tr><tr><td>Metis</td><td><a href="https://explorer.metis.io/token/0x420000000000000000000000000000000000000A">WETH</a></td><td>0x420000000000000000000000000000000000000A</td></tr><tr><td>Metis</td><td><a href="https://explorer.metis.io/address/0xF08e269Cd00c4713Fe880d4c550f779d329B6F48">OGC</a></td><td>0xf08e269cd00c4713fe880d4c550f779d329b6f48</td></tr><tr><td>Mode</td><td><a href="https://modescan.io/token/0xd988097fb8612cc24eeC14542bC03424c656005f">USDC</a></td><td>0xd988097fb8612cc24eeC14542bC03424c656005f</td></tr><tr><td>Mode</td><td><a href="https://modescan.io/token/0x4200000000000000000000000000000000000006">WETH</a></td><td>0x4200000000000000000000000000000000000006</td></tr><tr><td>Manta</td><td><a href="https://pacific-explorer.manta.network/token/0xf417F5A458eC102B90352F697D6e2Ac3A3d2851f">USDT</a></td><td>0xf417F5A458eC102B90352F697D6e2Ac3A3d2851f</td></tr><tr><td>Manta</td><td><a href="https://pacific-explorer.manta.network/token/0x0Dc808adcE2099A9F62AA87D9670745AbA741746">WETH</a></td><td>0x0Dc808adcE2099A9F62AA87D9670745AbA741746</td></tr><tr><td>Mantle</td><td><a href="https://mantlescan.xyz/token/0x09bc4e0d864854c6afb6eb9a9cdf58ac190d0df9">USDC</a></td><td>0x09bc4e0d864854c6afb6eb9a9cdf58ac190d0df9</td></tr><tr><td>Unit Zero</td><td><a href="https://classic.wavesexplorer.com/tx/GjwAHMjqWzYR4LgoNy91CxUKAGJN79h2hseZoae4nU8t">UNIT0</a></td><td>GjwAHMjqWzYR4LgoNy91CxUKAGJN79h2hseZoae4nU8t</td></tr><tr><td>Unit Zero</td><td><a href="https://explorer.unit0.dev/token/0xCF43F7703d9B4E8835f977eF364B4014fA7e856E">WUNIT0</a></td><td>0xCF43F7703d9B4E8835f977eF364B4014fA7e856E</td></tr><tr><td>Unit Zero</td><td><a href="https://explorer.unit0.dev/address/0xEb19000D90f17FFbd3AD9CDB8915D928F4980fD1">USDC</a></td><td>0xEb19000D90f17FFbd3AD9CDB8915D928F4980fD1</td></tr><tr><td>Unit Zero</td><td><a href="https://explorer.unit0.dev/address/0xb303d80db8415FD1d3C9FED68A52EEAc9a052671">USDT</a></td><td>0xb303d80db8415FD1d3C9FED68A52EEAc9a052671</td></tr><tr><td>Unit Zero</td><td><a href="https://explorer.unit0.dev/address/0x1B100DE3F13E3f8Bb2f66FE58c1949c32E71248B">WETH</a></td><td>0x1B100DE3F13E3f8Bb2f66FE58c1949c32E71248B</td></tr><tr><td>Unit Zero</td><td><a href="https://explorer.unit0.dev/address/0x9CE808657ba90C65a2700b1cA5D943eC72834B52">WBTC</a></td><td>0x9CE808657ba90C65a2700b1cA5D943eC72834B52</td></tr><tr><td>Fantom</td><td><a href="https://ftmscan.com/token/0x28a92dde19D9989F39A49905d7C9C2FAc7799bDf">USDC</a></td><td>0x28a92dde19D9989F39A49905d7C9C2FAc7799bDf</td></tr><tr><td>Fantom</td><td><a href="https://ftmscan.com/token/0x2F733095B80A04b38b0D10cC884524a3d09b836a">USDC.e</a></td><td>0x2F733095B80A04b38b0D10cC884524a3d09b836a</td></tr><tr><td>Fantom</td><td><a href="https://ftmscan.com/token/0xE6c259bc0FCE25b71fE95A00361D3878E16232C3">CRV</a></td><td>0xE6c259bc0FCE25b71fE95A00361D3878E16232C3</td></tr><tr><td>Fantom</td><td><a href="https://ftmscout.com/token/0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83">WFTM</a></td><td>0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/token/0x29219dd400f2bf60e5a23d13be72b486d4038894">USDC.e</a></td><td>0x29219dd400f2bf60e5a23d13be72b486d4038894</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/token/0x6047828dc181963ba44974801ff68e538da5eaf9">USDT</a></td><td>0x6047828dc181963ba44974801FF68e538dA5eaF9</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0xd3dce716f3ef535c5ff8d041c1a41c3bd89b97ae">scUSD</a></td><td>0xd3dce716f3ef535c5ff8d041c1a41c3bd89b97ae</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/token/0x80eede496655fb9047dd39d9f418d5483ed600df">frxUSD</a></td><td>0x80eede496655fb9047dd39d9f418d5483ed600df</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/token/0x50c42deacd8fc9773493ed674b675be577f2634b">WETH</a></td><td>0x50c42dEAcD8Fc9773493ED674b675bE577f2634b</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/token/0x3bce5cb273f0f148010bbea2470e7b5df84c7812">scETH</a></td><td>0x3bce5cb273f0f148010bbea2470e7b5df84c7812</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/token/0x43edd7f3831b08fe70b7555ddd373c8bf65a9050">frxETH</a></td><td>0x43edd7f3831b08fe70b7555ddd373c8bf65a9050</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/token/0xBb30e76d9Bb2CC9631F7fC5Eb8e87B5Aff32bFbd">scBTC</a></td><td>0xBb30e76d9Bb2CC9631F7fC5Eb8e87B5Aff32bFbd</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/token/0xe5da20f15420ad15de0fa650600afc998bbe3955">stS</a></td><td>0xe5da20f15420ad15de0fa650600afc998bbe3955</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/token/0x3301e4326cf2939cd6b8f23ddf7bc2a1713fd06a">cmGEMS1</a></td><td>0x3301e4326cf2939cd6b8f23ddf7bc2a1713fd06a</td></tr></tbody></table>

### &#x20;Curve LPs

<table><thead><tr><th width="132">Chain</th><th width="162">Ticker/Link</th><th>Address</th></tr></thead><tbody><tr><td>Ethereum</td><td><a href="https://etherscan.io/address/0xc4ad29ba4b3c580e6d59105fff484999997675ff">crv3crypto</a></td><td>0xd51a44d3fae010294c616388b506acda1bfaae46</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/token/0x4dece678ceceb27446b35c672dc7d61f30bad69e">crvUSDUSDC-f</a></td><td>0x4dece678ceceb27446b35c672dc7d61f30bad69e</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/token/0x390f3595bca2df7d23783dfd126427cceb997bf4">crvUSDUSDT-f</a></td><td>0x390f3595bCa2Df7d23783dFd126427CCeb997BF4</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/address/0x6c3f90f043a72fa612cbac8115ee7e52bde6e490">3Crv</a></td><td>0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490</td></tr><tr><td>Ethereum</td><td><a href="https://etherscan.io/address/0xb7ecb2aa52aa64a717180e030241bc75cd946726">tBTC/WBTC</a></td><td>0xb7ecb2aa52aa64a717180e030241bc75cd946726</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/address/0x82670f35306253222f8a165869b28c64739ac62e">3c-crvUSD</a></td><td>0x82670f35306253222f8a165869b28c64739ac62e</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/address/0xec090cf6dd891d2d014bea6edada6e05e025d93d">crvUSDC</a></td><td>0xec090cf6DD891D2d014beA6edAda6e05E025D93d</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/token/0x73af1150f265419ef8a5db41908b700c32d49135">crvUSDT</a></td><td>0x73aF1150F265419Ef8a5DB41908B700C32D49135</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/address/0x7f90122bf0700f9e7e1f688fe926940e8839f353">2CRV</a></td><td>0x7f90122BF0700F9E7e1F688fe926940E8839F353</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/address/0x186cf879186986a20aadfb7ead50e3c20cb26cec">2BTC-ng</a></td><td>0x186cf879186986a20aadfb7ead50e3c20cb26cec</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/address/0xdadd23929ca8efcbc43aaf8f677d426563cc40d7">3UNIT</a></td><td>0xdadd23929ca8efcbc43aaf8f677d426563cc40d7</td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/address/0x6579758e9e85434450d638cfbea0f2fe79856dda">EYWA/USDT</a></td><td>0x6579758e9e85434450d638cfbea0f2fe79856dda</td></tr><tr><td>Polygon</td><td><a href="https://polygonscan.com/address/0xdad97f7713ae9437fa9249920ec8507e5fbb23d3">crvUSDBTCETH</a></td><td>0xdAD97F7713Ae9437fa9249920eC8507e5FbB23d3</td></tr><tr><td>Polygon</td><td><a href="https://polygonscan.com/address/0xb0658482b405496c4ee9453cd0a463b134aef9d0">WMATIC/TRICRYPTO</a></td><td>0xb0658482b405496c4ee9453cd0a463b134aef9d0</td></tr><tr><td>Polygon</td><td><a href="https://polygonscan.com/address/0x5225010a0ae133b357861782b0b865a48471b2c5">crvusdusdc</a></td><td>0x5225010A0AE133B357861782B0B865a48471b2C5</td></tr><tr><td>Polygon</td><td><a href="https://polygonscan.com/token/0xa70af99bff6b168327f9d1480e29173e757c7904">crvusdusdt</a></td><td>0xA70Af99bFF6b168327f9D1480e29173e757c7904</td></tr><tr><td>Polygon</td><td><a href="https://polygonscan.com/address/0xe7a24ef0c5e95ffb0f6684b813a78f2a3ad7d171">am3CRV</a></td><td>0xE7a24EF0C5e95Ffb0f6684b813A78F2a3AD7D171</td></tr><tr><td>Polygon</td><td><a href="https://polygonscan.com/address/0xa73edcf18421b56d9af1ce08a34e102e23b2c4b6">CRVTRI-f</a></td><td>0xA73EdCf18421B56D9AF1cE08A34E102E23b2C4B6</td></tr><tr><td>Avalanche</td><td><a href="https://snowtrace.io/address/0x1dab6560494b04473a0be3e7d83cf3fdf3a51828">crvUSDBTCETH</a></td><td>0x1daB6560494B04473A0BE3E7D83CF3Fdf3a51828</td></tr><tr><td>Avalanche</td><td><a href="https://optimistic.etherscan.io/address/0x1dc5c0f8668a9f54ed922171d578011850ca0341">2BTC</a></td><td>0x1dc5c0f8668a9f54ed922171d578011850ca0341</td></tr><tr><td>Avalanche</td><td><a href="https://snowtrace.io/address/0x1337bedc9d22ecbe766df105c9623922a27963ec">av3CRV</a></td><td>0x1337BedC9D22ecbe766dF105c9623922A27963EC</td></tr><tr><td>Optimism</td><td><a href="https://optimistic.etherscan.io/address/0x03771e24b7c9172d163bf447490b142a15be3485">crvUSDC</a></td><td>0x03771e24b7C9172d163Bf447490B142a15be3485</td></tr><tr><td>Optimism</td><td><a href="https://optimistic.etherscan.io/address/0x4456d13fc6736e8e8330394c0c622103e06ea419">Tricrypto-crvUSD</a></td><td>0x4456d13Fc6736e8e8330394c0C622103E06ea419</td></tr><tr><td>Optimism</td><td><a href="https://optimistic.etherscan.io/token/0xd1b30ba128573fcd7d141c8a987961b40e047bb6">crvUSDT</a></td><td>0xD1b30BA128573fcd7D141C8A987961b40e047BB6</td></tr><tr><td>Optimism</td><td><a href="https://optimistic.etherscan.io/address/0x1337bedc9d22ecbe766df105c9623922a27963ec">3CRV</a></td><td>0x1337BedC9D22ecbe766dF105c9623922A27963EC</td></tr><tr><td>BNB chain</td><td><a href="https://bscscan.com/address/0xc4ec3ab41182e70ca45a764ffc5c45b9a82ccc97">crvusdUSDC</a></td><td>0xC4Ec3aB41182E70cA45a764fFc5c45B9A82cCc97</td></tr><tr><td>BNB chain</td><td><a href="https://bscscan.com/token/0xae87e5fa20f335ce14aa3b9e0616308d9ac7d4ce">crvusdUSDT</a></td><td>0xAE87E5Fa20f335ce14AA3B9E0616308d9AC7d4Ce</td></tr><tr><td>BNB chain</td><td><a href="https://bscscan.com/address/0xa5e0e46462970c9ee8c2ecadcde254c483748ec4">b3pool</a></td><td>0xA5E0E46462970C9Ee8C2ECadcde254c483748Ec4</td></tr><tr><td>Base</td><td><a href="https://basescan.org/address/0x6e53131f68a034873b6bfa15502af094ef0c5854">tricrypto</a></td><td>0x6e53131F68a034873b6bFA15502aF094Ef0c5854</td></tr><tr><td>Base</td><td><a href="https://basescan.org/address/0xf6c5f01c7f3148891ad0e19df78743d31e390d1f">4poolUSD-f</a></td><td>0xf6C5F01C7F3148891ad0e19DF78743D31E390D1f</td></tr><tr><td>Gnosis</td><td><a href="https://gnosisscan.io/address/0x1337bedc9d22ecbe766df105c9623922a27963ec">x3CRV</a></td><td>0x1337BedC9D22ecbe766dF105c9623922A27963EC</td></tr><tr><td>Gnosis</td><td><a href="https://gnosisscan.io/address/0x7f90122bf0700f9e7e1f688fe926940e8839f353">3pool</a></td><td>0x7f90122BF0700F9E7e1F688fe926940E8839F353</td></tr><tr><td>Celo</td><td><a href="https://celoscan.io/address/0x28f209844029755fc563c1bd4fd21f42dc7ce0e4">Tri-Pool</a></td><td>0x28F209844029755FC563c1bD4FD21f42DC7CE0e4</td></tr><tr><td>Fraxtal</td><td><a href="https://fraxscan.com/address/0xcaef324bea3ff5c7a08710081294f3344ffadc54">FRAX/USDT</a></td><td>0xcAEF324bea3Ff5c7a08710081294F3344fFAdC54</td></tr><tr><td>Fantom</td><td><a href="https://ftmscan.com/address/0x7d04f016749c215e52138b06bb35ee8491e739fd">xCRVUSDT</a></td><td>0x7d04f016749c215e52138b06bb35ee8491e739fd</td></tr><tr><td>Fantom</td><td><a href="https://ftmscan.com/address/0x353bb1dfbc52bc3b0e7d264216b1455df00f50be">xCRVUSDC</a></td><td>0x353bb1dfbc52bc3b0e7d264216b1455df00f50be</td></tr><tr><td>Fantom</td><td><a href="https://ftmscan.com/address/0x5ecac5fb1d9634f9e1c2dab2381b9adaada5f80b">x3CRYPTO</a></td><td>0x5ecac5fb1d9634f9e1c2dab2381b9adaada5f80b</td></tr><tr><td>Fantom</td><td><a href="https://ftmscan.com/address/0x3f833ed02629545dd78afc3d585f7f3918a3de62">xSTABLE</a></td><td>0x3f833ed02629545dd78afc3d585f7f3918a3de62</td></tr><tr><td>Fantom</td><td><a href="https://ftmscan.com/address/0xa3a63276b8668583e1b47b979d1093d9aaf431ee">xSTABLE2</a></td><td>0xa3a63276b8668583e1b47b979d1093d9aaf431ee</td></tr><tr><td>Fantom</td><td><a href="https://ftmscan.com/address/0x15ee0d5f92fd869c2fbf26ea785e9d150353568d">xSTABLE3</a></td><td>0x15ee0d5f92fd869c2fbf26ea785e9d150353568d</td></tr><tr><td>Fantom</td><td><a href="https://ftmscan.com/address/0x3c2fcf53f742345c5c1b3dcb2612a1949bc1f18d#code">xWETH</a></td><td>0x3c2fcf53f742345c5c1b3dcb2612a1949bc1f18d</td></tr><tr><td>Fantom</td><td><a href="https://ftmscan.com/address/0xabba40f628f055149f1c7415c4388363392279c3">xWETH2</a></td><td>0xabba40f628f055149f1c7415c4388363392279c3</td></tr><tr><td>Fantom</td><td><a href="https://ftmscan.com/address/0x37F5dae6039C8eC4c32ad7D3e2a07aCaa55C08f9">xBTC</a></td><td>0x37F5dae6039C8eC4c32ad7D3e2a07aCaa55C08f9</td></tr><tr><td>Fantom</td><td><a href="https://ftmscan.com/address/0x06a2e1521afde7f7dc30d351dcf04408042f536e">wFTM/USDC</a></td><td>0x06a2e1521afde7f7dc30d351dcf04408042f536e</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x38dd6b3c096c8cbe649fa0039cc144f333be8e61">xCRV</a></td><td>0x38dd6b3c096c8cbe649fa0039cc144f333be8e61</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84">xfrxUSD</a></td><td>0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x346704605c72d9f5f9f02d651e5a3dcce6964f3d">xfrxETH</a></td><td>0x346704605c72d9f5f9f02d651e5a3dcce6964f3d</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x4fe12cf68147e902f4ccd8a3d4c13e89fba92384">xsEthereum</a></td><td>0x4fe12cf68147e902f4ccd8a3d4c13e89fba92384</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0xf159c51297306839b7d44cbb5cb9360e4623ae5a">xsBSC</a></td><td>0xf159c51297306839b7d44cbb5cb9360e4623ae5a</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0xdac15649b025ba0047718512111c34096e9545e8">xsAvalanche</a></td><td>0xdac15649b025ba0047718512111c34096e9545e8</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0xf821404ac19ac1786caca7e3e12658d72ece885e">xsPolygon</a></td><td>0xf821404ac19ac1786caca7e3e12658d72ece885e</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x440bcab62d629ba60ca56b80e565636e0c404e60">xsArbitrum</a></td><td>0x440bcab62d629ba60ca56b80e565636e0c404e60</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0xd9bf67d8a5d698a028160f62480d456801f0b4b1">xsOptimism</a></td><td>0xd9bf67d8a5d698a028160f62480d456801f0b4b1</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x435a160ef111ad0aa0867bece7b85cb77dce3c8a">xsBase</a></td><td>0x435a160ef111ad0aa0867bece7b85cb77dce3c8a</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x90135d7300c690d786fa8fea071cd4c2ed080d16">xsBlast</a></td><td>0x90135d7300c690d786fa8fea071cd4c2ed080d16</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x20c2e44bbbea698da4a4cb687514e66385996639">xsGnosis</a></td><td>0x20c2e44bbbea698da4a4cb687514e66385996639</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0xedcf9ef9b389a8f52e81958d8212faf6fbd758ae">xsTaiko</a></td><td>0xedcf9ef9b389a8f52e81958d8212faf6fbd758ae</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x6988d6eec3ca7d24c0358bab8018787117325c2b">xsMantle</a></td><td>0x6988d6eec3ca7d24c0358bab8018787117325c2b</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x9e63e5d31fd0136290ef99b3cac4515f346fef1c">xsLinea</a></td><td>0x9e63e5d31fd0136290ef99b3cac4515f346fef1c</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x2b0911095350785fb32a557d1d2e3b36a9bb9252">xsCelo</a></td><td>0x2b0911095350785fb32a557d1d2e3b36a9bb9252</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0xaa186960df95495084ef1ddc40a3bdac22b0d343">xsMetis</a></td><td>0xaa186960df95495084ef1ddc40a3bdac22b0d343</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0xb7bb92ff0ec68e6d79a238174e42c12ff5ef2b00">xsMode</a></td><td>0xb7bb92ff0ec68e6d79a238174e42c12ff5ef2b00</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x024cc841cd7fe4e7dd7253676c688146599923cf">xsManta</a></td><td>0x024cc841cd7fe4e7dd7253676c688146599923cf</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x2e97cf8da26ce3858950dd85b8f69e39ebd251f5">xsKava</a></td><td>0x2e97cf8da26ce3858950dd85b8f69e39ebd251f5</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x24479a0d48849781b4386ed91fdd84241673ab1e">xeEthereum</a></td><td>0x24479a0d48849781b4386ed91fdd84241673ab1e</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x9ccaabd2610d467b1f76c8aacec4f567ec61d78e">xeArbitrum</a></td><td>0x9ccaabd2610d467b1f76c8aacec4f567ec61d78e</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x424757a5169e1f3b45436c9b2e5421dc39dc4897">xeOptimism</a></td><td>0x424757a5169e1f3b45436c9b2e5421dc39dc4897</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0xa5a5da9c386855b199b8928cbb59c7ac6505ba89">xeBase</a></td><td>0xa5a5da9c386855b199b8928cbb59c7ac6505ba89</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x6f6522261f89d988d5f5caa5e4e658344517b114">xeBlast</a></td><td>0x6f6522261f89d988d5f5caa5e4e658344517b114</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x13882f7f207329db487ce99839c26392a233d97b">xeMantle</a></td><td>0x13882f7f207329db487ce99839c26392a233d97b</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0xeb427d3cc29ec4c49e48fccc580b11f15d7d096d">xeBSC</a></td><td>0xeb427d3cc29ec4c49e48fccc580b11f15d7d096d</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0xdbb986d7fef61260c7f9a443e62e8a91974c5e3d">xePolygon</a></td><td>0xdbb986d7fef61260c7f9a443e62e8a91974c5e3d</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0xa4948da3f2007193dd7404278fed15d48c617417">xeAvalanche</a></td><td>0xa4948da3f2007193dd7404278fed15d48c617417</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x8bb9b3e45fa6b4bf4bbb66ad09f485c5509a0e4c">xeGnosis</a></td><td>0x8bb9b3e45fa6b4bf4bbb66ad09f485c5509a0e4c</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x601538c805ea9d83a49c132f18417db9666f69d5">xeMetis</a></td><td>0x601538c805ea9d83a49c132f18417db9666f69d5</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x759a32b417bb471da76cf41ca2ea42f4e0b143eb">xeMode</a></td><td>0x759a32b417bb471da76cf41ca2ea42f4e0b143eb</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0xe5a0813a7de6abd8599594e84cb23e4a6d9d9800">xeLinea</a></td><td>0xe5a0813a7de6abd8599594e84cb23e4a6d9d9800</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x6d9f0ff2b7f1397ee731f6370d8e4699ffad7bc5">xeTaiko</a></td><td>0x6d9f0ff2b7f1397ee731f6370d8e4699ffad7bc5</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x1008358eecb59723391fba0f8a6b36c5346dab2d">xeManta</a></td><td>0x1008358eecb59723391fba0f8a6b36c5346dab2d</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x09679c768d17b52bfa059010475f9a0bdb0d6fea">xbEthereum</a></td><td>0x09679c768d17b52bfa059010475f9a0bdb0d6fea</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x1c404afffba0e70426dc601aeaa6205eca8c9078">xbArbitrum</a></td><td>0x1c404afffba0e70426dc601aeaa6205eca8c9078</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x7b823067ece11047f83f48647110e7a777e2bf5a">xbOptimism</a></td><td>0x7b823067ece11047f83f48647110e7a777e2bf5a</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x538a5534543752d5abbc8cd11760f8be3625e7b1">xbAvalanche</a></td><td>0x538a5534543752d5abbc8cd11760f8be3625e7b1</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0xdb0a43327626c0e3e87ce936bc0cdf2ee9475c22">xbPolygon</a></td><td>0xdb0a43327626c0e3e87ce936bc0cdf2ee9475c22</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x5fa5168497db4ec1964b3208c18cb6157e5652e4">xbBSC</a></td><td>0x5fa5168497db4ec1964b3208c18cb6157e5652e4</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x1894a7203faa464f7afa3b8c319a3cac8beb6cda">xbBase</a></td><td>0x1894a7203faa464f7afa3b8c319a3cac8beb6cda</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0xee05755051e8b1ccf85747a83d0ef8b00f161180">xbLinea</a></td><td>0xee05755051e8b1ccf85747a83d0ef8b00f161180</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x9b78e02ddddda4117ddf6be8a0fbd15c45907895">xbGnosis</a></td><td>0x9b78e02ddddda4117ddf6be8a0fbd15c45907895</td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/token/0x3301e4326cf2939cd6b8f23ddf7bc2a1713fd06a">xcmGEMS1</a></td><td>0x3301e4326cf2939cd6b8f23ddf7bc2a1713fd06a</td></tr><tr><td>Taiko</td><td><a href="https://taikoscan.io/address/0xb391f2d5b83b3900997b4d6880ba7818bef3591a">USDC/USDT</a></td><td>0xB391F2D5B83B3900997B4D6880ba7818Bef3591a</td></tr></tbody></table>


# Integration Guide

There are two approaches available for integrating with the CrossCurve MetaLayer service. Choose the one that best fits your tech stack and transaction control requirements.

#### Direct Integration with REST API

Use this method if you need full control over the process or are using a language other than TypeScript/JavaScript.

#### Simplified Integration with SDK

A client library designed for quick integration into JS/TS projects. It abstracts interaction with the MetaLayer API, provides type safety, and simplifies standard swap scenarios.


# Direct Integration with REST API

CrossCurve MetaLayer API enables cross-chain token swaps across various networks.

### Base URL

CrossCurve MetaLayer API is built on REST principles and is served over HTTPS.

```
https://api.crosscurve.fi
```

### Authentication

Protected endpoints (`/routing/*`, `/pimlico/*`, `/networks`) require an `api-key` header.

```
api-key: YOUR_API_KEY
```

### Rate Limits

| Tier     | Limit      |
| -------- | ---------- |
| standard | 60 req/min |
| free     | 20 req/min |

### EOA Swap

A standard wallet swap (MetaMask, WalletConnect, or any EOA signer) in six steps:

1. Fetch supported networks and tokens
2. Find a route
3. Approve token spending (ERC-20 only)
4. Send swap transaction
5. Extract requestId from receipt
6. Poll for completion


# Routing Response

`POST /routing/scan/stream` streams route objects as NDJSON (newline-delimited JSON). Each line is a JSON object with either a `simulation` field (success) or an `error` field (failure). The `simulation` object contains the fields below.

`POST /routing/scan` returns all routes as a single JSON array. Each item has the same fields. Use `/routing/scan/stream` for better responsiveness — routes arrive as they are evaluated, rather than waiting for all providers to finish.

| Field                      | Type   | Description                                                      |
| -------------------------- | ------ | ---------------------------------------------------------------- |
| `query`                    | object | Echo of request parameters (`params`, `slippage`)                |
| `route`                    | array  | Ordered list of route steps (pass entire object to `/tx/create`) |
| `amountIn`                 | string | Input amount in smallest token units                             |
| `amountOut`                | string | Expected output amount in smallest token units                   |
| `amountOutWithoutSlippage` | string | Output amount without slippage applied                           |
| `tokenInPrice`             | number | USD price of the input token                                     |
| `tokenOutPrice`            | number | USD price of the output token                                    |
| `priceImpact`              | number | Price impact as a percentage                                     |
| `sourceFee`                | object | Fee charged on the source chain                                  |
| `deliveryFee`              | object | Fee for cross-chain delivery                                     |
| `slippage`                 | number | Slippage tolerance as provided in the request                    |
| `expectedFinalitySeconds`  | number | Estimated time to finality in seconds                            |
| `deadline`                 | number | Expiration timestamp in milliseconds                             |
| `signature`                | string | Encrypted signature (pass to `/tx/create` as-is)                 |
| `txs`                      | array  | Per-chain gas estimates                                          |

**Fee objects (`sourceFee`, `deliveryFee`)**

| Field    | Type   | Description                             |
| -------- | ------ | --------------------------------------- |
| `token`  | string | Token address the fee is denominated in |
| `amount` | string | Fee amount in smallest token units      |
| `usd`    | number | Fee value in USD                        |

**Gas estimate objects (`txs` array items)**

| Field            | Type   | Description                          |
| ---------------- | ------ | ------------------------------------ |
| `chainId`        | number | Chain where gas will be consumed     |
| `gasConsumption` | number | Estimated gas units                  |
| `gasFeeUsd`      | number | Gas cost in USD                      |
| `gasFeeNative`   | string | Gas cost in the chain's native token |

**Route step objects (`route` array items)**

Each step describes one leg of the swap:

| Field              | Type   | Description                                    |
| ------------------ | ------ | ---------------------------------------------- |
| `chainId`          | number | Chain where this step executes                 |
| `type`             | string | Step type (e.g. `"bridgeIn"`)                  |
| `params.tokenIn`   | object | Input token (`address`, `symbol`, `decimals`)  |
| `params.tokenOut`  | object | Output token (`address`, `symbol`, `decimals`) |
| `params.amountIn`  | string | Input amount for this step                     |
| `params.amountOut` | string | Output amount for this step                    |

> When calling `/tx/create`, pass the route object as the `routing` field. For `/routing/scan/stream`, this is the `simulation` object from each NDJSON line. For `/routing/scan`, this is an item from the response array. Do not modify or cherry-pick fields from it.

***


# Transaction Tracking

Track the status of a cross-chain swap with `GET /transaction/{requestId}`.

**Obtaining the requestId**

The `requestId` is emitted in the `ComplexOpProcessed` event on the source chain after the transaction is confirmed. You can extract it from the transaction receipt.

**Response structure**

```json
{
  "status": "inProgress",
  "inconsistency": false,
  "source": {
    "chainId": 11155111,
    "transactionHash": "0x...",
    "from": "0x...",
    "events": [],
    "status": "completed"
  },
  "oracle": {
    "relayChainId": 11155111,
    "requestId": "0x...",
    "status": "inProgress",
    "height": null,
    "epoch": null,
    "time": null
  },
  "destination": {
    "chainId": 64165,
    "transactionHash": null,
    "events": [],
    "emergency": false,
    "status": "inProgress",
    "bridgeState": {},
    "error": null
  },
  "data": null
}
```

The response contains three sub-objects representing each phase of the cross-chain operation:

| Sub-object    | Description                     |
| ------------- | ------------------------------- |
| `source`      | Status on the originating chain |
| `oracle`      | Validator confirmation status   |
| `destination` | Status on the target chain      |

`destination.emergency` becomes `true` if over 30 minutes pass without completion.

**Top-level status values**

| Status       | Final? | Description                                  |
| ------------ | ------ | -------------------------------------------- |
| `inProgress` | No     | Transaction is being processed               |
| `completed`  | Yes    | Successfully completed                       |
| `failed`     | Yes    | An error occurred                            |
| `reverted`   | Yes    | Reverted (emergency completion is available) |
| `retry`      | No     | Delivery is being retried                    |
| `canceled`   | Yes    | Transaction was canceled                     |

**Polling recommendations**

* Poll every **10-15 seconds**.
* Set a **15 minute** timeout.
* Stop polling when the top-level `status` reaches a final state (`completed`, `failed`, `reverted`, or `canceled`).

***


# EOA Swap example

### EOA Swap flow

A standard wallet swap (MetaMask, WalletConnect, or any EOA signer) in six steps:

1. Fetch supported networks and tokens
2. Find a route
3. Approve token spending (ERC-20 only)
4. Send swap transaction
5. Extract requestId from receipt
6. Poll for completion

#### Step 1: Get Networks and Tokens

```
GET /networks
```

Returns an object keyed by network name. Each entry contains the chain configuration and supported tokens.

```json
{
  "sepolia": {
    "name": "sepolia",
    "chainId": 11155111,
    "router": "0x...",
    "tokens": [
      {
        "chainId": 11155111,
        "address": "0x...",
        "name": "USD Coin",
        "symbol": "USDC",
        "decimals": 6,
        "tags": ["erc20", "stable"],
        "permit": false
      }
    ]
  }
}
```

Use `chainId` and token `address` values from this response when building a scan request.

#### Step 2: Find a Route

```
POST /routing/scan/stream
```

Request body:

```json
{
  "from": "0xYOUR_WALLET_ADDRESS",
  "recipient": "0xRECIPIENT_ADDRESS",
  "params": {
    "tokenIn": "0xTOKEN_IN",
    "amountIn": "1000000",
    "chainIdIn": 11155111,
    "tokenOut": "0xTOKEN_OUT",
    "chainIdOut": 64165
  },
  "slippage": 1
}
```

| Field               | Type      | Required | Description                                                |
| ------------------- | --------- | -------- | ---------------------------------------------------------- |
| `from`              | string    | Yes      | Sender address                                             |
| `recipient`         | string    | No       | Recipient address (defaults to sender)                     |
| `params.tokenIn`    | string    | Yes      | Input token address                                        |
| `params.amountIn`   | string    | Yes      | Amount in smallest token units                             |
| `params.chainIdIn`  | number    | Yes      | Source chain ID                                            |
| `params.tokenOut`   | string    | Yes      | Output token address                                       |
| `params.chainIdOut` | number    | Yes      | Destination chain ID                                       |
| `slippage`          | number    | Yes      | Slippage tolerance in percent                              |
| `feeShareBps`       | number    | No       | Partner fee in basis points (100 = 1%)                     |
| `providers`         | string\[] | No       | Filter by provider: `"cross-curve"`, `"rubic"`, `"bungee"` |

The response is NDJSON — each line is a separate JSON object:

**Success line:**

```json
{ "route": [...], "simulation": { /* route object — see Routing Response */ } }
```

**Error line (route could not be evaluated):**

```json
{ "route": [...], "error": "error message" }
```

Collect the `simulation` objects from success lines. Routes arrive in arbitrary order, so sort by `amountOut` descending to find the best route and pass it to the next step.

> You can also use `POST /routing/scan` which returns all routes as a single JSON array. The request body is the same. Each array item has the same shape as the `simulation` object above.

#### Step 3: Build the Transaction

```
POST /tx/create
```

Request body:

```json
{
  "from": "0xYOUR_WALLET_ADDRESS",
  "recipient": "0xRECIPIENT_ADDRESS",
  "routing": { },
  "buildCalldata": true
}
```

| Field           | Type    | Required | Description                                                                              |
| --------------- | ------- | -------- | ---------------------------------------------------------------------------------------- |
| `from`          | string  | Yes      | Sender address                                                                           |
| `recipient`     | string  | Yes      | Recipient address                                                                        |
| `routing`       | object  | Yes      | The `simulation` object from `/routing/scan/stream` (or array item from `/routing/scan`) |
| `buildCalldata` | boolean | No       | When `true`, returns encoded calldata ready to send                                      |

Pass the entire route object as `routing`. Do not modify or cherry-pick fields from it.

**Response when `buildCalldata` is `true`:**

```json
{
  "to": "0xROUTER_ADDRESS",
  "data": "0xENCODED_CALLDATA...",
  "value": "0"
}
```

**Response when `buildCalldata` is `false` or omitted:**

```json
{
  "to": "0xROUTER_ADDRESS",
  "abi": "[...]",
  "args": [...],
  "value": "0"
}
```

#### Step 3: Approve Token Spending (ERC-20 only)

If the input token is an ERC-20 (not the native token), approve the router contract to spend your tokens before sending the swap transaction. The router address is the `to` field from the `/tx/create` response.

```js
// Check current allowance
const allowance = await tokenContract.allowance(walletAddress, tx.to);

if (allowance < BigInt(route.amountIn)) {
  await tokenContract.approve(tx.to, route.amountIn);
}
```

Skip this step if the input token is the chain's native token (ETH, MATIC, etc.) — native tokens do not require approval.

> For ERC-4337 and EIP-7702 wallets, the approval is already included in the `calls[]` array returned by `/tx/create`. This step applies only to EOA transactions.

#### Step 4: Send Swap Transaction

Send the transaction on-chain using your wallet or signer.

#### Step 5: Extract requestId

After the transaction is confirmed, extract the `requestId` from the `ComplexOpProcessed` event in the receipt:

```js
const COMPLEX_OP_TOPIC = "0x830adbcf80ee865e0f0883ad52e813fdbf061b0216b724694a2b4e06708d243c";
const log = receipt.logs.find((l) => l.topics[0] === COMPLEX_OP_TOPIC);
const requestId = log.topics[2]; // currentRequestId (bytes32)
```

#### Step 6: Poll for Completion

Poll `GET /transaction/{requestId}` until the status reaches a final state.

See Transaction Tracking for response format and polling recommendations.

#### Full Example (JavaScript + ethers.js)

```js
import { ethers } from "ethers";

const API = "https://api.crosscurve.fi";
const API_KEY = "YOUR_API_KEY";

const provider = new ethers.JsonRpcProvider("https://YOUR_RPC_URL");
const signer = new ethers.Wallet("0xYOUR_PRIVATE_KEY", provider);
const WALLET_ADDRESS = signer.address;

const TOKEN_IN = "0xTOKEN_IN";
const TOKEN_OUT = "0xTOKEN_OUT";
const CHAIN_ID_IN = 11155111;
const CHAIN_ID_OUT = 64165;
const AMOUNT_IN = "1000000"; // in smallest token units

const ERC20_ABI = [
  "function approve(address spender, uint256 amount) returns (bool)",
  "function allowance(address owner, address spender) view returns (uint256)",
];

// Helper: parse NDJSON stream into an array of route objects
async function scanRoutes(body) {
  const response = await fetch(`${API}/routing/scan/stream`, {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "Accept": "application/x-ndjson",
      "api-key": API_KEY,
    },
    body: JSON.stringify(body),
  });

  const reader = response.body.getReader();
  const decoder = new TextDecoder();
  const routes = [];
  let buffer = "";

  while (true) {
    const { done, value } = await reader.read();
    if (done) break;
    buffer += decoder.decode(value, { stream: true });
    let idx;
    while ((idx = buffer.indexOf("\n")) >= 0) {
      const line = buffer.slice(0, idx).trim();
      buffer = buffer.slice(idx + 1);
      if (!line) continue;
      const parsed = JSON.parse(line);
      if (parsed.simulation) routes.push(parsed.simulation);
    }
  }
  if (buffer.trim()) {
    const parsed = JSON.parse(buffer);
    if (parsed.simulation) routes.push(parsed.simulation);
  }

  return routes;
}

// Step 1: Find a route
const routes = await scanRoutes({
  from: WALLET_ADDRESS,
  recipient: WALLET_ADDRESS,
  params: {
    tokenIn: TOKEN_IN,
    amountIn: AMOUNT_IN,
    chainIdIn: CHAIN_ID_IN,
    tokenOut: TOKEN_OUT,
    chainIdOut: CHAIN_ID_OUT,
  },
  slippage: 1,
});
routes.sort((a, b) => {
  if (BigInt(a.amountOut) > BigInt(b.amountOut)) return -1;
  if (BigInt(a.amountOut) < BigInt(b.amountOut)) return 1;
  return 0;
});
const route = routes[0];

// Step 2: Build the transaction
const txRes = await fetch(`${API}/tx/create`, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    from: WALLET_ADDRESS,
    recipient: WALLET_ADDRESS,
    routing: route,
    buildCalldata: true,
  }),
});
const tx = await txRes.json();

// Step 3: Approve router if input is ERC-20 (skip for native token)
const tokenContract = new ethers.Contract(TOKEN_IN, ERC20_ABI, signer);
const allowance = await tokenContract.allowance(WALLET_ADDRESS, tx.to);
if (allowance < BigInt(route.amountIn)) {
  const approveTx = await tokenContract.approve(tx.to, route.amountIn);
  await approveTx.wait();
}

// Step 4: Send swap on-chain
const swapTx = await signer.sendTransaction({
  to: tx.to,
  data: tx.data,
  value: tx.value,
});
const receipt = await swapTx.wait();

// Step 5: Extract requestId from receipt
const COMPLEX_OP_TOPIC = "0x830adbcf80ee865e0f0883ad52e813fdbf061b0216b724694a2b4e06708d243c";
const log = receipt.logs.find((l) => l.topics[0] === COMPLEX_OP_TOPIC);
const requestId = log.topics[2]; // currentRequestId (bytes32)

// Step 6: Poll for completion
async function pollStatus(requestId) {
  while (true) {
    const res = await fetch(`${API}/transaction/${requestId}`);
    const status = await res.json();

    console.log("Status:", status.status);

    if (["completed", "failed", "reverted", "canceled"].includes(status.status)) {
      return status;
    }

    await new Promise((r) => setTimeout(r, 12000));
  }
}

const result = await pollStatus(requestId);
console.log("Final status:", result.status);
```

#### Full Example (TypeScript + viem)

```ts
import { createWalletClient, createPublicClient, http, parseAbi, parseEventLogs } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { sepolia } from "viem/chains";

const API = "https://api.crosscurve.fi";
const API_KEY = "YOUR_API_KEY";

const TOKEN_IN = "0xTOKEN_IN";
const TOKEN_OUT = "0xTOKEN_OUT";
const CHAIN_ID_IN = 11155111;
const CHAIN_ID_OUT = 64165;
const AMOUNT_IN = "1000000";

const account = privateKeyToAccount("0xYOUR_PRIVATE_KEY");
const publicClient = createPublicClient({ chain: sepolia, transport: http() });
const walletClient = createWalletClient({
  account,
  chain: sepolia,
  transport: http(),
});

// Helper: parse NDJSON stream into an array of route objects
async function scanRoutes(body: Record<string, unknown>) {
  const response = await fetch(`${API}/routing/scan/stream`, {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "Accept": "application/x-ndjson",
      "api-key": API_KEY,
    },
    body: JSON.stringify(body),
  });

  const reader = response.body!.getReader();
  const decoder = new TextDecoder();
  const routes: unknown[] = [];
  let buffer = "";

  while (true) {
    const { done, value } = await reader.read();
    if (done) break;
    buffer += decoder.decode(value, { stream: true });
    let idx: number;
    while ((idx = buffer.indexOf("\n")) >= 0) {
      const line = buffer.slice(0, idx).trim();
      buffer = buffer.slice(idx + 1);
      if (!line) continue;
      const parsed = JSON.parse(line);
      if (parsed.simulation) routes.push(parsed.simulation);
    }
  }
  if (buffer.trim()) {
    const parsed = JSON.parse(buffer);
    if (parsed.simulation) routes.push(parsed.simulation);
  }

  return routes;
}

// Step 1: Find a route
const routes = await scanRoutes({
  from: account.address,
  recipient: account.address,
  params: {
    tokenIn: TOKEN_IN,
    amountIn: AMOUNT_IN,
    chainIdIn: CHAIN_ID_IN,
    tokenOut: TOKEN_OUT,
    chainIdOut: CHAIN_ID_OUT,
  },
  slippage: 1,
});
routes.sort((a: any, b: any) => {
  if (BigInt(a.amountOut) > BigInt(b.amountOut)) return -1;
  if (BigInt(a.amountOut) < BigInt(b.amountOut)) return 1;
  return 0;
});
const route = routes[0];

// Step 2: Build the transaction
const txRes = await fetch(`${API}/tx/create`, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    from: account.address,
    recipient: account.address,
    routing: route,
    buildCalldata: true,
  }),
});
const tx: { to: string; data: string; value: string } = await txRes.json();

// Step 3: Approve router if input is ERC-20 (skip for native token)
const erc20Abi = parseAbi([
  "function approve(address,uint256) returns (bool)",
  "function allowance(address,address) view returns (uint256)",
]);
const allowance = await publicClient.readContract({
  address: TOKEN_IN as `0x${string}`,
  abi: erc20Abi,
  functionName: "allowance",
  args: [account.address, tx.to as `0x${string}`],
});
if (allowance < BigInt(route.amountIn)) {
  await walletClient.writeContract({
    address: TOKEN_IN as `0x${string}`,
    abi: erc20Abi,
    functionName: "approve",
    args: [tx.to as `0x${string}`, BigInt(route.amountIn)],
  });
}

// Step 4: Send swap on-chain
const hash = await walletClient.sendTransaction({
  to: tx.to as `0x${string}`,
  data: tx.data as `0x${string}`,
  value: BigInt(tx.value),
});

console.log("Transaction sent:", hash);

// Step 5: Extract requestId from receipt
const receipt = await publicClient.waitForTransactionReceipt({ hash });
const complexOpAbi = parseAbi([
  "event ComplexOpProcessed(uint64 indexed currentChainId, bytes32 indexed currentRequestId, uint64 indexed nextChainId, bytes32 nextRequestId, uint8 result, uint8 lastOp)",
]);
const events = parseEventLogs({ abi: complexOpAbi, logs: receipt.logs, eventName: "ComplexOpProcessed" });
const requestId = events[0].args.currentRequestId;

// Step 6: Poll for completion
async function pollStatus(requestId: string) {
  while (true) {
    const res = await fetch(`${API}/transaction/${requestId}`);
    const status = await res.json();

    console.log("Status:", status.status);

    if (["completed", "failed", "reverted", "canceled"].includes(status.status)) {
      return status;
    }

    await new Promise((r) => setTimeout(r, 12000));
  }
}
```

***


# ERC-4337 Smart Account Swap

For smart wallets using the ERC-4337 standard (Pimlico, ZeroDev, etc.). The routing step is identical to the EOA flow — use `POST /routing/scan/stream` (see Find a Route). The difference is in the `/tx/create` request and response.

Four gas payment modes are available:

* **Mode A** -- ERC-20 paymaster: gas is paid in an ERC-20 token (e.g. USDC) via the CrossCurve Pimlico proxy.
* **Mode B** -- Sponsored / custom paymaster: your own verifying paymaster sponsors gas.
* **Mode C** -- Native gas: no paymaster; the smart wallet pays gas in the native token directly.
* **Mode D** -- Calldata only: raw calldata returned; integrator builds their own UserOperation and manages approvals.

> The smart wallet address (`from`) must already be deployed on the source chain. If the contract is not deployed, the server returns a `400 NOT_SMART_ACCOUNT` error.

#### Request Fields

The request body uses the same base fields as EOA (`from`, `recipient`, `routing`) plus these AA-specific fields:

| Field              | Type    | Required | Description                                        |
| ------------------ | ------- | -------- | -------------------------------------------------- |
| `walletType`       | string  | Yes      | `"4337"`                                           |
| `gasToken`         | string  | No       | ERC-20 token address for gas payment via paymaster |
| `paymasterAddress` | string  | No       | Custom paymaster contract address                  |
| `entryPoint`       | string  | No       | Custom EntryPoint contract address                 |
| `calldataOnly`     | boolean | No       | Return raw calldata without `calls[]` wrapper      |

Do not include `buildCalldata` -- it is ignored for AA wallets.

#### Mode A -- ERC-20 Paymaster

Gas is paid in an ERC-20 token through CrossCurve's Pimlico paymaster. The response includes a `pimlicoChainName` used to route subsequent bundler and paymaster calls through the `/pimlico/{chainName}` proxy endpoint.

**Request:**

```json
{
  "from": "0xSMART_WALLET_ADDRESS",
  "recipient": "0xRECIPIENT_ADDRESS",
  "routing": { },
  "walletType": "4337",
  "gasToken": "0xERC20_TOKEN_FOR_GAS"
}
```

**Response:**

```json
{
  "walletType": "4337",
  "calls": [
    { "to": "0xGAS_TOKEN", "value": "0", "data": "0x..." },
    { "to": "0xTOKEN_IN", "value": "0", "data": "0x..." },
    { "to": "0xROUTER", "value": "0", "data": "0x..." }
  ],
  "chainId": 11155111,
  "pimlicoChainName": "sepolia",
  "paymasterContext": { "token": "0xGAS_TOKEN_ADDRESS" },
  "paymasterAddress": "0x...",
  "entryPoint": "0x..."
}
```

**Response fields:**

| Field              | Type     | Description                                                         |
| ------------------ | -------- | ------------------------------------------------------------------- |
| `walletType`       | `"4337"` | Wallet type echo                                                    |
| `calls`            | array    | Ordered calls for the UserOperation (see below)                     |
| `chainId`          | number   | Source chain ID                                                     |
| `pimlicoChainName` | string   | Chain name for the `/pimlico/{chainName}` proxy                     |
| `paymasterContext` | object   | Contains `token` -- the ERC-20 address used for gas payment         |
| `paymasterAddress` | string   | Paymaster contract address (present in ERC-20 and sponsored modes)  |
| `entryPoint`       | string   | EntryPoint contract address (present in ERC-20 and sponsored modes) |

Each item in `calls` has:

| Field   | Type   | Description              |
| ------- | ------ | ------------------------ |
| `to`    | string | Target contract address  |
| `value` | string | Native token value (wei) |
| `data`  | string | Encoded calldata         |

The three calls in order:

1. **Paymaster token approve** -- approves the paymaster to spend the gas token.
2. **Router token approve** -- approves the router to spend the input token.
3. **Router start** -- calls `router.start()` to initiate the swap.

**Full flow (10 steps):**

1. `POST /routing/scan/stream` -- find a route (see EOA Step 2).
2. `POST /tx/create` with `walletType: "4337"` and `gasToken` -- receive `calls`, `pimlicoChainName`, `paymasterContext`, `paymasterAddress`, `entryPoint`.
3. `POST /pimlico/{pimlicoChainName}` -- call `pimlico_getUserOperationGasPrice` to get gas prices.
4. Build a UserOperation from `calls`. Set `maxFeePerGas` and `maxPriorityFeePerGas` from step 3.
5. `POST /pimlico/{pimlicoChainName}` -- call `pm_getPaymasterStubData` to get stub data for gas estimation.
6. `POST /pimlico/{pimlicoChainName}` -- call `eth_estimateUserOperationGas` to fill gas limits.
7. `POST /pimlico/{pimlicoChainName}` -- call `pm_getPaymasterData` to get final paymaster data.
8. Sign the UserOperation.
9. `POST /pimlico/{pimlicoChainName}` -- call `eth_sendUserOperation` to submit.
10. Poll with `eth_getUserOperationReceipt` via `POST /pimlico/{pimlicoChainName}` until the operation is confirmed.

**Full Example (JavaScript)**

```js
const API = "https://api.crosscurve.fi";
const API_KEY = "YOUR_API_KEY";

const SMART_WALLET = "0xSMART_WALLET_ADDRESS";
const TOKEN_IN = "0xTOKEN_IN";
const TOKEN_OUT = "0xTOKEN_OUT";
const GAS_TOKEN = "0xGAS_TOKEN";
const CHAIN_ID_IN = 11155111;
const CHAIN_ID_OUT = 64165;
const AMOUNT_IN = "1000000";

// Step 1: Find a route (scanRoutes helper defined in EOA example above)
const routes = await scanRoutes({
  from: SMART_WALLET,
  recipient: SMART_WALLET,
  params: {
    tokenIn: TOKEN_IN,
    amountIn: AMOUNT_IN,
    chainIdIn: CHAIN_ID_IN,
    tokenOut: TOKEN_OUT,
    chainIdOut: CHAIN_ID_OUT,
  },
  slippage: 1,
});
routes.sort((a, b) => {
  if (BigInt(a.amountOut) > BigInt(b.amountOut)) return -1;
  if (BigInt(a.amountOut) < BigInt(b.amountOut)) return 1;
  return 0;
});
const route = routes[0];

// Step 2: Build AA transaction
const txRes = await fetch(`${API}/tx/create`, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    from: SMART_WALLET,
    recipient: SMART_WALLET,
    routing: route,
    walletType: "4337",
    gasToken: GAS_TOKEN,
  }),
});
const txData = await txRes.json();
// txData = { walletType, calls, chainId, pimlicoChainName, paymasterContext, paymasterAddress, entryPoint }

const { calls, pimlicoChainName, paymasterContext, entryPoint } = txData;

// Helper: call Pimlico proxy
async function pimlicoRpc(chainName, method, params) {
  const res = await fetch(`${API}/pimlico/${chainName}`, {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "api-key": API_KEY,
    },
    body: JSON.stringify({ jsonrpc: "2.0", method, params, id: 1 }),
  });
  const json = await res.json();
  if (json.error) throw new Error(json.error.message);
  return json.result;
}

// Step 3: Get gas prices
const gasPrice = await pimlicoRpc(pimlicoChainName, "pimlico_getUserOperationGasPrice", []);

// Step 4: Build UserOperation
const userOp = {
  sender: SMART_WALLET,
  nonce: await getNonce(SMART_WALLET, entryPoint), // from your smart account
  callData: encodeMulticall(calls), // encode calls into a single callData
  callGasLimit: "0x0",
  verificationGasLimit: "0x0",
  preVerificationGas: "0x0",
  maxFeePerGas: gasPrice.standard.maxFeePerGas,
  maxPriorityFeePerGas: gasPrice.standard.maxPriorityFeePerGas,
  signature: "0x", // empty signature for estimation
};

// Step 5: Get paymaster stub data
const stubData = await pimlicoRpc(pimlicoChainName, "pm_getPaymasterStubData", [
  userOp,
  entryPoint,
  pimlicoChainName,
  { token: paymasterContext.token },
]);
userOp.paymasterAndData = stubData.paymasterAndData;

// Step 6: Estimate gas
const gasEstimate = await pimlicoRpc(
  pimlicoChainName,
  "eth_estimateUserOperationGas",
  [userOp, entryPoint]
);
userOp.callGasLimit = gasEstimate.callGasLimit;
userOp.verificationGasLimit = gasEstimate.verificationGasLimit;
userOp.preVerificationGas = gasEstimate.preVerificationGas;

// Step 7: Get final paymaster data
const pmData = await pimlicoRpc(pimlicoChainName, "pm_getPaymasterData", [
  userOp,
  entryPoint,
  pimlicoChainName,
  { token: paymasterContext.token },
]);
userOp.paymasterAndData = pmData.paymasterAndData;

// Step 8: Sign
userOp.signature = await signUserOp(userOp, entryPoint, txData.chainId);

// Step 9: Send
const userOpHash = await pimlicoRpc(
  pimlicoChainName,
  "eth_sendUserOperation",
  [userOp, entryPoint]
);
console.log("UserOperation hash:", userOpHash);

// Step 10: Poll for receipt
async function pollUserOp(hash) {
  while (true) {
    const receipt = await pimlicoRpc(
      pimlicoChainName,
      "eth_getUserOperationReceipt",
      [hash]
    );
    if (receipt) return receipt;
    await new Promise((r) => setTimeout(r, 5000));
  }
}

const receipt = await pollUserOp(userOpHash);
console.log("UserOperation confirmed:", receipt.receipt.transactionHash);
```

**Full Example (TypeScript + permissionless)**

```ts
import { createPublicClient, http } from "viem";
import { sepolia } from "viem/chains";
import {
  createSmartAccountClient,
  type SmartAccountClient,
} from "permissionless";
import { createPimlicoClient } from "permissionless/clients/pimlico";

const API = "https://api.crosscurve.fi";
const API_KEY = "YOUR_API_KEY";

const SMART_WALLET = "0xSMART_WALLET_ADDRESS" as `0x${string}`;
const TOKEN_IN = "0xTOKEN_IN" as `0x${string}`;
const TOKEN_OUT = "0xTOKEN_OUT" as `0x${string}`;
const GAS_TOKEN = "0xGAS_TOKEN" as `0x${string}`;
const CHAIN_ID_IN = 11155111;
const CHAIN_ID_OUT = 64165;
const AMOUNT_IN = "1000000";

interface AACall {
  to: string;
  value: string;
  data: string;
}

interface PaymasterContext {
  token: string;
}

interface CreateTx4337Response {
  walletType: "4337";
  calls: AACall[];
  chainId: number;
  pimlicoChainName?: string;
  paymasterContext: PaymasterContext;
  paymasterAddress?: string;
  entryPoint?: string;
}

// Step 1: Find a route (scanRoutes helper defined in EOA example above)
const routes = await scanRoutes({
  from: SMART_WALLET,
  recipient: SMART_WALLET,
  params: {
    tokenIn: TOKEN_IN,
    amountIn: AMOUNT_IN,
    chainIdIn: CHAIN_ID_IN,
    tokenOut: TOKEN_OUT,
    chainIdOut: CHAIN_ID_OUT,
  },
  slippage: 1,
});
routes.sort((a: any, b: any) => {
  if (BigInt(a.amountOut) > BigInt(b.amountOut)) return -1;
  if (BigInt(a.amountOut) < BigInt(b.amountOut)) return 1;
  return 0;
});
const route = routes[0];

// Step 2: Build AA transaction
const txRes = await fetch(`${API}/tx/create`, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    from: SMART_WALLET,
    recipient: SMART_WALLET,
    routing: route,
    walletType: "4337",
    gasToken: GAS_TOKEN,
  }),
});
const txData: CreateTx4337Response = await txRes.json();

const { calls, pimlicoChainName, paymasterContext, entryPoint } = txData;

// Create a Pimlico client that routes through the CrossCurve proxy
const pimlicoClient = createPimlicoClient({
  chain: sepolia,
  transport: http(`${API}/pimlico/${pimlicoChainName}`, {
    fetchOptions: {
      headers: { "api-key": API_KEY },
    },
  }),
  entryPoint: {
    address: entryPoint as `0x${string}`,
    version: "0.7",
  },
});

// Create your smart account client (implementation depends on your account type)
// For example, with a Safe, Kernel, or other account:
const smartAccountClient: SmartAccountClient = createSmartAccountClient({
  account: yourSmartAccount, // your account implementation
  chain: sepolia,
  bundlerTransport: http(`${API}/pimlico/${pimlicoChainName}`, {
    fetchOptions: {
      headers: { "api-key": API_KEY },
    },
  }),
  paymaster: pimlicoClient,
  paymasterContext: { token: paymasterContext.token },
});

// Step 3: Send the UserOperation
const userOpHash = await smartAccountClient.sendUserOperation({
  calls: calls.map((call) => ({
    to: call.to as `0x${string}`,
    value: BigInt(call.value),
    data: call.data as `0x${string}`,
  })),
});

console.log("UserOperation hash:", userOpHash);

// Step 4: Wait for receipt
const receipt = await smartAccountClient.waitForUserOperationReceipt({
  hash: userOpHash,
});

console.log("Confirmed:", receipt.receipt.transactionHash);
```

#### Mode B -- Sponsored / Custom Paymaster

Your own verifying paymaster sponsors gas. No `gasToken` is needed.

**Request:**

```json
{
  "from": "0xSMART_WALLET_ADDRESS",
  "recipient": "0xRECIPIENT_ADDRESS",
  "routing": { },
  "walletType": "4337",
  "paymasterAddress": "0xYOUR_VERIFYING_PAYMASTER",
  "entryPoint": "0xENTRYPOINT"
}
```

**Response:**

```json
{
  "walletType": "4337",
  "calls": [
    { "to": "0xTOKEN_IN", "value": "0", "data": "0x..." },
    { "to": "0xROUTER", "value": "0", "data": "0x..." }
  ],
  "chainId": 11155111,
  "paymasterContext": { "token": "0x0000000000000000000000000000000000000000" },
  "paymasterAddress": "0xYOUR_VERIFYING_PAYMASTER",
  "entryPoint": "0x..."
}
```

Key differences from Mode A:

* **2 calls** instead of 3 -- no paymaster token approve (your paymaster sponsors gas).
* `pimlicoChainName` is absent -- the Pimlico proxy is not needed.
* `paymasterContext.token` is the zero address.
* The integrator manages their own paymaster and bundler infrastructure.

**Example (JavaScript)**

```js
const API = "https://api.crosscurve.fi";
const SMART_WALLET = "0xSMART_WALLET_ADDRESS";

// After obtaining a route from /routing/scan/stream (see EOA example)...

const txRes = await fetch(`${API}/tx/create`, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    from: SMART_WALLET,
    recipient: SMART_WALLET,
    routing: route,
    walletType: "4337",
    paymasterAddress: "0xYOUR_VERIFYING_PAYMASTER",
    entryPoint: "0xENTRYPOINT",
  }),
});
const txData = await txRes.json();
// txData = { walletType, calls, chainId, paymasterContext, paymasterAddress, entryPoint }

// Build UserOperation from txData.calls
const userOp = {
  sender: SMART_WALLET,
  nonce: await getNonce(SMART_WALLET, txData.entryPoint),
  callData: encodeMulticall(txData.calls),
  // ... fill gas fields via your bundler
};

// Use your own paymaster to sponsor and sign the UserOperation
// Use your own bundler to estimate gas and submit
const userOpHash = await yourBundler.sendUserOperation(userOp, txData.entryPoint);
```

#### Mode C -- Native Gas

No paymaster is used. The smart wallet pays gas in the native token directly, the same way an EOA would.

**Request:**

```json
{
  "from": "0xSMART_WALLET_ADDRESS",
  "recipient": "0xRECIPIENT_ADDRESS",
  "routing": { },
  "walletType": "4337"
}
```

**Response:**

```json
{
  "walletType": "4337",
  "calls": [
    { "to": "0xTOKEN_IN", "value": "0", "data": "0x..." },
    { "to": "0xROUTER", "value": "1234567", "data": "0x..." }
  ],
  "chainId": 11155111,
  "paymasterContext": { "token": "0x0000000000000000000000000000000000000000" }
}
```

Key differences:

* **2 calls** -- router approve and router start.
* `value` on the router start call may be non-zero.
* `pimlicoChainName`, `paymasterAddress`, and `entryPoint` are absent.
* `paymasterContext.token` is the zero address.
* No paymaster is involved -- the smart wallet pays gas in the native token.

Estimate gas and submit the UserOperation through your own bundler or node.

#### Mode D -- Calldata Only

For integrators with their own AA infrastructure who want raw calldata without the `calls[]` wrapper. The integrator builds their own approve calls, UserOperation, and paymaster interactions.

**Request:**

```json
{
  "from": "0xSMART_WALLET_ADDRESS",
  "recipient": "0xRECIPIENT_ADDRESS",
  "routing": { },
  "walletType": "4337",
  "calldataOnly": true
}
```

**Response:**

```json
{
  "calldataOnly": true,
  "to": "0xROUTER",
  "data": "0x...",
  "value": "0",
  "feeToken": "0x...",
  "executionPrice": "...",
  "chainId": 11155111
}
```

**Response fields:**

| Field            | Type   | Description                                                   |
| ---------------- | ------ | ------------------------------------------------------------- |
| `calldataOnly`   | `true` | Indicates calldata-only mode                                  |
| `to`             | string | Router contract address                                       |
| `data`           | string | Encoded calldata for `router.start()`                         |
| `value`          | string | Native token value (wei)                                      |
| `feeToken`       | string | Token address for fee payment (zero address for native token) |
| `executionPrice` | string | Delivery fee amount in `feeToken` units                       |
| `chainId`        | number | Source chain ID                                               |

The integrator is responsible for:

* Building approve calls (if `feeToken` is an ERC-20, approve the router for `amountIn + executionPrice`).
* Constructing the full UserOperation.
* Managing paymaster interactions (if any).
* Submitting through their own bundler.

***

### EIP-7702 Swap

For EOA wallets with EIP-7702 code delegation. The EOA temporarily gains smart account functionality for the duration of the operation, without needing a separate smart wallet contract.

**Key differences from ERC-4337:**

* `walletType` is `"7702"` instead of `"4337"`.
* The sender address in the UserOperation is the EOA itself, not a separate smart account.
* Requires an EIP-7702 authorization signature for code delegation.
* Uses EntryPoint v0.8 (ERC-4337 uses v0.6).

The same gas payment modes are available as ERC-4337: ERC-20 paymaster, sponsored/custom paymaster, and native gas. The response shape is identical -- see the ERC-4337 response fields for field descriptions.

#### Request

The request body uses the same fields as ERC-4337 with `walletType` set to `"7702"`.

**ERC-20 paymaster mode:**

```json
{
  "from": "0xYOUR_EOA",
  "recipient": "0xRECIPIENT",
  "routing": { },
  "walletType": "7702",
  "gasToken": "0xGAS_TOKEN"
}
```

**Native gas mode (no paymaster):**

```json
{
  "from": "0xYOUR_EOA",
  "recipient": "0xRECIPIENT",
  "routing": { },
  "walletType": "7702"
}
```

#### Response

Same shape as ERC-4337 but with `walletType: "7702"`:

```json
{
  "walletType": "7702",
  "calls": [
    { "to": "0xTOKEN_ADDRESS", "value": "0", "data": "0xAPPROVE_CALLDATA" },
    { "to": "0xROUTER_ADDRESS", "value": "0", "data": "0xSTART_CALLDATA" }
  ],
  "chainId": 11155111,
  "pimlicoChainName": "sepolia",
  "paymasterContext": { "token": "0xERC20_GAS_TOKEN" },
  "paymasterAddress": "0x...",
  "entryPoint": "0x..."
}
```

#### Full Flow (ERC-20 Paymaster)

1. `POST /routing/scan/stream` -- find a route (see EOA Step 2).
2. `POST /tx/create` with `walletType: "7702"` and `gasToken` -- receive `calls`, `pimlicoChainName`, `paymasterContext`, `paymasterAddress`, `entryPoint`.
3. `POST /pimlico/{pimlicoChainName}` -- call `pimlico_getUserOperationGasPrice` to get gas prices.
4. Sign an EIP-7702 authorization for code delegation to the Smart7702 implementation.
5. Build a UserOperation with the authorization. Set `maxFeePerGas` and `maxPriorityFeePerGas` from step 3.
6. `POST /pimlico/{pimlicoChainName}` -- call `pm_getPaymasterStubData` to get stub data for gas estimation.
7. `POST /pimlico/{pimlicoChainName}` -- call `eth_estimateUserOperationGas` to fill gas limits.
8. `POST /pimlico/{pimlicoChainName}` -- call `pm_getPaymasterData` to get final paymaster data.
9. Sign and send the UserOperation via `POST /pimlico/{pimlicoChainName}` using `eth_sendUserOperation`.

#### Full Flow (Native Gas)

1. `POST /routing/scan/stream` -- find a route (see EOA Step 2).
2. `POST /tx/create` with `walletType: "7702"` (no `gasToken`) -- receive `calls`.
3. Sign an EIP-7702 authorization for code delegation.
4. Build a UserOperation from `calls`.
5. Estimate gas, sign, and send. No paymaster is needed -- the EOA pays gas in the native token.

#### Full Example (JavaScript, ERC-20 Paymaster)

This example shows the 7702-specific authorization step. See the ERC-4337 example for the `pimlicoRpc` helper and common patterns.

```js
const API = "https://api.crosscurve.fi";
const API_KEY = "YOUR_API_KEY";

const EOA_ADDRESS = "0xYOUR_EOA";
const TOKEN_IN = "0xTOKEN_IN";
const TOKEN_OUT = "0xTOKEN_OUT";
const GAS_TOKEN = "0xGAS_TOKEN";
const CHAIN_ID_IN = 11155111;
const CHAIN_ID_OUT = 64165;
const AMOUNT_IN = "1000000";

// Helper: call Pimlico proxy (same as ERC-4337 example)
async function pimlicoRpc(chainName, method, params) {
  const res = await fetch(`${API}/pimlico/${chainName}`, {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "api-key": API_KEY,
    },
    body: JSON.stringify({ jsonrpc: "2.0", method, params, id: 1 }),
  });
  const json = await res.json();
  if (json.error) throw new Error(json.error.message);
  return json.result;
}

// Step 1: Find a route (scanRoutes helper defined in EOA example above)
const routes = await scanRoutes({
  from: EOA_ADDRESS,
  recipient: EOA_ADDRESS,
  params: {
    tokenIn: TOKEN_IN,
    amountIn: AMOUNT_IN,
    chainIdIn: CHAIN_ID_IN,
    tokenOut: TOKEN_OUT,
    chainIdOut: CHAIN_ID_OUT,
  },
  slippage: 1,
});
routes.sort((a, b) => {
  if (BigInt(a.amountOut) > BigInt(b.amountOut)) return -1;
  if (BigInt(a.amountOut) < BigInt(b.amountOut)) return 1;
  return 0;
});
const route = routes[0];

// Step 2: Build AA transaction with 7702
const txRes = await fetch(`${API}/tx/create`, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    from: EOA_ADDRESS,
    recipient: EOA_ADDRESS,
    routing: route,
    walletType: "7702",
    gasToken: GAS_TOKEN,
  }),
});
const txData = await txRes.json();

const { calls, pimlicoChainName, paymasterContext, entryPoint } = txData;

// Step 3: Get gas prices
const gasPrice = await pimlicoRpc(pimlicoChainName, "pimlico_getUserOperationGasPrice", []);

// Step 4: Sign EIP-7702 authorization for code delegation
const authorization = await walletClient.signAuthorization({
  contractAddress: SMART_7702_IMPLEMENTATION, // delegation target
  chainId: txData.chainId,
});

// Step 5: Build UserOperation with authorization
const userOp = {
  sender: EOA_ADDRESS,
  nonce: await getNonce(EOA_ADDRESS, entryPoint),
  callData: encodeMulticall(calls),
  callGasLimit: "0x0",
  verificationGasLimit: "0x0",
  preVerificationGas: "0x0",
  maxFeePerGas: gasPrice.standard.maxFeePerGas,
  maxPriorityFeePerGas: gasPrice.standard.maxPriorityFeePerGas,
  authorization, // EIP-7702 authorization
  signature: "0x",
};

// Step 6: Get paymaster stub data
const stubData = await pimlicoRpc(pimlicoChainName, "pm_getPaymasterStubData", [
  userOp,
  entryPoint,
  pimlicoChainName,
  { token: paymasterContext.token },
]);
userOp.paymasterAndData = stubData.paymasterAndData;

// Step 7: Estimate gas
const gasEstimate = await pimlicoRpc(
  pimlicoChainName,
  "eth_estimateUserOperationGas",
  [userOp, entryPoint]
);
userOp.callGasLimit = gasEstimate.callGasLimit;
userOp.verificationGasLimit = gasEstimate.verificationGasLimit;
userOp.preVerificationGas = gasEstimate.preVerificationGas;

// Step 8: Get final paymaster data
const pmData = await pimlicoRpc(pimlicoChainName, "pm_getPaymasterData", [
  userOp,
  entryPoint,
  pimlicoChainName,
  { token: paymasterContext.token },
]);
userOp.paymasterAndData = pmData.paymasterAndData;

// Step 9: Sign and send
userOp.signature = await signUserOp(userOp, entryPoint, txData.chainId);

const userOpHash = await pimlicoRpc(
  pimlicoChainName,
  "eth_sendUserOperation",
  [userOp, entryPoint]
);
console.log("UserOperation hash:", userOpHash);
```

***

### Pimlico Proxy

```
POST /pimlico/{chainName}
```

JSON-RPC 2.0 proxy for account abstraction bundler and paymaster operations. Routes requests to the Pimlico infrastructure through the CrossCurve API.

`{chainName}` is the chain identifier from the `pimlicoChainName` field in the `/tx/create` response (e.g. `sepolia`, `sonic-testnet`).

#### Request Format

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "METHOD_NAME",
  "params": [...]
}
```

**Headers:**

| Header         | Value              |
| -------------- | ------------------ |
| `Content-Type` | `application/json` |
| `api-key`      | `YOUR_API_KEY`     |

#### Allowed Methods

| Method                             | Description                           |
| ---------------------------------- | ------------------------------------- |
| `eth_sendUserOperation`            | Submit a UserOperation                |
| `eth_estimateUserOperationGas`     | Estimate gas for a UserOperation      |
| `eth_getUserOperationReceipt`      | Get receipt by UserOperation hash     |
| `eth_getUserOperationByHash`       | Get UserOperation by hash             |
| `eth_supportedEntryPoints`         | List supported EntryPoint addresses   |
| `pm_getPaymasterData`              | Get paymaster data for gas sponsoring |
| `pm_getPaymasterStubData`          | Get stub data for gas estimation      |
| `pm_supportedTokens`               | List tokens available for gas payment |
| `pimlico_getUserOperationGasPrice` | Get recommended gas prices            |
| `pimlico_getTokenQuotes`           | Get token quotes for paymaster        |

Any method not in this list returns a `400` error.

#### Limits

| Constraint     | Value                         |
| -------------- | ----------------------------- |
| Rate limit     | 60 requests per minute per IP |
| Max payload    | 50 KB                         |
| Timeout        | 15 seconds                    |
| Batch JSON-RPC | Not supported                 |

For `eth_sendUserOperation` and `eth_estimateUserOperationGas`, the EntryPoint address passed in `params[1]` must match one of the EntryPoint addresses configured for the chain.

#### Example -- Reusable Helper (JavaScript)

```js
const API = "https://api.crosscurve.fi";
const API_KEY = "YOUR_API_KEY";

async function pimlicoRpc(chainName, method, params) {
  const res = await fetch(`${API}/pimlico/${chainName}`, {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "api-key": API_KEY,
    },
    body: JSON.stringify({
      jsonrpc: "2.0",
      id: 1,
      method,
      params,
    }),
  });
  const json = await res.json();
  if (json.error) throw new Error(json.error.message);
  return json.result;
}

// Usage: get gas prices
const gasPrice = await pimlicoRpc("sepolia", "pimlico_getUserOperationGasPrice", []);

// Usage: estimate gas for a UserOperation
const gasEstimate = await pimlicoRpc("sepolia", "eth_estimateUserOperationGas", [
  userOp,
  "0xENTRYPOINT_ADDRESS",
]);
```

***


# Error Handling and Recovery

#### HTTP Status Codes

| Code | Meaning                    |
| ---- | -------------------------- |
| 400  | Invalid request parameters |
| 403  | Invalid or missing api-key |
| 404  | Resource not found         |
| 429  | Rate limit exceeded        |
| 500  | Internal server error      |

#### Error Response Format

All errors return a JSON object with an `error` field containing a `message`:

```json
{
  "error": {
    "message": "description of the error"
  }
}
```

For application-level errors (e.g. `PusherError`), the response also includes a `code` field:

```json
{
  "error": {
    "code": "NOT_SMART_ACCOUNT",
    "message": "Address has no deployed code — not a smart account"
  }
}
```

#### Recovery Endpoints

When a cross-chain transaction gets stuck, these endpoints help resolve the situation.

**POST /tx/create/emergency**

Build a transaction to return funds to the sender when delivery is stuck (`destination.emergency` is `true`).

| Field       | Type   | Description                                            |
| ----------- | ------ | ------------------------------------------------------ |
| `requestId` | string | The request ID from the `ComplexOpProcessed` event     |
| `signature` | string | EIP-191 signature from the original sender (see below) |

**Generating the signature:**

The server expects an EIP-191 personal sign over the keccak256 hash of the `requestId` string. The signer must be the original sender address.

```js
// Using ethers.js
import { solidityPackedKeccak256, getBytes } from "ethers";

const messageHash = solidityPackedKeccak256(["string"], [requestId]);
const signature = await signer.signMessage(getBytes(messageHash));
```

```ts
// Using viem
import { keccak256, encodePacked, toBytes } from "viem";

const messageHash = keccak256(encodePacked(["string"], [requestId]));
const signature = await walletClient.signMessage({
  message: { raw: toBytes(messageHash) },
});
```

**Full example:**

```js
// Check if emergency is available
const status = await fetch(`${API}/transaction/${requestId}`).then((r) => r.json());
if (!status.destination.emergency) {
  console.log("Emergency not yet available — wait at least 30 minutes");
}

// Generate signature
const messageHash = solidityPackedKeccak256(["string"], [requestId]);
const signature = await signer.signMessage(getBytes(messageHash));

// Build emergency transaction
const res = await fetch(`${API}/tx/create/emergency`, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ requestId, signature }),
});
const emergencyTx = await res.json();

// Send on-chain
await wallet.sendTransaction({
  to: emergencyTx.to,
  data: emergencyTx.data,
  value: emergencyTx.value,
});
```

**POST /tx/create/retry**

Retry a failed delivery. Uses the same signature format as the emergency endpoint.

| Field       | Type   | Description                                        |
| ----------- | ------ | -------------------------------------------------- |
| `requestId` | string | The request ID from the `ComplexOpProcessed` event |
| `signature` | string | EIP-191 signature from the original sender         |

```js
const messageHash = solidityPackedKeccak256(["string"], [requestId]);
const signature = await signer.signMessage(getBytes(messageHash));

const res = await fetch(`${API}/tx/create/retry`, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ requestId, signature }),
});
const retryTx = await res.json();
// Send retryTx on-chain
```

**POST /tx/create/resumeBr**

Resume a paused bridge relay.

```json
{
  "requestId": "0x..."
}
```

**POST /tx/create/cancelBr**

Cancel a pending bridge relay.

```json
{
  "requestId": "0x..."
}
```


# Simplified Integration with SDK

TypeScript SDK for cross-chain token swaps via CrossCurve protocol

### Installation

```bash
npm install crosscurve-sdk

# Plus one signer library:
npm install viem        # recommended
```

### Quick Start

```typescript
import { CrossCurveSDK, ViemAdapter } from 'crosscurve-sdk';
import { createWalletClient, createPublicClient, http } from 'viem';
import { arbitrum } from 'viem/chains';
import { mnemonicToAccount } from 'viem/accounts';

const account = mnemonicToAccount('your mnemonic');
const walletClient = createWalletClient({ account, chain: arbitrum, transport: http() });
const publicClient = createPublicClient({ chain: arbitrum, transport: http() });
const signer = new ViemAdapter(walletClient, publicClient, account);

const sdk = new CrossCurveSDK();
await sdk.init();

// Get quote
const quote = await sdk.getQuote({
  fromChain: 42161,                                      // Arbitrum
  toChain: 10,                                           // Optimism
  fromToken: '0x0000000000000000000000000000000000000000', // Native ETH
  toToken: '0x0000000000000000000000000000000000000000',   // Native ETH
  amount: '1000000000000000',                             // 0.001 ETH (in wei)
  slippage: 0.5,
  sender: account.address,
  providers: ['cross-curve', 'rubic', 'bungee'],  // optional: filter by provider
});

// Execute with auto-recovery
const result = await sdk.executeQuote(quote, {
  signer,
  autoRecover: true,
  onStatusChange: (status) => console.log('Status:', status.status),
});

console.log('TX:', result.transactionHash);
console.log('Request ID:', result.requestId);
```

### Adapters

```typescript
import { ViemAdapter, EthersV6Adapter, EthersV5Adapter, Web3Adapter } from 'crosscurve-sdk';

// Viem (recommended)
new ViemAdapter(walletClient, publicClient, account)

// Ethers v6
new EthersV6Adapter(signer)

// Ethers v5
new EthersV5Adapter(signer)

// Web3.js v4
new Web3Adapter(web3, address)
```

All adapters implement `ChainSigner` interface with optional `getChainId()` method.

### Configuration

```typescript
const sdk = new CrossCurveSDK({
  // API
  apiKey: 'your-key',           // For fee sharing / integrator revenue
  baseUrl: 'https://...',       // Custom API URL

  // Validation
  maxSlippage: 5,               // Max slippage threshold (%)
  approvalMode: 'exact',        // 'exact' (recommended) or 'unlimited'

  // Polling timing
  polling: {
    initialInterval: 10000,     // 10s initial poll interval
    backoffMultiplier: 1.5,     // Exponential backoff
    maxInterval: 60000,         // 60s max interval
    timeout: 900000,            // 15min timeout
  },

  // External bridge polling (Rubic, Bungee)
  bridgePolling: {
    initialInterval: 15000,
    timeout: 1800000,           // 30min timeout
  },

  // HTTP client
  http: {
    timeout: 90000,             // Request timeout
    retryMaxTime: 90000,        // Total retry window
    retryInitialDelay: 1000,    // Initial retry delay
    retryBackoffMultiplier: 2,
  },

  // Cache
  cache: {
    ttlMs: 600000,              // 10min cache TTL
  },

  // Security
  security: {
    allowedHosts: ['custom-api.example.com'],  // Additional allowed hosts
    enforceHttps: true,         // Require HTTPS for non-localhost
  },

  // Permit
  permitDeadlineSeconds: 3600,  // 1 hour permit signature validity
});
```


# SDK methods

```typescript
sdk.init()                              // Load chains and tokens
```

#### Swap Methods

```
sdk.getQuote(params)                    // Get best swap quote
sdk.executeQuote(quote, options)        // Execute swap
sdk.trackTransaction(id, options)       // Track status
sdk.recover(requestId, options)         // Manual recovery
```

#### Token/Chain Data

```typescript
sdk.chains                              // All supported chains
sdk.getTokens(chainId)                  // Tokens for chain
sdk.getToken(chainId, address)          // Single token
sdk.getChainByCaip2('eip155:42161')     // Chain by CAIP-2
```

#### Advanced Swap Methods&#x20;

```typescript
// Routing
sdk.routing.scan(request)               // Get all available routes

// Transaction building
sdk.tx.create(request)                  // Build swap transaction
sdk.tx.createEmergency(requestId, sig)  // Emergency withdrawal tx
sdk.tx.createRetry(requestId, sig)      // Retry delivery tx

// Tracking
sdk.tracking.get(requestId)             // Get transaction status
sdk.tracking.search(query)              // Search by address/hash

// Inconsistency resolution
sdk.inconsistency.getParams(requestId)  // Get resolution params
sdk.inconsistency.create(request)       // Create resolution tx
```


# Method options

#### Execute Options

```typescript
const result = await sdk.executeQuote(quote, {
  signer,                    // Required: ChainSigner adapter
  recipient: '0x...',        // Optional: override recipient (default: signer address)
  autoRecover: true,         // Auto-handle recovery on failure
  onStatusChange: (s) => {}, // Status callback during polling

  // Gas overrides (optional)
  gasLimit: 500000n,
  gasPrice: 1000000000n,           // Legacy transactions
  maxFeePerGas: 2000000000n,       // EIP-1559
  maxPriorityFeePerGas: 100000000n,
  nonce: 42,
});
```

#### Tracking Options

```typescript
// Track CrossCurve transaction by requestId
const status = await sdk.trackTransaction(result.requestId);

// Track external bridge by tx hash
const status = await sdk.trackTransaction(txHash, {
  provider: 'rubic',           // 'rubic' | 'bungee'
  bridgeId: result.bridgeId,   // For Rubic routes
  chainId: 42161,              // Source chain
});
```

### Recovery

CrossCurve routes support three recovery types when transactions fail:

| Type              | Trigger                           | Action                          |
| ----------------- | --------------------------------- | ------------------------------- |
| **Emergency**     | Destination chain emergency state | Withdraw funds on source chain  |
| **Retry**         | Delivery failed, retry available  | Re-attempt destination delivery |
| **Inconsistency** | Price deviation detected          | Re-route with new quote         |

With `autoRecover: true`, recovery is handled automatically. For manual recovery:

```typescript
const status = await sdk.trackTransaction(requestId);

if (status.recovery?.available) {
  const result = await sdk.recover(requestId, {
    signer,
    slippage: 1,  // Required for inconsistency recovery
  });
}
```

### Error Handling

```typescript
import {
  // API errors
  ApiError,
  NetworkError,
  ValidationError,

  // Transaction errors
  TransactionError,
  InvalidQuoteError,
  InsufficientBalanceError,
  SlippageExceededError,

  // Recovery errors
  RecoveryUnavailableError,
  TimeoutError,

  // Rate limiting
  CircuitBreakerError,
  RateLimitError,
  ConfigurationError,
} from 'crosscurve-sdk';

try {
  await sdk.executeQuote(quote, { signer });
} catch (error) {
  if (error instanceof CircuitBreakerError) {
    console.log(`${error.service} API circuit open, retry after ${error.resetMs}ms`);
  }
}
```


# CrossCurve smart contracts

ss-chain liquidity protocol smart contracts (CrossCurve) are a type of self-executing digital agreement stored on a blockchain that automatically execute when predetermined terms and conditions are met. These contracts facilitate the creation of liquidity pools that enable decentralized trading, offering behaviors that are more predictable and in line with the primary principles of blockchain technology, such as trustless operations without susceptible governance. In general, smart contracts are designed to digitally facilitate, verify, or enforce the negotiation or performance of a contract. They allow transactions to be conducted without the need for intermediaries, while ensuring that these transactions are trackable and irreversible once completed.

<table data-full-width="true"><thead><tr><th>Chain\Name</th><th>AddressBook</th><th>PortalV2</th><th>SynthesisV2</th><th>SynthFactory</th><th>UnifiedRouterV2</th><th>OpsRegistrar</th><th>Whitelist</th><th>FeesTreasury</th><th>VirtualPriceSender</th><th>VirtualPriceReceiver</th><th>VirtualPriceReceiver</th><th>VirtualPriceReceiver</th><th>VirtualPriceReceiverV2</th><th>VirtualPriceReceiver3</th><th>VirtualPriceReceiver4</th><th>Locker</th></tr></thead><tbody><tr><td>Ethereum</td><td><a href="https://etherscan.io/address/0x564a0c04877e4ca6f5d0cad8c20522226321d9b0">link</a></td><td><a href="https://etherscan.io/address/0xac8f44ceca92b2a4b30360e5bd3043850a0ffcbe">link</a></td><td><a href="https://etherscan.io/address/0xf370D9Ed0141207e81321158393Eea5D8a50CC72">link</a></td><td><a href="https://etherscan.io/address/0x1B86074274067133CABecBD882519a7e7af69178">link</a></td><td><a href="https://etherscan.io/address/0xfa43DE785dd3Cd0ef3dAE0dD2b8bE3F1B5112d1a">link</a></td><td><a href="https://etherscan.io/address/0x5571E37EC0a44019350880944E3619934A8fDbB9">link</a></td><td><a href="https://etherscan.io/address/0x5cF21A9899e679448284427C0Baca807fAd6bB8F">link</a></td><td><a href="https://etherscan.io/address/0x4400671b8238B5E0c7c9d7572746d236cd292845">link</a></td><td><a href="https://etherscan.io/address/0xfA843add03F881304AF116CaF704549867142541">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>BSC</td><td><a href="https://bscscan.com/address/0x564a0c04877e4ca6f5d0cad8c20522226321d9b0">link</a></td><td><a href="https://bscscan.com/address/0xac8f44ceca92b2a4b30360e5bd3043850a0ffcbe">link</a></td><td><a href="https://bscscan.com/address/0xf370D9Ed0141207e81321158393Eea5D8a50CC72">link</a></td><td><a href="https://bscscan.com/address/0x1B86074274067133CABecBD882519a7e7af69178">link</a></td><td><a href="https://bscscan.com/address/0xfa43DE785dd3Cd0ef3dAE0dD2b8bE3F1B5112d1a">link</a></td><td><a href="https://bscscan.com/address/0x5571E37EC0a44019350880944E3619934A8fDbB9">link</a></td><td><a href="https://bscscan.com/address/0x5cF21A9899e679448284427C0Baca807fAd6bB8F">link</a></td><td><a href="https://bscscan.com/address/0x4400671b8238B5E0c7c9d7572746d236cd292845">link</a></td><td><a href="https://bscscan.com/address/0xfA843add03F881304AF116CaF704549867142541">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Polygon</td><td><a href="https://polygonscan.com/token/0x564a0c04877e4ca6f5d0cad8c20522226321d9b0">link</a></td><td><a href="https://polygonscan.com/token/0xac8f44ceca92b2a4b30360e5bd3043850a0ffcbe">link</a></td><td><a href="https://polygonscan.com/token/0xf370D9Ed0141207e81321158393Eea5D8a50CC72">link</a></td><td><a href="https://polygonscan.com/token/0x1B86074274067133CABecBD882519a7e7af69178">link</a></td><td><a href="https://polygonscan.com/token/0xfa43DE785dd3Cd0ef3dAE0dD2b8bE3F1B5112d1a">link</a></td><td><a href="https://polygonscan.com/address/0x5571E37EC0a44019350880944E3619934A8fDbB9">link</a></td><td><a href="https://polygonscan.com/token/0x5cF21A9899e679448284427C0Baca807fAd6bB8F">link</a></td><td><a href="https://polygonscan.com/token/0x4400671b8238B5E0c7c9d7572746d236cd292845">link</a></td><td><a href="https://polygonscan.com/token/0xfA843add03F881304AF116CaF704549867142541">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Avalanche</td><td><a href="https://snowtrace.dev/address/0x564a0c04877e4ca6f5d0cad8c20522226321d9b0">link</a></td><td><a href="https://snowtrace.dev/address/0xac8f44ceca92b2a4b30360e5bd3043850a0ffcbe">link</a></td><td><a href="https://snowtrace.dev/address/0xf370D9Ed0141207e81321158393Eea5D8a50CC72">link</a></td><td><a href="https://snowtrace.dev/address/0x1B86074274067133CABecBD882519a7e7af69178">link</a></td><td><a href="https://snowtrace.dev/address/0xfa43DE785dd3Cd0ef3dAE0dD2b8bE3F1B5112d1a">link</a></td><td><a href="https://snowscan.xyz/address/0x5571E37EC0a44019350880944E3619934A8fDbB9">link</a></td><td><a href="https://snowtrace.dev/address/0x5cF21A9899e679448284427C0Baca807fAd6bB8F">link</a></td><td><a href="https://snowtrace.dev/address/0x4400671b8238B5E0c7c9d7572746d236cd292845">link</a></td><td><a href="https://snowtrace.dev/address/0xfA843add03F881304AF116CaF704549867142541">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Optimism</td><td><a href="https://optimistic.etherscan.io/address/0x564a0c04877e4ca6f5d0cad8c20522226321d9b0">link</a></td><td><a href="https://optimistic.etherscan.io/address/0xac8f44ceca92b2a4b30360e5bd3043850a0ffcbe">link</a></td><td><a href="https://optimistic.etherscan.io/address/0xf370D9Ed0141207e81321158393Eea5D8a50CC72">link</a></td><td><a href="https://optimistic.etherscan.io/address/0x1B86074274067133CABecBD882519a7e7af69178">link</a></td><td><a href="https://optimistic.etherscan.io/address/0xfa43DE785dd3Cd0ef3dAE0dD2b8bE3F1B5112d1a">link</a></td><td><a href="https://optimistic.etherscan.io/address/0x5571E37EC0a44019350880944E3619934A8fDbB9">link</a></td><td><a href="https://optimistic.etherscan.io/address/0x5cF21A9899e679448284427C0Baca807fAd6bB8F">link</a></td><td><a href="https://optimistic.etherscan.io/address/0x4400671b8238B5E0c7c9d7572746d236cd292845">link</a></td><td><a href="https://optimistic.etherscan.io/address/0xfA843add03F881304AF116CaF704549867142541">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/address/0x564a0c04877e4ca6f5d0cad8c20522226321d9b0">link</a></td><td><a href="https://arbiscan.io/address/0xac8f44ceca92b2a4b30360e5bd3043850a0ffcbe">link</a></td><td><a href="https://arbiscan.io/address/0xf370D9Ed0141207e81321158393Eea5D8a50CC72">link</a></td><td><a href="https://arbiscan.io/address/0x1B86074274067133CABecBD882519a7e7af69178">link</a></td><td><a href="https://arbiscan.io/address/0xfa43DE785dd3Cd0ef3dAE0dD2b8bE3F1B5112d1a">link</a></td><td><a href="https://arbiscan.io/address/0x5571E37EC0a44019350880944E3619934A8fDbB9">link</a></td><td><a href="https://arbiscan.io/address/0x5cF21A9899e679448284427C0Baca807fAd6bB8F">link</a></td><td><a href="https://arbiscan.io/address/0x4400671b8238B5E0c7c9d7572746d236cd292845">link</a></td><td><a href="https://arbiscan.io/address/0x68Fc274B9d9E2Baddc19492f512460F962639b4d">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Fantom</td><td><a href="https://ftmscan.com/address/0x564a0c04877e4ca6f5d0cad8c20522226321d9b0">link</a></td><td><a href="https://ftmscan.com/address/0xac8f44ceca92b2a4b30360e5bd3043850a0ffcbe">link</a></td><td><a href="https://ftmscan.com/address/0xf370D9Ed0141207e81321158393Eea5D8a50CC72">link</a></td><td><a href="https://ftmscan.com/address/0x1B86074274067133CABecBD882519a7e7af69178">link</a></td><td><a href="https://ftmscan.com/address/0xfa43DE785dd3Cd0ef3dAE0dD2b8bE3F1B5112d1a">link</a></td><td><a href="https://ftmscan.com/address/0x5571E37EC0a44019350880944E3619934A8fDbB9">link</a></td><td><a href="https://ftmscan.com/address/0x5cF21A9899e679448284427C0Baca807fAd6bB8F">link</a></td><td><a href="https://ftmscan.com/address/0x4400671b8238B5E0c7c9d7572746d236cd292845">link</a></td><td></td><td><a href="https://ftmscan.com/address/0x191a24c7288C3EBd70f59d72eAC3f4E727B77b97">link</a></td><td><a href="https://ftmscan.com/address/0xb756a5e201ea23133825a330d519655612d47578">link</a></td><td><a href="https://ftmscan.com/address/0x924417C779Ab9eEF694823e6295CE0cf45F36356">link</a></td><td><a href="https://ftmscan.com/address/0xd562AC34D2C1E09AC3024547865Cc45499B74793">link</a></td><td><a href="https://ftmscan.com/address/0x306E1bE1583C3a176AC960299E366738fAF3B98B">link</a></td><td><a href="https://ftmscan.com/address/0xD7D2cfd4e4e82e72f10122DD443EA0793ec62CF5">link</a></td><td><a href="https://ftmscan.com/address/0x7e07469e48a5abf471c6a2358b728bd4eefd4f69">link</a></td></tr><tr><td>Base</td><td><a href="https://basescan.org/address/0x78C9730279b3256655FeC668644bA9e97e461005">link</a></td><td><a href="https://basescan.org/address/0xac8f44ceca92b2a4b30360e5bd3043850a0ffcbe">link</a></td><td><a href="https://basescan.org/address/0xf370d9ed0141207e81321158393eea5d8a50cc72">link</a></td><td><a href="https://basescan.org/address/0x1b86074274067133cabecbd882519a7e7af69178">link</a></td><td><a href="https://basescan.org/address/0xA2A786ff9148f7C88EE93372Db8CBe9e94585c74">link</a></td><td><a href="https://basescan.org/address/0x5571E37EC0a44019350880944E3619934A8fDbB9">link</a></td><td><a href="https://basescan.org/address/0x5cf21a9899e679448284427c0baca807fad6bb8f">link</a></td><td><a href="https://basescan.org/address/0x4400671b8238b5e0c7c9d7572746d236cd292845">link</a></td><td><a href="https://basescan.org/address/0xfa843add03f881304af116caf704549867142541">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Gnosis</td><td><a href="https://gnosisscan.io/address/0x78C9730279b3256655FeC668644bA9e97e461005">link</a></td><td><a href="https://gnosisscan.io/address/0xac8f44ceca92b2a4b30360e5bd3043850a0ffcbe">link</a></td><td><a href="https://gnosisscan.io/address/0xf370d9ed0141207e81321158393eea5d8a50cc72">link</a></td><td><a href="https://gnosisscan.io/address/0x1b86074274067133cabecbd882519a7e7af69178">link</a></td><td><a href="https://gnosisscan.io/address/0xA2A786ff9148f7C88EE93372Db8CBe9e94585c74">link</a></td><td><a href="https://gnosisscan.io/address/0x5571E37EC0a44019350880944E3619934A8fDbB9">link</a></td><td><a href="https://gnosisscan.io/address/0x5cf21a9899e679448284427c0baca807fad6bb8f">link</a></td><td><a href="https://gnosisscan.io/address/0x4400671b8238b5e0c7c9d7572746d236cd292845">link</a></td><td><a href="https://gnosisscan.io/address/0xfa843add03f881304af116caf704549867142541">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Mantle</td><td><a href="https://mantlescan.xyz/address/0x78C9730279b3256655FeC668644bA9e97e461005">link</a></td><td><a href="https://explorer.mantle.xyz/address/0xac8f44ceca92b2a4b30360e5bd3043850a0ffcbe">link</a></td><td><a href="https://explorer.mantle.xyz/address/0xf370D9Ed0141207e81321158393Eea5D8a50CC72">link</a></td><td><a href="https://explorer.mantle.xyz/address/0x1B86074274067133CABecBD882519a7e7af69178">link</a></td><td><a href="https://mantlescan.xyz/address/0xA2A786ff9148f7C88EE93372Db8CBe9e94585c74">link</a></td><td><a href="https://mantlescan.xyz/address/0x5571E37EC0a44019350880944E3619934A8fDbB9">link</a></td><td><a href="https://explorer.mantle.xyz/address/0x5cF21A9899e679448284427C0Baca807fAd6bB8F">link</a></td><td><a href="https://explorer.mantle.xyz/address/0x4400671b8238B5E0c7c9d7572746d236cd292845">link</a></td><td><a href="https://explorer.mantle.xyz/address/0xfA843add03F881304AF116CaF704549867142541">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Blast</td><td><a href="https://blastscan.io/address/0x78C9730279b3256655FeC668644bA9e97e461005">link</a></td><td><a href="https://blastscan.io/address/0xac8f44ceca92b2a4b30360e5bd3043850a0ffcbe">link</a></td><td><a href="https://blastscan.io/address/0xf370D9Ed0141207e81321158393Eea5D8a50CC72">link</a></td><td><a href="https://blastscan.io/address/0x1B86074274067133CABecBD882519a7e7af69178">link</a></td><td><a href="https://blastscan.io/address/0xA2A786ff9148f7C88EE93372Db8CBe9e94585c74">link</a></td><td><a href="https://blastscan.io/address/0x5571E37EC0a44019350880944E3619934A8fDbB9">link</a></td><td><a href="https://blastscan.io/address/0x5cF21A9899e679448284427C0Baca807fAd6bB8F">link</a></td><td><a href="https://blastscan.io/address/0x4400671b8238B5E0c7c9d7572746d236cd292845">link</a></td><td><a href="https://blastscan.io/address/0xfA843add03F881304AF116CaF704549867142541">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Linea</td><td><a href="https://lineascan.build/address/0x78C9730279b3256655FeC668644bA9e97e461005">link</a></td><td><a href="https://lineascan.build/address/0xac8f44ceca92b2a4b30360e5bd3043850a0ffcbe">link</a></td><td><a href="https://lineascan.build/address/0xf370D9Ed0141207e81321158393Eea5D8a50CC72">link</a></td><td><a href="https://lineascan.build/address/0x1B86074274067133CABecBD882519a7e7af69178">link</a></td><td><a href="https://lineascan.build/address/0xA2A786ff9148f7C88EE93372Db8CBe9e94585c74">link</a></td><td><a href="https://lineascan.build/address/0x5571E37EC0a44019350880944E3619934A8fDbB9">link</a></td><td><a href="https://lineascan.build/address/0x5cF21A9899e679448284427C0Baca807fAd6bB8F">link</a></td><td><a href="https://lineascan.build/address/0x4400671b8238B5E0c7c9d7572746d236cd292845">link</a></td><td><a href="https://lineascan.build/address/0xfA843add03F881304AF116CaF704549867142541">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Taiko</td><td><a href="https://taikoscan.io/address/0x78C9730279b3256655FeC668644bA9e97e461005">link</a></td><td><a href="https://taikoscan.io/address/0xac8f44ceca92b2a4b30360e5bd3043850a0ffcbe">link</a></td><td><a href="https://taikoscan.io/address/0xf370D9Ed0141207e81321158393Eea5D8a50CC72">link</a></td><td><a href="https://taikoscan.io/address/0x1B86074274067133CABecBD882519a7e7af69178">link</a></td><td><a href="https://taikoscan.io/address/0xA2A786ff9148f7C88EE93372Db8CBe9e94585c74">link</a></td><td><a href="https://taikoscan.io/address/0x5571E37EC0a44019350880944E3619934A8fDbB9">link</a></td><td><a href="https://taikoscan.io/address/0x5cF21A9899e679448284427C0Baca807fAd6bB8F">link</a></td><td><a href="https://taikoscan.io/address/0x4400671b8238B5E0c7c9d7572746d236cd292845">link</a></td><td><a href="https://taikoscan.io/address/0xfA843add03F881304AF116CaF704549867142541">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Unit0</td><td><a href="https://explorer.unit0.dev/address/0x78C9730279b3256655FeC668644bA9e97e461005">link</a></td><td><a href="https://explorer.unit0.dev/address/0xAc8f44ceCa92b2a4b30360E5bd3043850a0FFcbE">link</a></td><td><a href="https://explorer.unit0.dev/address/0xf370D9Ed0141207e81321158393Eea5D8a50CC72">link</a></td><td><a href="https://explorer.unit0.dev/address/0x1B86074274067133CABecBD882519a7e7af69178">link</a></td><td><a href="https://explorer.unit0.dev/address/0xA2A786ff9148f7C88EE93372Db8CBe9e94585c74">link</a></td><td><a href="https://explorer.unit0.dev/address/0x5571E37EC0a44019350880944E3619934A8fDbB9">link</a></td><td><a href="https://explorer.unit0.dev/address/0x5cF21A9899e679448284427C0Baca807fAd6bB8F">link</a></td><td><a href="https://explorer.unit0.dev/address/0x4400671b8238B5E0c7c9d7572746d236cd292845">link</a></td><td><a href="https://explorer.unit0.dev/address/0xfA843add03F881304AF116CaF704549867142541">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Celo</td><td><a href="https://celoscan.io/address/0x78c9730279b3256655fec668644ba9e97e461005">link</a></td><td><a href="https://celoscan.io/address/0xac8f44ceca92b2a4b30360e5bd3043850a0ffcbe">link</a></td><td><a href="https://celoscan.io/address/0xf370d9ed0141207e81321158393eea5d8a50cc72">link</a></td><td><a href="https://celoscan.io/address/0x1b86074274067133cabecbd882519a7e7af69178">link</a></td><td><a href="https://celoscan.io/address/0xa2a786ff9148f7c88ee93372db8cbe9e94585c74">link</a></td><td><a href="https://celoscan.io/address/0x5571e37ec0a44019350880944e3619934a8fdbb9">link</a></td><td><a href="https://celoscan.io/address/0x5cf21a9899e679448284427c0baca807fad6bb8f">link</a></td><td><a href="https://celoscan.io/address/0x4400671b8238b5e0c7c9d7572746d236cd292845">link</a></td><td><a href="https://celoscan.io/address/0xfa843add03f881304af116caf704549867142541">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Fraxtal</td><td><a href="https://fraxscan.com/address/0x78c9730279b3256655fec668644ba9e97e461005">link</a></td><td><a href="https://fraxscan.com/address/0xac8f44ceca92b2a4b30360e5bd3043850a0ffcbe">link</a></td><td><a href="https://fraxscan.com/address/0xf370d9ed0141207e81321158393eea5d8a50cc72">link</a></td><td><a href="https://fraxscan.com/address/0x1b86074274067133cabecbd882519a7e7af69178">link</a></td><td><a href="https://fraxscan.com/address/https://fraxscan.com/address/0xa2a786ff9148f7c88ee93372db8cbe9e94585c74">link</a></td><td><a href="https://fraxscan.com/address/0x5571e37ec0a44019350880944e3619934a8fdbb9">link</a></td><td><a href="https://fraxscan.com/address/0x5cf21a9899e679448284427c0baca807fad6bb8f">link</a></td><td><a href="https://fraxscan.com/address/0x4400671b8238b5e0c7c9d7572746d236cd292845">link</a></td><td><a href="https://fraxscan.com/address/0xfa843add03f881304af116caf704549867142541">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Kava</td><td><a href="https://kavascan.com/address/0x78C9730279b3256655FeC668644bA9e97e461005">link</a></td><td><a href="https://kavascan.com/address/0xAc8f44ceCa92b2a4b30360E5bd3043850a0FFcbE">link</a></td><td><a href="https://kavascan.com/address/0xf370D9Ed0141207e81321158393Eea5D8a50CC72">link</a></td><td><a href="https://kavascan.com/address/0x1B86074274067133CABecBD882519a7e7af69178">link</a></td><td><a href="https://kavascan.com/address/0xA2A786ff9148f7C88EE93372Db8CBe9e94585c74">link</a></td><td><a href="https://kavascan.com/address/0x5571E37EC0a44019350880944E3619934A8fDbB9">link</a></td><td><a href="https://kavascan.com/address/0x5cF21A9899e679448284427C0Baca807fAd6bB8F">link</a></td><td><a href="https://kavascan.com/address/0x4400671b8238B5E0c7c9d7572746d236cd292845">link</a></td><td><a href="https://kavascan.com/address/0xfA843add03F881304AF116CaF704549867142541">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Metis</td><td><a href="https://explorer.metis.io/address/0x78C9730279b3256655FeC668644bA9e97e461005">link</a></td><td><a href="https://explorer.metis.io/address/0xAc8f44ceCa92b2a4b30360E5bd3043850a0FFcbE">link</a></td><td><a href="https://explorer.metis.io/address/0xf370D9Ed0141207e81321158393Eea5D8a50CC72">link</a></td><td><a href="https://explorer.metis.io/address/0x1B86074274067133CABecBD882519a7e7af69178">link</a></td><td><a href="https://explorer.metis.io/address/0xA2A786ff9148f7C88EE93372Db8CBe9e94585c74">link</a></td><td><a href="https://explorer.metis.io/address/0x5571E37EC0a44019350880944E3619934A8fDbB9">link</a></td><td><a href="https://explorer.metis.io/address/0x5cF21A9899e679448284427C0Baca807fAd6bB8F">link</a></td><td><a href="https://explorer.metis.io/address/0x4400671b8238B5E0c7c9d7572746d236cd292845">link</a></td><td><a href="https://explorer.metis.io/address/0xfA843add03F881304AF116CaF704549867142541">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Mode</td><td><a href="https://modescan.io/address/0x78C9730279b3256655FeC668644bA9e97e461005">link</a></td><td><a href="https://modescan.io/address/0xAc8f44ceCa92b2a4b30360E5bd3043850a0FFcbE">link</a></td><td><a href="https://modescan.io/address/0xf370D9Ed0141207e81321158393Eea5D8a50CC72">link</a></td><td><a href="https://modescan.io/address/0x1B86074274067133CABecBD882519a7e7af69178">link</a></td><td><a href="https://modescan.io/address/0xA2A786ff9148f7C88EE93372Db8CBe9e94585c74">link</a></td><td><a href="https://modescan.io/address/0x5571E37EC0a44019350880944E3619934A8fDbB9">link</a></td><td><a href="https://modescan.io/address/0x5cF21A9899e679448284427C0Baca807fAd6bB8F">link</a></td><td><a href="https://modescan.io/address/0x4400671b8238B5E0c7c9d7572746d236cd292845">link</a></td><td><a href="https://modescan.io/address/0xfA843add03F881304AF116CaF704549867142541">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Sonic</td><td><a href="https://sonicscan.org/address/0x78c9730279b3256655fec668644ba9e97e461005">link</a></td><td><a href="https://sonicscan.org/address/0xAc8f44ceCa92b2a4b30360E5bd3043850a0FFcbE">link</a></td><td><a href="https://sonicscan.org/address/0xf370D9Ed0141207e81321158393Eea5D8a50CC72">link</a></td><td><a href="https://sonicscan.org/address/0x1B86074274067133CABecBD882519a7e7af69178">link</a></td><td><a href="https://sonicscan.org/address/0xA2A786ff9148f7C88EE93372Db8CBe9e94585c74">link</a></td><td><a href="https://sonicscan.org/address/0x5571E37EC0a44019350880944E3619934A8fDbB9">link</a></td><td><a href="https://sonicscan.org/address/0x5cF21A9899e679448284427C0Baca807fAd6bB8F">link</a></td><td><a href="https://sonicscan.org/address/0x4400671b8238B5E0c7c9d7572746d236cd292845">link</a></td><td><a href="https://sonicscan.org/address/0xfA843add03F881304AF116CaF704549867142541">link</a></td><td></td><td></td><td></td><td></td><td></td><td><a href="https://sonicscan.org/address/0xb0afa681ead9219d25c57bd17bb207a3afcc4aa1">link</a></td><td></td></tr><tr><td>Manta</td><td><a href="https://pacific-explorer.manta.network/address/0x78C9730279b3256655FeC668644bA9e97e461005">link</a></td><td><a href="https://pacific-explorer.manta.network/address/0xAc8f44ceCa92b2a4b30360E5bd3043850a0FFcbE">link</a></td><td><a href="https://pacific-explorer.manta.network/address/0xf370D9Ed0141207e81321158393Eea5D8a50CC72">link</a></td><td><a href="https://pacific-explorer.manta.network/address/0x1B86074274067133CABecBD882519a7e7af69178">link</a></td><td><a href="https://pacific-explorer.manta.network/address/0xA2A786ff9148f7C88EE93372Db8CBe9e94585c74">link</a></td><td><a href="https://pacific-explorer.manta.network/address/0x5571E37EC0a44019350880944E3619934A8fDbB9">link</a></td><td><a href="https://pacific-explorer.manta.network/address/0x5cF21A9899e679448284427C0Baca807fAd6bB8F">link</a></td><td><a href="https://pacific-explorer.manta.network/address/0x4400671b8238B5E0c7c9d7572746d236cd292845">link</a></td><td><a href="https://pacific-explorer.manta.network/address/0xfA843add03F881304AF116CaF704549867142541">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>Description</strong></td><td></td><td>same as v1.5</td><td>same as v1.5</td><td>same as v1.5</td><td>v 2.51 (celo)</td><td></td><td>same as v1</td><td>same as v1</td><td>same as v2</td><td>xCRVUSDC</td><td>x3CRYPTO</td><td>xCRVUSDT</td><td>xSTABLE</td><td>xBTC</td><td>xSTABLE2</td><td></td></tr></tbody></table>

<table data-full-width="true"><thead><tr><th>Chain\Name</th><th>Adapter (stable1) 	</th><th>Adapter (stable1) 	</th><th>Adapter (stable2)</th><th>Adapter (stable2)</th><th>Adapter (stable2)</th><th>Adapter (stable3)</th><th>Adapter (stable4)</th><th>Adapter (crypto1)</th><th>Adapter (crypto1)</th><th>Adapter (crypto4)</th><th>Adapter (crypto4)</th><th>Adapter (crypto5)</th><th>Adapter (crypto6)</th><th>Adapter (crypto7)</th><th>Adapter (meta1)</th></tr></thead><tbody><tr><td>Ethereum</td><td><a href="https://etherscan.io/address/0xd124Fba8A0a78967b159E6327D489f12A6DF842D">link</a></td><td><a href="https://etherscan.io/address/0x6c3f90f043a72fa612cbac8115ee7e52bde6e490">LP</a></td><td><a href="https://etherscan.io/address/0x36700B487A65a33cDF0E3842Dd255d11c11b9405">link</a></td><td></td><td></td><td></td><td><a href="https://etherscan.io/address/0x06bbaFB1BCe612F80B79105E61E615219875Da20">link</a></td><td><a href="https://etherscan.io/address/0x4a016989d71240ab0717dC2337F0D6EbdB513CeC">link</a></td><td><a href="https://etherscan.io/address/0x170f5848d7525780af948aC2f9C4498450701450">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>BNB</td><td></td><td></td><td></td><td></td><td></td><td></td><td><a href="https://bscscan.com/address/0x640ab0310dE69Fd4E825247feB339f92Da20C7d2">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Polygon</td><td></td><td></td><td></td><td></td><td></td><td><a href="https://polygonscan.com/address/0xb6dB0c9f97CD83aBa6458b1DfF71690F5fcB99C2">link</a></td><td><a href="https://polygonscan.com/address/0x4a016989d71240ab0717dC2337F0D6EbdB513CeC">link</a></td><td></td><td><a href="https://polygonscan.com/address/0x0D1CBc29141E3956FdA15Cc499d14150b2A250F5">link</a></td><td></td><td></td><td><a href="https://polygonscan.com/address/0xEFa49569BC9e2F95802641E39BC208fd60F9a2b3">link</a></td><td></td><td></td><td><a href="https://polygonscan.com/address/0x7ca38D2bf161263b367A4aAEedf063F98cDCda62">link</a></td></tr><tr><td>Avalanche</td><td></td><td></td><td><a href="https://snowscan.xyz/address/0x805aA9225dC2818c2248256CE46456c1B51Eae07">link</a></td><td><a href="https://snowscan.xyz/address/0x8bee8a7eadb3dae5f4498627ad5f0f5329940225">link</a></td><td></td><td><a href="https://snowscan.xyz/address/0x20a833ef541788932b49522c7f4ed335a79515b9">link</a></td><td></td><td></td><td><a href="https://snowscan.xyz/address/0x7388E980e717e397891Ba1AabA0d5B0812d55826">link</a></td><td></td><td></td><td></td><td></td><td></td><td><a href="https://snowscan.xyz/address/0x31F88E058DfFE3D216E61B094d02649Bd00160c9">link</a></td></tr><tr><td>Optimism</td><td></td><td></td><td><a href="https://optimistic.etherscan.io/address/0xb567AB740E41F30d530722D50FC83a3603ee67c0">link</a></td><td><a href="https://optimistic.etherscan.io/address/0x640ab0310dE69Fd4E825247feB339f92Da20C7d2">link</a></td><td></td><td></td><td><a href="https://optimistic.etherscan.io/address/0x0ECD8bfdABd6005c9F325f222E1f6427E4db39e1">link</a></td><td></td><td></td><td><a href="https://optimistic.etherscan.io/address/0xFf9DBd6ec69B950Ee6bb04ACbfA83Da4d3e3A5A7">link</a></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Arbitrum</td><td></td><td></td><td><a href="https://arbiscan.io/address/0xda1A6C9a431062909E84aAE97D999de32BbFACe8">link</a></td><td></td><td></td><td></td><td><a href="https://arbiscan.io/address/0x05F4f0fbE800758637C6e8c97F641FEa03437948">link</a></td><td><a href="https://arbiscan.io/address/0x3106047D9E3c39F9d982BDd83036166c7A50E4b6">link</a></td><td></td><td><a href="https://arbiscan.io/address/0xa6062214b07eA1Fb384CaeA20BF2c692064AD4D4">link</a></td><td><a href="https://arbiscan.io/address/0xEf4f5E58E67AFCa010Df69a605935f6D073c1E56">link</a></td><td></td><td><a href="https://arbiscan.io/address/0x01aa1BDd140163B37c48e6A198565A7D44c42051">link</a></td><td></td><td></td></tr><tr><td>Fantom</td><td></td><td></td><td></td><td></td><td></td><td></td><td><a href="https://web3.okx.com/explorer/fantom/address/0xdcf4ce2b394de339268e93cdd8bb0d58b59a243d">link</a></td><td></td><td></td><td></td><td><a href="https://ftmscan.com/address/0x9e35c0AFD2F40892a548BdE54Ae9cf77c5Ac787a">link</a></td><td></td><td></td><td></td><td></td></tr><tr><td>Base</td><td></td><td></td><td></td><td></td><td><a href="https://basescan.org/address/0x003FBE065365CC8DC5c75E3b17Ffd2833b5d3573">link</a></td><td></td><td><a href="https://basescan.org/address/0x0ECD8bfdABd6005c9F325f222E1f6427E4db39e1">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Gnosis</td><td><a href="https://gnosisscan.io/address/0x640ab0310dE69Fd4E825247feB339f92Da20C7d2">link</a></td><td><a href="https://gnosisscan.io/address/0x1337bedc9d22ecbe766df105c9623922a27963ec">LP</a></td><td></td><td></td><td></td><td></td><td><a href="https://gnosisscan.io/address/0x0ECD8bfdABd6005c9F325f222E1f6427E4db39e1">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td><a href="https://gnosisscan.io/address/0xb567AB740E41F30d530722D50FC83a3603ee67c0">link</a></td><td></td></tr><tr><td>Taiko</td><td></td><td></td><td></td><td></td><td></td><td></td><td><a href="https://taikoscan.io/address/0x41570Ded7c0570cC5aa8943e237ddDB2562C1211">link</a></td><td></td><td></td><td><a href="https://taikoscan.io/address/0x9D791936f297cF36f18F41b49F64EC4ee94f483D">link</a></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Celo</td><td></td><td></td><td></td><td></td><td></td><td></td><td><a href="https://celoscan.io/address/0xa43020B5eAbefE05C22e3C61D6896046b88228C9">link</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Fraxtal</td><td></td><td></td><td></td><td></td><td></td><td></td><td><a href="https://fraxscan.com/address/0x85d94bc66De18937BA930f0190E395eF207b664e">link</a></td><td></td><td></td><td><a href="https://fraxscan.com/address/0xeaaB70d68b14FFEd5b93Fe85872fA2725b9eEdC0">link</a></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Sonic</td><td></td><td></td><td></td><td></td><td></td><td></td><td><a href="https://sonicscan.org/address/0x640ab0310de69fd4e825247feb339f92da20c7d2">link</a></td><td></td><td></td><td></td><td><a href="https://sonicscan.org/address/0xAc86177B61b809F98caf94a96DBed01271AbF4bA">link</a></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>Description</strong></td><td>n: 3</td><td>n: 3</td><td>n: 2</td><td>n: 3</td><td>n: 4</td><td>Aave, n: 3</td><td>stableNG/cryptoNG</td><td></td><td></td><td>n: 3</td><td>n: 2</td><td></td><td></td><td>n: 2</td><td>zap</td></tr></tbody></table>

<br>


# Guide for Developers


# CrossCurve Consensus Bridge

## Overview

**CrossCurve Consensus Bridge** (**CCB**) is a cross-chain communication protocol that enables reliable data and asset transfers between networks without relying on centralized intermediaries.

The system is built on a consensus mechanism among independent cross-chain messaging services, ensuring the authenticity of cross-chain messages received on the destination network.

The goal of **CCB** is to provide developers with a secure way to connect their **dApps**, **DeFi protocols**, **DAOs**, and **Infrastructure Services** to a multi-network ecosystem using a standardized **API** and a minimal set of dependencies.

## Architecture

### Basic cross-chain schema

<figure><img src="/files/l6U4vZDWthyvdFcWfG7w" alt=""><figcaption></figcaption></figure>

The fundamental model of cross-chain interaction has been used in various forms for quite some time.

In **blockchain A**, a contract calls a bridge contract function to send data to **blockchain B**. The bridge contract emits an event, which is picked up by its off-chain service. This service then creates a transaction containing the necessary data for the corresponding bridge contract on **blockchain B**. Upon receiving the transaction, the bridge contract verifies its validity and then invokes the target contract function, passing along the data received from **blockchain A**.

One of the core challenges lies in the fact that the bridge service operates outside the blockchain environment and therefore cannot be verified on-chain. Different bridge protocols address this issue in different ways.

**CrossCurve Consensus Bridge**, however, introduces a more comprehensive approach. It is not meant to replace existing protocols - instead, it integrates and leverages their mechanisms, creating a unified and verifiable cross-chain communication layer.

### Consensus Bridge schema

<figure><img src="/files/lOQDUl9t9bJJwzQBrazv" alt=""><figcaption></figcaption></figure>

* The sender initiates a message in the source network by calling the **CrossCurve Gatekeeper** contract.
* Depending on the destination chain, the **Gatekeeper** prepares and executes parallel message dispatches through multiple supported protocols. One of these protocols transmits the full message payload, while the others send verification proofs to confirm message authenticity.
* Each protocol, following its standard cross-chain messaging process, independently delivers its data to the **CrossCurve Receiver** contract in the destination network.
* The Receiver collects the received message instances and emits events as they arrive.
* The external service **CrossCurve Pusher** monitors these events. Once the original message and a sufficient number of verification confirmations are detected, it submits an execution transaction to the **CrossCurve Receiver** contract.
* Upon receiving the transaction from **CrossCurve Pusher**, the **Receiver** verifies the existence of the original message and all required confirmations from other protocols.
* If validation is successful, the verified message is then delivered to its designated recipient.

## Advantages

#### Security

**CrossCurve Consensus Bridge** provides a truly secure mechanism for cross-chain messaging.

Its minimal configuration requires three sovereign cross-chain protocols.

Even in this base setup, an attacker would need to gain simultaneous control over at least two out of the three protocols to compromise a message — making unauthorized interference practically infeasible.

#### Censorship Resistance

Decentralization is one of the most effective defenses against censorship.

However, in many cross-chain systems, services are often built on specific infrastructure stacks, which introduces potential points of control and censorship.

**CrossCurve Consensus Bridge** eliminates this issue by leveraging sovereign protocols that operate independently from one another.

For an adversary to block or alter message delivery through the bridge, they would need to control more than 50% of the protocols participating in the message channel (in the minimal setup, that means controlling two out of three).

#### Resilience

The consensus of independent protocols ensures not only security but also fault tolerance in message transmission. Even in its minimal configuration, if one of the three protocols becomes temporarily unavailable, the remaining two are sufficient to keep the **CrossCurve Consensus Bridge** fully operational.

In the rare event of a deadlock — when one or more bridges within the consensus experience prolonged downtime, potentially locking assets that relied on the consensus bridge — the situation remains recoverable. The [**CrossCurve DAO**](https://docs.crosscurve.fi/crosscurve-dao/overview-of-crosscurve-dao#voting-rights-and-dao-decision-making) can replace the affected protocols in the consensus bridge of the impacted chain by approving a dedicated governance proposal.

## Governance Protection

The **CrossCurve Consensus Bridge** is engineered for maximum security through the use of consensus among independent bridge protocols for data transmission.

Yet even the most secure systems can face potential vulnerabilities. The most common vector of attack targets governance mechanisms — an adversary might attempt to alter the composition of participating bridges, making it easier to compromise a single one.

In **CrossCurve Consensus Bridge**, such a scenario is structurally impossible.

Bridge configuration across all chain pairs is managed exclusively by the **CrossCurve DAO**. Any modification requires explicit community approval. The voting process lasts 7 days, and even after a proposal passes, the new configuration takes effect only after 24 hours, providing an additional safeguard and ensuring transparent governance.

This underlines the critical role of the **CrossCurve DAO** in maintaining decentralization across cross-chain messaging.

We believe that greater decentralization and resilience can be achieved when ecosystem participants — those advocating for transparency, stability, and security — become active members of the **CrossCurve DAO**. Their participation strengthens governance integrity and makes malicious decisions significantly harder to pass.

## Capabilities

#### Cross-Chain Messaging

This is the foundation for building advanced cross-chain applications.

Through the **Consensus Bridge**, **dApps** gain a reliable communication layer between their instances deployed across different blockchains - or with **APIs** of other applications operating in separate networks.

#### Cross-Chain Token Transfers

Cross-chain token transfer applications using any combination of lock/mint or burn/mint models can rely on the **Consensus Bridge** as a trustless verification layer.

It provides accurate and verifiable information about token locking, minting, unlocking, or burning events across different blockchains.

#### Foundation for SuperDVN

The **Consensus Bridge** integrates seamlessly into the **LayerZero** cross-chain verification system.

This is achieved through a wrapper module called **SuperDVN**, which externally behaves like a **standard DVN** but internally performs multi-protocol consensus verification for enhanced security and reliability.

## Supported Protocols

Currently, the **CrossCurve Consensus Bridge** supports the following messaging protocols:

* **CrossCurve Oracle Network**
* [**Layer Zero**](https://layerzero.network/)
* [**Axelar**](https://www.axelar.network/)
* [**Router Protocol**](https://www.routerprotocol.com/)

## Integration and Connection

The integration with the **Consensus Bridge** is planned to be permissionless.&#x20;However, the protocol is currently operating in an experimental mode.&#x20;If you’d like to connect, please contact us <vc@eywa.fi>

To send a message to a recipient on another chain, you need to:

1. Prepare the **calldata** for the target contract function with the required parameters.
2. Call the **sendData** function on the **CrossCurve Gatekeeper** contract:

```solidity
sendData(
        bytes calldata data,
        bytes32 to,
        uint64 chainIdTo,
        bytes[] memory currentOptions
    ) external nonReentrant returns(uint256 fee)
```

## Contracts

To configure the bridge, use the following contract addresses.

{% hint style="success" %}
*For proper operation, the contracts must be deployed on both the source and destination blockchains.*
{% endhint %}

| Network                       | CrossCurve Receiver Address                                                                                                         | CrossCurve Gatekeeper Address                                                                                                       |
| ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| Ethereum Sepolia Testnet      | [0xE98Fd4eF563dCDfC535755f1FBCC0942a8e63517](https://sepolia.etherscan.io/address/0xE98Fd4eF563dCDfC535755f1FBCC0942a8e63517#code)  | [0xAB2f5D5A675F9004FEfcA7DC462e3C919a03E892](https://sepolia.etherscan.io/address/0xAB2f5D5A675F9004FEfcA7DC462e3C919a03E892#code)  |
| Arbitrum Sepolia Testnet      | [0x962EDA2C1b103539cC13eF28951274d21291BC68](https://sepolia.arbiscan.io/address/0x962EDA2C1b103539cC13eF28951274d21291BC68#code)   | [0xde6724F8E4Ce4698c0096c58554e44F8aCE28600](https://sepolia.arbiscan.io/address/0xde6724F8E4Ce4698c0096c58554e44F8aCE28600#code)   |
| BNB Smart Chain (BSC) Testnet | [0xC07642337453820d51Bc60D7f39A53B202E691b8](https://testnet.bscscan.com/address/0xC07642337453820d51Bc60D7f39A53B202E691b8#code)   | [0xFA36e2B52b8a21347eB6c46401b210D547e7a4cA](https://testnet.bscscan.com/address/0xFA36e2B52b8a21347eB6c46401b210D547e7a4cA#code)   |
| Sonic Testnet                 | [0x1992D29b2251F85A3f46B9da95b3A9DdD31CaED1](https://testnet.sonicscan.org/address/0x1992D29b2251F85A3f46B9da95b3A9DdD31CaED1#code) | [0x3619F7DA7e8Cc2A6E264d351d2D9a2CD36894063](https://testnet.sonicscan.org/address/0x3619F7DA7e8Cc2A6E264d351d2D9a2CD36894063#code) |


# CrossCurve SuperDVN

## Overview

**CrossCurve SuperDVN** is a verification module (**DVN**, **Decentralized Verification Network**) compatible with the **LayerZero** [**DVN** **standard**](https://medium.com/layerzero-official/layerzero-v2-explaining-dvns-02e08cce4e80). It leverages the **CrossCurve Consensus Bridge** as its internal mechanism for cross-chain message verification and transmission.

**SuperDVN** serves as a sovereign data verification layer for cross-chain applications, providing a decentralized, secure, and resilient environment for communication between blockchains.

## Architecture

**LayerZero** uses **DVNs** to achieve decentralized verification of cross-chain message transfers. However, ensuring robust security requires two or more independent **DVNs**.

For developers, **SuperDVN** appears as a single **DVN**, but internally it contains a consensus layer composed of multiple messaging protocols, combining their verification capabilities for enhanced reliability and trustlessness.

<figure><img src="/files/x6dXb6OPlMZ970dALdhc" alt=""><figcaption></figcaption></figure>

#### Message Flow:

* The **OApp** application sends a message on the source network to the **LayerZero** [**Endpoint contract**](https://docs.layerzero.network/v2/concepts/protocol/layerzero-endpoint).
* The **LayerZero protocol** processes the message in its standard way and forwards it for verification to the **CrossCurve DVN** contract.
* The **CrossCurve DVN** prepares and sends the verification data to the **CrossCurve Gatekeeper**.
* The **Gatekeeper** dispatches this data through multiple messaging protocols.
* Each protocol, following its standard cross-chain messaging procedure, independently delivers the data to the **CrossCurve Receiver** contract.
* The **Receiver** collects the incoming message instances and emits events upon receipt.
* The external service **CrossCurve Pusher** monitors these events. Once the original message and a sufficient number of verification confirmations are detected, it submits an execution transaction to the **CrossCurve Receiver** contract.
* Upon receiving the transaction from **CrossCurve Pusher**, the **Receiver** checks that the original message and all required protocol confirmations are present.
* If verification succeeds, the data is passed back to the **CrossCurve DVN**, which forwards the verification data to the **ReceiveLib contract** to complete the verification process and allow **LayerZero** to proceed with message delivery.

## Integration with LayerZero

**SuperDVN** is fully compliant with the **LayerZero** [**DVN Standard**](https://docs.layerzero.network/v2/concepts/modular-security/security-stack-dvns), which provides:

Ability to connect as a primary **DVN** for cross-chain messaging between networks using **LayerZero**.

Support for custom **DVN**, allowing **SuperDVN** to be used for specific applications.

Compatibility with the **LayerZero ecosystem** without the need to modify smart contracts.

## Supported Protocols

**SuperDVN** leverages **CrossCurve Consensus Bridge** to enhance verification security.

Currently, the **Consensus Bridge** supports the following messaging protocols:

* **CrossCurve Oracle Network**
* [**LayerZero**](https://layerzero.network/)
* [**Axelar**](https://www.axelar.network/)
* [**Router Protocol**](https://www.routerprotocol.com/)

## Connection and Integration

To integrate **SuperDVN** into an **OApp**, you need to configure the **ULN** as specified in the **LayerZero** [**documentation**](https://docs.layerzero.network/v2/developers/evm/configuration/dvn-executor-config).

Here is an example configuration for using a single **SuperDVN**:

**SuperDVN.address** — the address of the **SuperDVN contract** on the **OApp network** that sends the message.

```solidity
const ulnConfig = {
    confirmations: 1,
    requiredDVNCount: 1,
    optionalDVNCount: 0,
    optionalDVNThreshold: 0,
    requiredDVNs: [SuperDVN.address],
    optionalDVNs: []
  };


  const encodedUlnConfig = ethers.utils.defaultAbiCoder.encode(
    ["tuple(uint64 confirmations, uint8 requiredDVNCount, uint8 optionalDVNCount, uint8 optionalDVNThreshold, address[] requiredDVNs, address[] optionalDVNs)"],
    [ulnConfig]
  );
```

## Contracts

To configure the **OApp**, use the following contract addresses:&#x20;

<table><thead><tr><th width="320">Network</th><th>CrossCurve SuperDVN Address</th></tr></thead><tbody><tr><td>Ethereum Sepolia Testnet</td><td><a href="https://sepolia.etherscan.io/address/0xA8e6c5932fc3F0BBd4532e911BC1e14db78F35e9#code">0xA8e6c5932fc3F0BBd4532e911BC1e14db78F35e9</a></td></tr><tr><td>Arbitrum Sepolia Testnet</td><td><a href="https://sepolia.arbiscan.io/address/0x2245F56774fa53966643bCeC94F916cBd16AA854#code">0x2245F56774fa53966643bCeC94F916cBd16AA854</a></td></tr></tbody></table>




---

[Next Page](/llms-full.txt/1)

