News | OpenZeppelin

Everdawn USDT0 ERC-7802 Upgrade Audit

Written by OpenZeppelin Security | November 3, 2025

Summary

Type: DeFi / Stablecoin
Timeline: March 10, 2025 → March 10, 2025
Languages: Solidity, JavaScript, TypeScript

Findings
Total issues: 3 (0 resolved)
Critical: 0 (0 resolved)
High: 0 (0 resolved)
Medium: 0 (0 resolved)
Low: 1 (0 resolved)

Notes & Additional Information
2 notes raised (0 resolved)

Scope

OpenZeppelin conducted a differential audit of the Everdawn-Labs/usdt0-oft-contracts repository at pull request #63 and the Everdawn-Labs/usdt0-tether-contracts-hardhat repository at pull request #42.

The audit scope included the following files:

 usdt0-tether-contracts-hardhat
└── contracts
    ├── Tether
    |   └── TetherToken.sol
    └── Wrappers
        ├── ArbitrumExtension.sol
        ├── HyperliquidExtension.sol
        ├── OFTExtension.sol
        └── interfaces
            └── IERC7802.sol
usdt0-oft-contracts
└── contracts
    ├── OUpgradeable.sol
    └── interfaces
        └──IERC7802.sol

System Overview

USDT0 is an ERC-20 wrapper for Tether (USDT) that integrates with LayerZero's Omnichain token format, called Omnichain Fungible Token (OFT). This allows simple and seamless cross-chain transfers from the token itself. The goal of these pull requests is to update USDT0 and its chain-specific implementations to conform to the draft ERC-7802 Crosschain Token Interface Standard.

Security Model and Trust Assumptions

This being a diff audit, we assume that the core interactions and assumptions of the contracts that were unchanged are effective, robust, and secure. This includes the LayerZero infrastructure and the greater portion of the USDT0 contract code. There is an owner role in the system that allows the changing of critical functionality in the contracts. We assume that this owner will act competently and in good faith.

 

Low Severity

EIP-165 Conformity

EIP-165 specifies that the supportsInterface function must return true for all interfaces a contract implements. The TetherTokenOFTExtension and ArbitrumExtensionFlattened implementations will both return true for ERC-7802 and ERC-165, but they also implement ERC-20, ERC-3009, ERC-173, and ERC-2612 (TetherTokenOFTExtension only) for which they do not return true.

Consider returning true for the additional implemented interfaces as well.

Update: Acknowledged, not resolved.

Notes & Additional Information

Code Cleanliness

It is considered a good practice to have file names match the contract names and having one contract per file. This clarifies intention and makes the codebase easier to search/understand.

Consider renaming OFTExtension.sol to TetherTokenOFTExtension.sol and splitting ArbitrumExtension.sol into its constituent, self-named parts.

Update: Acknowledged, not resolved. The Everdawn team stated:

Acknowledged. We would prefer not to split ArbitrumExtension to eliminate confusion with similarly named contracts.

Missing Documentation

In HyperliquidExtension.sol, the transferWithHop function enables transferring ERC-20 tokens to HyperCore through HyperEVM. In addition, the owner can call the setTrusted function to whitelist any account which will be allowed to perform such transfers.

Consider adding documentation for transferWithHop as its functionality pertains to specific concepts of the Hyperliquid chain. In addition, consider documenting the entities which are expected to be registered as trusted via setTrusted.

Update: Acknowledged, not resolved. 

Conclusion

OpenZeppelin audited the recent changes made to Everdawn's USDT0 token that aim to make it compliant with ERC-7802. The deployment scripts for the Corn Chain support were also reviewed. One low-severity issue regarding full compliance with ERC-165 standard was identified. In addition, a few recommendations aimed at improving the clarity and readability of the codebase were also made. The audit team is grateful to Everdawn as a partner and looks forward to their project's success.