The Hacken 2025 Yearly Security ReportCovers major Web3 breaches, their root causes, prevention insights, and key regulatory trends for 2026.
Learn more

Audit name:

[SCA] Launchly | BNBHook | Jan2026

Date:

Jan 27, 2026

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 Launchly team for the collaborative engagement that enabled the execution of this Smart Contract Security Assessment.

Launchly implements a Uniswap v4 hook that intercepts swap execution to collect a fixed 2% fee on swaps involving the chain’s native currency, withdrawing the fee via the PoolManager and forwarding it to an immutable fee recipient through before-swap and after-swap accounting adjustments.

Document

NameSmart Contract Code Review and Security Analysis Report for Launchly
Audited ByPanagiotis Konstantinidis
Approved By
Websitehttps://launchly.app
Changelog13/01/2026 - Preliminary Report
28/01/2026 - Final Report
PlatformBinance Smart Chain (BSC)
LanguageSolidity
TagsDEX, AMM
Methodologyhttps://docs.hacken.io/methodologies/smart-contracts

Review Scope

Repositoryhttps://github.com/ashutoshchaturvedi08/audit-v4-hook
Initial Commitdb6d9f0e9cd9500527aa3a6d916d0368f55b9ec1
Final Commita8f07f47bb03a49c45757b6a1d375ca3e2e68b61

Audit Summary

5Total Findings
3Resolved
2Accepted
0Mitigated

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

{Finding_Table?columns=title,severity,status&setting.filter.type=Vulnerability}

Documentation quality

  • Functional requirements and fee policy assumptions are not clearly specified.

  • Technical design details are not documented.

  • Function-level NatSpec comments are minimal and do not fully describe intended behavior and revert conditions.

Code quality

  • The implementation leverages standard Uniswap v4 core/periphery interfaces and libraries rather than duplicating common functionality.

  • The code is concise and generally follows Solidity best practices.

  • Some protocol-specific assumptions are encoded implicitly in logic rather than expressed as explicit invariants.

Test coverage

Code coverage of the project is 44.45% (branch coverage).

  • Deployment, pool initialization, liquidity minting, and basic swap flows are covered.

  • Fee collection is exercised for native-input swaps and verified via balance/event checks, but edge cases around exact-output and hook delta semantics are not covered.

  • Multi-user or adversarial interaction scenarios are not tested.

System Overview

Launchly is a Uniswap v4 hook-based fee module that includes the LaunchlyBNBHook contract, designed to attach to a Uniswap v4 pool and impose an additional hook-level fee on swaps that involve the chain’s native currency. The hook is configured to run on the swap lifecycle only (before and after swap callbacks) and forwards collected fees to an immutable FEE_RECIPIENT address set at deployment time.

Operationally, the hook detects whether the native currency is on the input side or the output side of a swap, computes a 2% fee based on the relevant amount, and collects that fee using poolManager.take() function. To keep the swap’s accounting consistent with the fee extraction, it returns hook deltas (BeforeSwapDelta and the afterSwap delta) that are intended to adjust the swap’s settlement to reflect the deducted fee.

The contract intentionally rejects direct native currency deposits via receive() and fallback() to prevent accidental funds from being sent to the hook address, keeping the hook’s role limited to fee collection during PoolManager-mediated swap execution.

Privileged roles

  • LaunchlyBNBHook has no owner or admin roles and no post-deployment privileged configuration functions.

  • The FEE_RECIPIENT is set once during deployment and is the immutable address to which all hook fees are transferred during swap execution.

Potential Risks

Dependence on Uniswap v4 Core Contracts: The correctness and safety of LaunchlyBNBHook relies heavily on Uniswap v4 core contracts (e.g., PoolManager, hook execution logic, delta accounting). Any vulnerabilities, specification changes, or unexpected behaviour in these external components may directly impact the hook’s correctness, fee accounting, or availability.

Reliance on Uniswap v4 Hook Semantics: The hook’s logic depends on precise Uniswap v4 semantics, such as specified/unspecified currency handling, delta application rules, and swap lifecycle guarantees. Misinterpretation or future changes in these semantics could result in incorrect fee application or swap reverts.

Unaudited or Independently Audited Dependencies: The audit does not cover the internal implementation of Uniswap v4 core or periphery libraries used by the contract. Any issues in these external libraries fall outside the scope of this assessment.

Fee Recipient Availability Risk: The system relies on a single, immutable FEE_RECIPIENT address to receive all collected fees. If this address is misconfigured (e.g., a contract that cannot receive native currency or reverts on receipt), swaps involving fee collection may revert, leading to partial or complete loss of protocol availability.

No Recovery Mechanism: Because the fee recipient is immutable and there are no administrative controls, there is no on-chain mechanism to recover from a misconfigured fee recipient without redeploying the hook and migrating liquidity.

Rounding-Based Fee Evasion for Small Swaps: Fee calculation uses integer division and explicitly skips fee collection when the calculated fee rounds down to zero. This allows very small swaps to avoid paying hook fees entirely. While typically mitigated by gas costs, this may allow fee minimization strategies through trade splitting.

Asymmetric Fee Application Model: Fees are charged pre-swap when native currency is the input and post-swap when native currency is the output. This asymmetric design may lead to different effective fee bases for economically similar swaps routed through different paths or swap modes, potentially affecting predictability for integrators and users.

Lack of Administrative Controls: The contract intentionally has no owner, admin, pause, or upgrade functionality. While this reduces governance risk, it also means that any discovered issues, economic misconfigurations, or integration incompatibilities cannot be addressed without redeploying the hook and updating dependent pools.

Findings

Code
Title
Status
Severity
F-2026-1465Incorrect BeforeSwapDelta Mapping Causes Fee To Be Applied To Wrong Swap Side
fixed

High
F-2026-1466Exact-Output Swaps With Native Input Revert Due To Unsupported amountSpecified Sign
accepted

Medium
F-2026-1465AfterSwap Return Delta Applied To Unspecified Currency Breaks Exact-Output Fee Charging
fixed

Medium
F-2026-1466Fee Recipient Can Cause Swap Reverts Leading To Operational Denial Of Servic
accepted

Low
F-2026-1469Floating Pragma
fixed

Observation
1-5 of 5 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/ashutoshchaturvedi08/audit-v4-hook
Initial Commitdb6d9f0e9cd9500527aa3a6d916d0368f55b9ec1
Final Commita8f07f47bb03a49c45757b6a1d375ca3e2e68b61
Whitepaperhttps://launchly.app/dashboard/docs
RequirementsREADME.md
Technical RequirementsREADME.md

Assets in Scope

src
LaunchlyBNBHook.sol - src › LaunchlyBNBHook.sol

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.

Frameworks and Methodologies

This security assessment was conducted in alignment with recognised penetration testing standards, methodologies and guidelines, including the NIST SP 800-115 – Technical Guide to Information Security Testing and Assessment , and the Penetration Testing Execution Standard (PTES) , These assets provide a structured foundation for planning, executing, and documenting technical evaluations such as vulnerability assessments, exploitation activities, and security code reviews. Hacken’s internal penetration testing methodology extends these principles to Web2 and Web3 environments to ensure consistency, repeatability, and verifiable outcomes.

Disclaimer

Launchly audit by Hacken