LayerZero Discovery API

The Discovery API from LayerZero — 3 operation(s) for discovery.

OpenAPI Specification

layerzero-discovery-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: LayerZero OFT Transfer Discovery API
  version: 1.0.0
  description: API for LayerZero Omnichain Fungible Tokens (OFTs)
servers:
- url: https://metadata.layerzero-api.com/v1/metadata/experiment/ofts
tags:
- name: Discovery
paths:
  /tokens:
    get:
      summary: List supported tokens
      description: Returns a paginated list of tokens supported by the Value Transfer API. Use optional filters to narrow down results by chain or source token.
      tags:
      - Discovery
      parameters:
      - name: transferrableFromChainKey
        in: query
        description: Filter tokens by source chain (for example, 'ethereum', 'arbitrum')
        schema:
          type: string
          example: ethereum
      - name: transferrableFromTokenAddress
        in: query
        description: Filter by source token address
        schema:
          type: string
          example: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE'
      responses:
        '200':
          description: Successfully retrieved token list
          content:
            application/json:
              schema:
                type: object
                properties:
                  tokens:
                    type: array
                    items:
                      type: object
                      properties:
                        isSupported:
                          type: boolean
                        chainKey:
                          type: string
                        address:
                          type: string
                        decimals:
                          type: number
                        symbol:
                          type: string
                        name:
                          type: string
                  pagination:
                    type: object
                    properties:
                      nextToken:
                        type: string
                example:
                  tokens:
                  - isSupported: true
                    chainKey: ethereum
                    address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE'
                    decimals: 18
                    symbol: ETH
                    name: Ethereum
                  pagination: {}
  /chains:
    get:
      summary: List supported chains
      description: Returns all chains supported by the Value Transfer API, including chain type and native currency information.
      tags:
      - Discovery
      responses:
        '200':
          description: Successfully retrieved chain list
          content:
            application/json:
              schema:
                type: object
                properties:
                  chains:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        shortName:
                          type: string
                        chainKey:
                          type: string
                        chainType:
                          type: string
                        chainId:
                          type: number
                  pagination:
                    type: object
                    properties:
                      nextToken:
                        type: string
                example:
                  chains:
                  - name: Ethereum
                    shortName: ETH
                    chainKey: ethereum
                    chainType: EVM
                    chainId: 1
                  - name: Arbitrum
                    shortName: ARB
                    chainKey: arbitrum
                    chainType: EVM
                    chainId: 42161
                  - name: Solana
                    shortName: SOL
                    chainKey: solana
                    chainType: SOLANA
                    chainId: 0
                  pagination: {}
  /metadata:
    get:
      summary: Get deployment metadata
      description: Returns deployment addresses for multicall and transfer delegate contracts by chain. Use this to look up the correct contract addresses for building transactions or verifying approvals.
      tags:
      - Discovery
      responses:
        '200':
          description: Successfully retrieved deployment metadata
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: object
                  properties:
                    deployments:
                      type: object
                      properties:
                        multicall:
                          type: object
                          properties:
                            address:
                              type: string
                              description: Contract address of the multicall (fee wrapper)
                        transferDelegate:
                          type: object
                          properties:
                            address:
                              type: string
                              description: Contract address of the transfer delegate (token spender)
                example:
                  base:
                    deployments:
                      multicall:
                        address: '0x0564F89f6edf2cA62fBd174378f9187e447DD410'
                      transferDelegate:
                        address: '0xf45722F37f602c0788Beb7C1471ebEB281308860'
                  ethereum:
                    deployments:
                      multicall:
                        address: '0xFD268A4813005A9fb04982073E5f4916f8653B75'
                      transferDelegate:
                        address: '0x0CD0aD832f06b05f8fE78E6DB825c3d4eA944004'
                  arbitrum:
                    deployments:
                      multicall:
                        address: '0x26F97eb05469fF5d2169FD4d83cF96939C9B8e37'
                      transferDelegate:
                        address: '0x43093Bb72d982C04DFb858Fd31a85fBcB6c13CBD'