Table · StrataPlanned

LayerZero DVN Checker: Bridge Verifier Settings

How many independent verifiers must sign off on messages for each major LayerZero-bridged token, and which rely on just one?

Each major LayerZero-bridged token, route by route: which verifiers check its messages, how many must agree and whether one alone suffices.

ShareEmail itvoltfincrypto.com/apps/layerzero-dvn-checker
Blueprint

What the table will hold.

The table as it will open in Strata. Each figure is named here and arrives with its receipt; until its data is published, its place stays empty.

One row One row per token per route (source chain to destination chain), at the latest daily readSorted by Verifiers needed, lowest first

TokenFromToRequired DVNscountOptional DVNsVerifiers neededcountDVN operatorsConfirmationsblocksConfig sourceSingle verifierSupply on destinationtokensReceipt
Token token Token
The bridged token, linked to its OApp contract on the destination chain.
From source_chain Chain
The chain that messages on this route come from.
To destination_chain Chain
The chain whose endpoint configuration is read: where messages are verified and tokens minted or released.
Required DVNs required_dvns Number
How many DVNs must all attest to each message on this route.
Optional DVNs optional_threshold Text
The number of optional DVNs that must also attest, out of the number listed; empty when the route lists none.
Verifiers needed verifiers_needed Number
Required DVNs plus the optional threshold: the attestations each message needs before delivery.
DVN operators dvn_operators Text
The operator behind each listed DVN from published deployment lists, or its address where no label exists.
Confirmations confirmations Number
Blocks the DVNs wait on the source chain before verifying a message.
Config source config_source Text
Whether the route uses the app's own configuration or LayerZero's default, and whether its library is pinned.
Single verifier single_verifier Text
Yes when one DVN's attestation is enough to deliver a message on this route.
Supply on destination supply_on_destination Exact amount
The token's totalSupply() on the destination chain, or the locked balance where the destination is the home chain, at the same day-end block.
Receipt receipt Link
The block, the getConfig call and the decoded configuration behind the row.

Filter by Token, From, To, Single verifier.

About

What it answers, and for whom.

LayerZero moves tokens between chains by passing messages, and the destination accepts a message only once the verifiers an app has chosen, called DVNs, have checked it. This table reads that choice for every major LayerZero-bridged token, route by route, straight from the LayerZero endpoint contracts: which DVNs are required, how many optional ones must also agree and how many block confirmations they wait for.

A route that needs a single DVN trusts one verifier with every message on it: if that verifier is wrong or its keys are compromised, the destination can mint or release tokens that were never sent. The table flags those routes, as well as routes still running on LayerZero's default settings, which change whenever the defaults do.

Each row is read at a pinned block on the receiving chain, with the call and the decoded configuration as its receipt, so any setting can be checked again by anyone.

Method

How it will be measured.

Every figure will be read at a block, kept with its source and its exact read, and open a receipt anyone can re-check.

How receipts work →
  1. For each token's app (its OApp) and each source chain, the receive library is read with EndpointV2 getReceiveLibrary, then its ULN configuration with getConfig, config type 2, decoded into confirmations, required DVNs, optional DVNs and the optional threshold.
  2. Verifiers needed is the required DVN count plus the optional threshold: the number of independent attestations a message must collect before it can be delivered.
  3. A route is marked as on defaults when the OApp has set no configuration of its own, and as unpinned when it follows the default library, because a change to either default changes its security.
  4. DVN addresses are labelled with their operators from LayerZero's published deployment lists; an unlabelled DVN is shown by its address, never guessed.
  5. Routes are found from PeerSet events on each OApp, and token supply on each chain is read with totalSupply() at the same day-end block.

The data it needs

Read from chain state and history

  • bridge_flows_dailyTo buildBridge deposits and withdrawalsDeposits into and withdrawals out of canonical and major third-party bridges by chain, token and day, plus escrow balances at day end.
  • token_supply_dailyTo buildToken supply by dayTotal supply of each registry token on each chain at day end: wrapped BTC, liquid staking tokens, tokenized assets and other tracked tokens.
  • address_labelsTo buildAddress labelsLabels for known addresses: exchanges, bridges, protocols, funds, treasuries, sanctioned addresses and known attackers.
  • EndpointV2 getConfig(oapp, receiveLibrary, srcEid, 2), decoded to confirmations, requiredDVNCount, requiredDVNs, optionalDVNs and optionalDVNThreshold
  • EndpointV2 getReceiveLibrary and defaultReceiveLibrary per OApp and source endpoint id
  • OApp PeerSet events, to map each token's deployments and routes
  • OFT totalSupply() on each chain at day-end blocks
  • LayerZero's published DVN and endpoint deployment lists, for operator labels
Questions

Questions people ask.

What is a DVN in LayerZero?

A decentralized verifier network: an operator that checks a cross-chain message on the source chain and attests to it on the destination. Each app chooses which DVNs it requires, and the destination accepts a message only when enough of them have verified it.

What does a 1 of 1 DVN setup mean?

It means a route requires a single DVN and no optional ones, so one verifier's attestation is enough to deliver a message. The route is then only as secure as that one operator and its keys.

Who sets the DVN configuration?

The owner or delegate of each app sets it per route on the LayerZero endpoint. If they set nothing, the route uses LayerZero's default configuration for that pathway, which LayerZero can change later.

How many DVNs does LayerZero recommend?

LayerZero's own documentation recommends that production routes require at least two DVNs run by different operators. The table shows each route's actual settings, so readers can compare them with that guidance.

Does a strong DVN setting make a bridged token safe?

No. The verifier setting is one part of the risk. The token contract and its owner powers, the executor, the source chain's finality and the backing held on the home chain all matter too; the bridged token backing page checks the last of these.

OApp
An omnichain application: a contract that sends and receives LayerZero messages, such as an OFT token contract on each chain.
OFT
Omnichain fungible token: a LayerZero token standard that burns or locks tokens on one chain and mints or releases them on another.
Required DVNs
The verifiers that must all attest to a message before the destination delivers it.
Optional threshold
How many of an app's listed optional DVNs must also attest to a message, on top of the required ones.
Block confirmations
How many blocks the DVNs wait on the source chain before verifying a message, as protection against reorganizations.

Build LayerZero DVN Checker: Bridge Verifier Settings on verified data.

Start free in Voltfin Studio: boards, tables and reports where every number opens its receipt. Tell us which data you need first and we will build it next.