Prepared by:
HALBORN
Last Updated 06/29/2026
Date of Engagement: June 1st, 2026 - June 1st, 2026
100% of all REPORTED Findings have been addressed
All findings
8
Critical
0
High
0
Medium
1
Low
2
Informational
5
Oro engaged Halborn to conduct a security assessment on their smart contracts beginning on June 1st 2026 and ending on June 1st, 2026. The security assessment was scoped to the smart contracts provided in the oro-ethereum-contracts GitHub repository, provided to the Halborn team. Commit hash and further details can be found in the Scope section of this report.
The reviewed contracts form a centralized revenue-capture pipeline for the ORO protocol. OroToken is a capped, pausable ERC-20 with owner-controlled supply. RevenueRouter receives cross-chain stablecoin revenue and splits it between a treasury and a buyback contract at an admin-configured ratio. OroBuyback swaps received stablecoins into ORO via Uniswap V3. The entire flow is gated behind privileged roles with no permissionless participation, making key management the primary trust surface.
Halborn was provided with 1 day for this engagement and assigned a full-time security engineer to assess the security of the smart contracts in scope. The assigned engineer possesses deep expertise in blockchain and smart contract security, including hands-on experience with multiple blockchain protocols.
The objective of this assessment is to:
Identify potential security issues within the oro-ethereum-contracts smart contracts.
Ensure that smart contract of oro-ethereum-contracts smart contracts functions operate as intended.
In summary, Halborn identified several areas for improvement to reduce the likelihood and impact of security risks, which were partially addressed by the Oro team. The main recommendations were:
Convert minRouteAmount to a per-token mapping so that each registered asset can have an appropriate threshold matching its decimal precision.
Refund excess ETH to the executor after the relayer call.
Combine revenue routing and buyback execution into a single atomic transaction to eliminate the multi-block pre-positioning window.
Halborn performed a combination of manual review of the code and automated security testing to balance efficiency, timeliness, practicality, and accuracy in regard to the scope of the smart contract assessment. While manual testing is recommended to uncover flaws in logic, process, and implementation; automated testing techniques help enhance coverage of smart contracts and can quickly identify items that do not follow security best practices.
The following phases and associated tools were used throughout the term of the assessment:
Research into the architecture and purpose of the oro-ethereum-contracts in-scope contracts.
Manual code review and walkthrough of the oro-ethereum-contracts in-scope contracts.
Manual assessment of critical Solidity variables and functions to identify potential vulnerability classes.
Manual testing using custom scripts.
Static Analysis of security for scoped contract, and imported functions. (Slither).
Local deployment and testing with (Foundry, Remix IDE).
| EXPLOITABILITY METRIC () | METRIC VALUE | NUMERICAL VALUE |
|---|---|---|
| Attack Origin (AO) | Arbitrary (AO:A) Specific (AO:S) | 1 0.2 |
| Attack Cost (AC) | Low (AC:L) Medium (AC:M) High (AC:H) | 1 0.67 0.33 |
| Attack Complexity (AX) | Low (AX:L) Medium (AX:M) High (AX:H) | 1 0.67 0.33 |
| IMPACT METRIC () | METRIC VALUE | NUMERICAL VALUE |
|---|---|---|
| Confidentiality (C) | None (C:N) Low (C:L) Medium (C:M) High (C:H) Critical (C:C) | 0 0.25 0.5 0.75 1 |
| Integrity (I) | None (I:N) Low (I:L) Medium (I:M) High (I:H) Critical (I:C) | 0 0.25 0.5 0.75 1 |
| Availability (A) | None (A:N) Low (A:L) Medium (A:M) High (A:H) Critical (A:C) | 0 0.25 0.5 0.75 1 |
| Deposit (D) | None (D:N) Low (D:L) Medium (D:M) High (D:H) Critical (D:C) | 0 0.25 0.5 0.75 1 |
| Yield (Y) | None (Y:N) Low (Y:L) Medium (Y:M) High (Y:H) Critical (Y:C) | 0 0.25 0.5 0.75 1 |
| SEVERITY COEFFICIENT () | COEFFICIENT VALUE | NUMERICAL VALUE |
|---|---|---|
| Reversibility () | None (R:N) Partial (R:P) Full (R:F) | 1 0.5 0.25 |
| Scope () | Changed (S:C) Unchanged (S:U) | 1.25 1 |
| Severity | Score Value Range |
|---|---|
| Critical | 9 - 10 |
| High | 7 - 8.9 |
| Medium | 4.5 - 6.9 |
| Low | 2 - 4.4 |
| Informational | 0 - 1.9 |
Critical
0
High
0
Medium
1
Low
2
Informational
5
| Security analysis | Risk level | Remediation Date |
|---|---|---|
| Decimal-Agnostic Route Threshold Enforcement Permanently Disables Dust Guard for Higher-Precision Tokens | Medium | Risk Accepted - 06/10/2026 |
| Missing Native ETH Return Path After Relayer Interaction | Low | Risk Accepted - 06/10/2026 |
| Observable Buyback Allocation Between Routing and Swap Transactions Enables MEV Pre-Positioning | Low | Risk Accepted - 06/10/2026 |
| Shared AddressesUpdated Event Across Separate Setters Obscures Which Address Changed for Off-Chain Monitors | Informational | Solved - 06/10/2026 |
| Missing Full-Path Token Uniqueness Validation Allows Cyclic Swap Paths That Waste Pool Fees | Informational | Solved - 06/10/2026 |
| Undocumented Mempool Exposure During CREATE2 Deployment Risks Front-Running of Initializer Authority | Informational | Solved - 06/10/2026 |
| Missing Zero-Amount Mint Rejection Allows No-Op Transactions That Emit Misleading Supply Events | Informational | Solved - 06/10/2026 |
| Absent Zero-Balance Sweep Guard Emits Spurious Transfer and Swept Events Polluting Off-Chain Indexers | Informational | Solved - 06/10/2026 |
//
//
//
//
//
//
//
//
Halborn strongly recommends conducting a follow-up assessment of the project either within six months or immediately following any material changes to the codebase, whichever comes first. This approach is crucial for maintaining the project’s integrity and addressing potential vulnerabilities introduced by code modifications.
// Download the full report
Smart Contract Assessment
* Use Google Chrome for best results
** Check "Background Graphics" in the print settings if needed