Skip to main content
Version: Endpoint V2

OFT API Reference

Early Access

This is an early version of our API and is not yet available for general release. List is open for use; Transfer requires an API key. If you're interested in gaining access or providing feedback, reach out to the LayerZero team.

API for LayerZero Omnichain Fungible Tokens (OFTs)
Base URL: https://metadata.layerzero-api.com/v1/metadata/experiment/ofts
GET/list

Get list of available OFTs with their deployments across chains
Query ParametersValue
chainNames
string
Comma-separated list of chain names to filter by
symbols
string
Comma-separated list of token symbols to filter by
protocols
string
Comma-separated list of protocol names to filter by
contractAddresses
string
Comma-separated list of contract addresses to filter by
Response
{
"ZRO": [
{
"name": "ZRO Token",
"sharedDecimals": 6,
"endpointVersion": "v2",
"deployments": {
"ethereum": {
"address": "0x6985884c4392d348587b19cb9eaaf157f13271cd",
"localDecimals": 18,
"type": "OFT"
},
"arbitrum": {
"address": "0x6985884c4392d348587b19cb9eaaf157f13271cd",
"localDecimals": 18,
"type": "OFT"
},
"optimism": {
"address": "0x6985884c4392d348587b19cb9eaaf157f13271cd",
"localDecimals": 18,
"type": "OFT"
},
"base": {
"address": "0x6985884c4392d348587b19cb9eaaf157f13271cd",
"localDecimals": 18,
"type": "OFT"
}
}
}
]
}
GET/transfer

Create an OFT transfer transaction between chains
Header ParametersValue
x-layerzero-api-key
string
LayerZero API key for authentication
Query ParametersValue
srcChainName
string
required
Source chain name where the OFT transfer originates
dstChainName
string
required
Destination chain name where the OFT will be received
oftAddress
string
required
Address of the OFT contract on the source chain
amount
string
required
Amount to transfer in the smallest unit (wei/satoshi equivalent)
from
string
required
Address of the sender wallet
to
string
required
Address of the recipient wallet (EVM hex or Solana base58)
validate
Whether to validate balances before creating transaction
options
string
Structured LayerZero execution options as JSON string. EXECUTOR OPTIONS: - lzReceive: Set gas limit and optional native drop for lzReceive execution - nativeDrops: Array of native token drops to specific addresses - composeOptions: Array of compose message execution settings with gas and native drop All numeric values for gas limits and native drops should be strings or numbers. Native drop amounts are in wei (e.g., "1000000000000000" = 0.001 ETH).
composeMsg
string
Compose message for advanced OFT operations (hex encoded)
oftCmd
string
OFT command for advanced operations (hex encoded)
Response
{
"created": 1750332889266,
"dstChainName": "ethereum",
"metadata": {
"properties": {
"dstOftAddress": "0x3dc96399109df5ceb2c226664a086140bd0379cb",
"dstOftType": "OFT_ADAPTER",
"dstChainName": "bera",
"approvalRequired": true,
"amount": "1000000",
"sharedDecimals": 6,
"localDecimals": 6
},
"timestamps": {
"created": 1750332889266
}
},
"transactionData": {
"populatedTransaction": {
"data": "0xc7c7f5b30000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000007625075988a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d8538fa8fdd5872e68c4040449f64452ae536fa6000000000000000000000000000000000000000000000000000000000000769a000000000000000000000000d8538fa8fdd5872e68c4040449f64452ae536fa600000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"to": "0x6C96dE32CEa08842dcc4058c14d3aaAD7Fa41dee",
"gasLimit": "500000",
"value": "8118838073482"
},
"approvalTransaction": {
"data": "0x095ea7b30000000000000000000000006c96de32cea08842dcc4058c14d3aaad7fa41dee00000000000000000000000000000000000000000000000000000000000f4240",
"to": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
"gasLimit": "100000"
}
},
"transactionType": "OFT_SEND"
}
GET/openapi

OpenAPI specs.
Response
{
"openapi": "3.0.3",
"info": {
"title": "Scan API",
"version": "1.0.0"
},
"servers": [
{
"url": "https://metadata.layerzero-api.com/v1/metadata/experiment/ofts"
}
],
"paths": {}
}