# Cross-Chain Layer

CurveYield 2.0 uses a Frax-style LayerZero V2 OFT/adapter bridge design for yield-bearing vault assets.

CurveYield did not fork LayerZero core contracts. The bridge architecture follows the Frax LayerZero V2 pattern because it fits multi-token OFT bridging and remote messaging for vault assets better than a narrow single-token bridge path.

## Bridge model

The bridge model uses:

* **Origin chain vault token:** an adapter-style contract for the original vault token;
* **Remote chain representation:** an OFT-style token on the destination chain;
* **Deployment pattern:** one adapter/OFT pair per supported vault token;
* **Endpoint:** LayerZero V2 Endpoint on Ethereum/Base at `0x1a44076050125825900e736c501f859c50fE728c`;
* **Ethereum EID:** `30101`;
* **Base EID:** `30184`.

CurveYield wrapper contracts add fee logic and ownership/configuration controls without rewriting the underlying Frax/LayerZero design.

## Bridge fees

The bridge fee model has three parts:

1. LayerZero V2 native messaging fee from `quoteSend`.
2. Extra owner-configurable native ETH fee.
3. Owner-configurable token-denominated basis-point fee.

Prepared default values:

| Fee                  | Default            | Hard cap          |
| -------------------- | ------------------ | ----------------- |
| Extra native ETH fee | `0.001 ETH`        | `0.0025 ETH`      |
| Token fee            | `15 bps` / `0.15%` | `50 bps` / `0.5%` |

The fee recipient is configurable and belongs in DAO-approved treasury infrastructure for production routes.

## Security configuration

CurveYield's prepared LayerZero V2 ULN configuration uses a 3-of-4 DVN threshold.

Selected DVNs:

* LayerZero Labs;
* Google Cloud;
* Polyhedra zkBridge;
* Nethermind.

This means messages require agreement from three of the four selected verification networks. The selected DVNs use different operators and validation approaches, which reduces reliance on a single provider or a single security domain. Exact pathway configuration should be checked against public deployment references before using any live bridge route.

## Rate publishing for yield-bearing assets

CurveYield vault assets are not flat ERC20s. Their value depends on vault PPS and underlying asset pricing.

The bridge design includes a cross-chain oracle messaging layer:

1. The origin-chain oracle reads live vault PPS and underlying asset value.
2. The origin-chain publisher sends rate snapshots through LayerZero.
3. The remote-chain oracle stores the latest received value.
4. Remote-chain contracts can consume origin-chain PPS/value without reproducing every pricing route locally.

This allows remote chains to understand the value of bridged vault assets such as `cysdCRV`, `cysdFXN`, `cycvxCRV`, and `cysdSPECTRA` without duplicating every Ethereum or Base pricing dependency.

## Initial vault scope

Prepared bridge scope includes:

| Vault         | Planned origin direction                      |
| ------------- | --------------------------------------------- |
| `cysdCRV`     | Ethereum-origin, bridged to Base              |
| `cysdFXN`     | Ethereum-origin, bridged to Base              |
| `cycvxCRV`    | Ethereum-origin, bridged to Base              |
| `cysdSPECTRA` | Base-origin, bridged to Ethereum if activated |

## Current status

The Frax-style LayerZero V2 bridge architecture, fee-enabled wrappers, oracle messaging design, Ethereum/Base pathway configuration, and 3-of-4 DVN configuration have been prepared.

The final public bridge deployment for renamed CurveYield vault assets is marked **Designed / Pending** unless the relevant adapter/OFT pair, pathway configuration, ownership path, fee recipient, and rate oracle are listed in the public contract references.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.curveyield.com/architecture/cross-chain-layer.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
