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 Parameters | Value |
---|---|
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 Parameters | Value |
---|---|
x-layerzero-api-key string LayerZero API key for authentication |
Query Parameters | Value |
---|---|
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": {}}