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

# Contract Standards

> Developers can easily start building omnichain applications by inheriting and extending LayerZero Contract Standards that seamlessly integrate with the...

Developers can easily start building omnichain applications by inheriting and extending [LayerZero Contract Standards](../../developers/evm/overview) that seamlessly integrate with the protocol's interfaces.

LayerZero offers a suite of template contracts to expedite the development process. These templates serve as foundational blueprints for developers to build upon:

## `OApp`

The [OApp Contract Standard](../../developers/evm/oapp/overview) provides developers with a generic message passing interface to send and receive arbitrary pieces of data between contracts existing on different blockchain networks.

<img src="https://mintcdn.com/layerzero/MzSiOdXt8xlDlEr4/images/learn/ABLight.svg?fit=max&auto=format&n=MzSiOdXt8xlDlEr4&q=85&s=26159ac201830230d42dbab6e67168a9" alt="Diagram showing OApp contract standard: generic message passing interface enabling arbitrary data transfer between contracts on different blockchain networks" className="block dark:hidden" width="1920" height="517" data-path="images/learn/ABLight.svg" />

<img src="https://mintcdn.com/layerzero/MzSiOdXt8xlDlEr4/images/learn/ABDark.svg?fit=max&auto=format&n=MzSiOdXt8xlDlEr4&q=85&s=57ee89cb8ac22fcdd3d6ba916d27f750" alt="Diagram showing OApp contract standard: generic message passing interface enabling arbitrary data transfer between contracts on different blockchain networks" className="hidden dark:block" width="1920" height="517" data-path="images/learn/ABDark.svg" />

This standard abstracts away the core Endpoint interfaces, allowing you to focus on your application's core implementation and features without needing a complex understanding of the LayerZero protocol architecture.

This interface can easily be extended to include anything from specific financial logic in a DeFi application to a voting mechanism in a DAO, or broadly any smart contract use case.

## `OFT`

The [Omnichain Fungible Token (OFT)](../../developers/evm/oft/quickstart) Standard allows **fungible tokens** to be transferred across multiple blockchains without asset wrapping or middlechains.

This standard works by burning tokens on the source chain whenever an omnichain transfer is initiated, sending a message via the protocol, and delivering a function call to the destination contract to mint the same number of tokens burned.
This creates a **unified supply** across all networks LayerZero supports that the OFT is deployed on.

<img src="https://mintcdn.com/layerzero/l5FYciYAmKUwmOFF/images/learn/oft_mechanism_light.jpg?fit=max&auto=format&n=l5FYciYAmKUwmOFF&q=85&s=f1789e8bc96aac6d6a4949e10798c85d" alt="Diagram showing OFT standard: tokens burned on source chain and minted on destination chain via LayerZero messaging, creating unified supply across networks" className="block dark:hidden" width="3840" height="1034" data-path="images/learn/oft_mechanism_light.jpg" />

<img src="https://mintcdn.com/layerzero/l5FYciYAmKUwmOFF/images/learn/oft_mechanism.jpg?fit=max&auto=format&n=l5FYciYAmKUwmOFF&q=85&s=3d32bc3d05cf1241b84ca9b4426c42d2" alt="Diagram showing OFT standard: tokens burned on source chain and minted on destination chain via LayerZero messaging, creating unified supply across networks" className="hidden dark:block" width="3840" height="1034" data-path="images/learn/oft_mechanism.jpg" />

Using this design pattern, developers can **extend** any fungible token to interoperate with other chains using LayerZero. The most widely used of these standards is `OFT.sol`, an extension of the [OApp Contract Standard](../../developers/evm/oapp/overview) and the [ERC20 Token Standard](https://docs.openzeppelin.com/contracts/5.x/erc20).

## Configuration

All Contract Standards offer an opt-in default [OApp Configuration](../../developers/evm/configuration/dvn-executor-config), allowing for rapid development without needing complex setup or post-deployment configuration.

The OApp owner or delegated signer can change or lock your configuration at any time.
