TRUST Summit | Nov 3, 2025 | NYCWhere decision-makers define the next chapter of secure blockchain adoption.
Learn more

Audit name:

[SCA] Echo Protocol | Bridge-Iota | Jul2025

Date:

Aug 28, 2025

Table of Content

Introduction
Audit Summary
System Overview
Potential Risks
Findings
Appendix 1. Definitions
Appendix 2. Scope
Appendix 3. Additional Valuables
Disclaimer

Want a comprehensive audit report like this?

Introduction

We express our gratitude to the Echo Protocol team for the collaborative engagement that enabled the execution of this Smart Contract Security Assessment.

Echo Bridge protocol is an IOTA Ethereum bridge solution. The protocol enables cross-chain bridging and communication between the IOTA blockchain and EVM compatible chains. Its primary goal is to support bidirectional token bridging, allowing users to move assets seamlessly between chains using a validator committee for message verification. The system ensures trust-minimized operations through threshold-based signature approval, nonce-based replay protection, and committee governance. ERC20 tokens can be locked on the EVM side and minted as wrapped assets on IOTA, and vice versa.

Document

NameSmart Contract Code Review and Security Analysis Report for Echo Protocol
Audited ByTurgay Arda Usman, Khrystyna Tkachuk
Approved ByAtaberk Yavuzer
Websitehttps://www.echo-protocol.xyz/
Changelog04/08/2025 - Preliminary Report
28/08/2025 - Final Report
PlatformIOTA
LanguageMove
TagsBridge, Signatures
Methodologyhttps://hackenio.cc/sc_methodology
  • Document

    Name
    Smart Contract Code Review and Security Analysis Report for Echo Protocol
    Audited By
    Turgay Arda Usman, Khrystyna Tkachuk
    Approved By
    Ataberk Yavuzer
    Changelog
    04/08/2025 - Preliminary Report
    28/08/2025 - Final Report
    Platform
    IOTA
    Language
    Move
    Tags
    Bridge, Signatures

Review Scope

Repositoryhttps://github.com/echo-proto/bridge-iota
Initial Commit686e118
Final Commit89ffe353

Audit Summary

11Total Findings
6Resolved
5Accepted
0Mitigated

The system users should acknowledge all the risks summed up in the risks section of the report

Documentation quality

  • Functional requirements are partially provided.

    • Use cases and project purpose are not provided.

    • Features are partially provided.

  • Technical description is not provided.

    • Key function descriptions are partilally provided.

    • Architecture is not described.

Code quality

  • The code mostly follows  best practices and style guides.

    • See informational findings for more details.

Test coverage

  • Deployment and basic user interactions are covered with tests.

  • Negative cases coverage is missed.

  • Interactions by several users are not tested thoroughly.

System Overview

Echo Bridge is a bridge protocol that supports asset bridging from EVM chains to IOTA and vice versa. It includes the following modules:

  • bridge –  the main contract serves as the central entry point for all bridge functionality. It handles the configuration of critical data and provides governance mechanisms for executing system-level configuration transactions;

  • committee – responsible for managing the committee, this component tracks active members and maintains a blocklist for excluded participants;

  • chain_ids – responsible for storing hardcoded chain IDs and managing the addition of supported bridge routes;

  • crypto – a utility module providing a single function to convert an ECDSA public key into an Ethereum address;

  • ibtc – defines and initializes the iBTC token as a bridged Bitcoin asset on IOTA. Sets up treasury, metadata, and finalizes bridge initialization;

  • limiter  – this module enforces rate limits on value transffered per route using a 24-hour ring buffer. It tracks hourly outflows, maintains a rolling sum, and checks if new transactions exceed the configured limit. Limits and asset prices are adjustable via a dedicated function;

  • message_types – contains hardcoded message type codes, and getters for them;

  • message – this module handles encoding and decoding of bridge messages. It also defines constants for pause and unpause message types and includes logic for determining the voting power required to execute each message type;

  • treasury – manages separate treasuries for each supported token and tracks their approximate prices for rate-limiting purposes. It supports minting, burning, price updates, and adding new tokens. Token support, once added, cannot be removed.

Privileged roles

  • The bridge AdminCap can update the fee_recipient and submitters, and is responsible for registering and initializing the committee. Additionally, the admin can migrate the bridge and admin capability versions.

  • The TreasuryCap is responsible for adding new tokens to the bridge. Tokens are first placed in a waiting room and require approval through committees.

  • The submitter is responsible for triggering the approve_token_transfer function to approve token bridging.

  • The committees is responsible for executing system messages and signing bridge transaction approval requests.

Potential Risks

The audit does not cover all code in the repository. Contracts outside the audit scope may introduce vulnerabilities, potentially impacting the overall security due to the interconnected nature of smart contracts. The bridge protocol is designed to transfer assets from EVM-compatible chains to the IOTA chain. However, the audited scope included only the Move-based implementation on the IOTA side. The EVM-side bridge logic was not part of the review and may introduce security concerns that could affect the overall integrity of the bridging process.

Granting significant control to whitelist users without adequate checks leads to unpredictable operational disruptions, impacting user confidence and system stability.

