Judging

Meteora - Dynamic Bonding Curve

Building the most dynamic liquidity pools in DeFi.

  • Start date22 Aug 2025
  • End date12 Sep 2025
  • Total awards$104,500 in USDC
  • Duration21 days

Meteora - Dynamic Bonding Curve audit details

Award pool details

  • Total Prize Pool: $104,500 in USDC
    • HM awards: up to $96,000 in USDC
      • If no valid Highs are found, the HM pool is $19,200 in USDC
      • If no valid Highs or Mediums are found, the HM pool is $0
    • QA awards: $4,000 in USDC
    • Judge awards: $4,000 in USDC
    • Scout awards: $500 in USDC
  • Read our guidelines for more details
  • Starts August 22, 2025 20:00 UTC
  • Ends September 12, 2025 20:00 UTC

❗ Important notes for wardens

  1. A coded, runnable PoC is required for all High/Medium submissions to this audit.
    • This repo includes a basic template to run the test suite.
    • PoCs must use the test suite provided in this repo.
    • Your submission will be marked as Insufficient if the POC is not runnable and working with the provided test suite.
    • Exception: PoC is optional (though recommended) for wardens with signal ≥ 0.68.
  2. This audit includes deployed code, and the "live criticals" exception therefore applies.
  3. Judging phase risk adjustments (upgrades/downgrades):
    • High- or Medium-risk submissions downgraded by the judge to Low-risk (QA) will be ineligible for awards.
    • Upgrading a Low-risk finding from a QA report to a Medium- or High-risk finding is not supported.
    • As such, wardens are encouraged to select the appropriate risk level carefully during the submission phase.

Publicly Known Issues

Note for C4 wardens: Anything included in this Automated Findings / Publicly Known Issues section is considered a publicly known issue and is ineligible for awards.

  • Swap rate limiter bypass vulnerability via swap2 instruction: It is possible to bypass the feeRateLimiter mode, in particular the swap rate limiter (an anti-sniping feature - which prevents snipers from bundling multiple swap instructions in one transaction) by using the swap2 instruction handler. The vulnerability arises from the lack of a swap2 discriminator check in the function validate_single_swap_instruction(). (C4 staff note: this issue was addressed by a public PR on September 5, 2025 at 4:36AM UTC; therefore all submissions of this finding after that timestamp will be considered out of scope.)

Scope

Files in Scope: (81 files)

Files out of Scope: (13 files)

Additional context

Areas of concern (where to focus for bugs)

Main areas to focus on:

  • Funds are safe (reserve fund, fees of partner/creator/protocol, surplus amount, amount left)
  • Identify any blockers for the migration process (i.e. after the bonding curve reaches the migration quote threshold, it should be migrated)

Main invariants

Main contract:

Third-party contracts:

Running tests

pnpm install
pnpm test

Sample PoC

Utilize the existing test suite here as your base for POC's:

Miscellaneous

Employees of Meteora and employees' family members are ineligible to participate in this audit.

Code4rena's rules cannot be overridden by the contents of this README. In case of doubt, please check with C4 staff.