> ## Documentation Index
> Fetch the complete documentation index at: https://voltaire.tevm.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# LayerZero

> Cross-chain messaging with LayerZero

<Warning>
  **Looking for Contributors!** This Skill needs an implementation.

  Contributing a Skill involves:

  1. Writing a reference implementation with full functionality
  2. Adding comprehensive tests
  3. Writing documentation with usage examples

  See the [ethers-provider Skill](https://github.com/evmts/voltaire/tree/main/examples/ethers-provider) for an example of a complete Skill implementation.

  Interested? Open an issue or PR at [github.com/evmts/voltaire](https://github.com/evmts/voltaire).
</Warning>

<Info>
  **Skill** — Copyable reference implementation. Use as-is or customize. See [Skills Philosophy](/concepts/skills).
</Info>

Send cross-chain messages and tokens via LayerZero V2.

## Planned Implementation

### Send Message

```typescript theme={null}
import { LayerZero } from './LayerZero.js';

const lz = LayerZero({
  provider,
  endpoint: LZ_ENDPOINT,
});

// Estimate fee
const fee = await lz.quote({
  dstEid: ARBITRUM_EID,
  message: encodedPayload,
  options: defaultOptions,
});

// Send message
await lz.send({
  dstEid: ARBITRUM_EID,
  message: encodedPayload,
  options: defaultOptions,
  fee,
  signer,
});
```

### OFT (Omnichain Fungible Token)

```typescript theme={null}
// Send tokens cross-chain
await lz.sendOFT({
  oft: OFT_ADDRESS,
  dstEid: OPTIMISM_EID,
  to: recipientAddress,
  amount: parseEther('100'),
  signer,
});
```

### Message Tracking

```typescript theme={null}
// Get message status by GUID
const status = await lz.getMessageStatus(guid);
// 'INFLIGHT' | 'DELIVERED' | 'FAILED'
```

## Resources

* [LayerZero Documentation](https://docs.layerzero.network/)
* [LayerZero V2 Contracts](https://github.com/LayerZero-Labs/LayerZero-v2)

## Related

* [chainlink](/skills/chainlink) — CCIP alternative