The current version of the bridge does not support bridging the IOTA native asset. This limitation may restrict functionality or interoperability expectations for users intending to transfer IOTA tokens across chains.

The notional_amount, which represents the USD value of assets, is set and updated manually by committee governance. This value is not backed by an external price oracle and lacks any time-based guarantees for regular or accurate updates, potentially leading to stale or incorrect pricing.

Findings

Code
Title
Status
Severity
F-2025-1195The Committee is Static and Cannot be Rotated
fixed

High
F-2025-1191 Token Supply Inflation via Improper Refund Logic in approvetokentransfer and claim_token
fixed

High
F-2025-1202Artificially Low Asset Price Leads to Rate-Limiter Bypass
accepted

Medium
F-2025-1199Ineffective Revocation of Submitter Privileges
fixed

Medium
F-2025-1196Blocklisted Status is Not Persistent Across Committee Rotations
fixed

Medium
F-2025-1185Mismatched Array Lengths in Admin Messages Can Lead to State Corruption or Denial of Service
accepted

Medium
F-2025-1199 Lack of Zero-Value Validation in updateroutelimit() Allows Setting Invalid Rate Limits
accepted

Low
F-2025-1190Unchecked Read in peelu64be Leads to Transaction Abort and Denial of Service
accepted

Low
F-2025-1185Token ID Collision Allows State Corruption
accepted

Low
F-2025-1199Commented Code Parts
fixed

Observation
1-10 of 11 findings

Identify vulnerabilities in your smart contracts.

Appendix 1. Definitions

Severities

When auditing smart contracts, Hacken is using a risk-based approach that considers Likelihood, Impact, Exploitability and Complexity metrics to evaluate findings and score severities.

Reference on how risk scoring is done is available through the repository in our Github organization:

Severity

Description

Critical
Critical vulnerabilities are usually straightforward to exploit and can lead to the loss of user funds or contract state manipulation.

High
High vulnerabilities are usually harder to exploit, requiring specific conditions, or have a more limited scope, but can still lead to the loss of user funds or contract state manipulation.

Medium
Medium vulnerabilities are usually limited to state manipulations and, in most cases, cannot lead to asset loss. Contradictions and requirements violations. Major deviations from best practices are also in this category.

Low
Major deviations from best practices or major Gas inefficiency. These issues will not have a significant impact on code execution.
  • Severity

    Critical

    Description

    Critical vulnerabilities are usually straightforward to exploit and can lead to the loss of user funds or contract state manipulation.

    Severity

    High

    Description

    High vulnerabilities are usually harder to exploit, requiring specific conditions, or have a more limited scope, but can still lead to the loss of user funds or contract state manipulation.

    Severity

    Medium

    Description

    Medium vulnerabilities are usually limited to state manipulations and, in most cases, cannot lead to asset loss. Contradictions and requirements violations. Major deviations from best practices are also in this category.

    Severity

    Low

    Description

    Major deviations from best practices or major Gas inefficiency. These issues will not have a significant impact on code execution.

Potential Risks

The "Potential Risks" section identifies issues that are not direct security vulnerabilities but could still affect the project’s performance, reliability, or user trust. These risks arise from design choices, architectural decisions, or operational practices that, while not immediately exploitable, may lead to problems under certain conditions. Additionally, potential risks can impact the quality of the audit itself, as they may involve external factors or components beyond the scope of the audit, leading to incomplete assessments or oversight of key areas. This section aims to provide a broader perspective on factors that could affect the project's long-term security, functionality, and the comprehensiveness of the audit findings.

Appendix 2. Scope

The scope of the project includes the following smart contracts from the provided repository:

Scope Details

Repositoryhttps://github.com/echo-proto/bridge-iota
Initial Commit686e118
Final Commit89ffe35
WhitepaperN/A
Requirementshttps://github.com/echo-proto/bridge-iota
Technical Requirementshttps://github.com/echo-proto/bridge-iota

Assets in Scope

.
bridge.move - . › bridge.move
chain_ids.move - . › chain_ids.move
committee.move - . › committee.move
crypto.move - . › crypto.move
ibtc.move - . › ibtc.move
limiter.move - . › limiter.move
message.move - . › message.move
message_types.move - . › message_types.move
treasury.move - . › treasury.move

Appendix 3. Additional Valuables

Additional Recommendations

The smart contracts in the scope of this audit could benefit from the introduction of automatic emergency actions for critical activities, such as unauthorized operations like ownership changes or proxy upgrades, as well as unexpected fund manipulations, including large withdrawals or minting events. Adding such mechanisms would enable the protocol to react automatically to unusual activity, ensuring that the contract remains secure and functions as intended.

To improve functionality, these emergency actions could be designed to trigger under specific conditions, such as:

  • Detecting changes to ownership or critical permissions.

  • Monitoring large or unexpected transactions and minting events.

  • Pausing operations when irregularities are identified.

These enhancements would provide an added layer of security, making the contract more robust and better equipped to handle unexpected situations while maintaining smooth operations.

Disclaimer