Palmera — Rewards up to $20K in USDC

HatsFinance
7 min read6 days ago

Starting June 24, 2024, at 15:00 GMT to July 8, 2024, at 15:00 GMT

We invite all white hat hackers to join the hunt on Palmera audit competition.

All experience levels are welcome; whether you are a seasoned security veteran or an amateur, show us what you got! Prizes will be given based on the severity level of each vulnerability found.

There will be 2 lead auditors in the Palmera competition and triage the submissions.

About the Competition

Starting June 24, a new vault will open in the Hats dApp — “Palmera”.
Participants can check the contracts in scope and start searching for bugs.

Intro to the project
Palmera is a multi-safe and multi-chain treasury management platform helping customers simplify their financial on-chain management with these main functions:

- Users can visualize in a single dashboard all their Safes even if they are in different chains.

- We simplify the visualization of the treasury to have better information for financial management.

- Create transactions, receive notifications for new signatures, manage multisig settings, and add context to transaction history — all with ease, streamlining the operations of on-chain organizations.

Short overview of the audit scope

[~1200 Sloc/Loc]
The competition code language is Solidity and the SLOC estimation for this competition is ~1200 SLOC.
[Optimism Chain]
To reduce transaction costs, we’re shifting our audits vault to Layer 2 networks. Specifically, this competition is hosted on Optimism for more efficient fee management.

Stay up-to-date with the competition, chat with the team, and get your questions answered by joining the dedicated Discord channel on the Hats server.
All audit reports will be published in our Discord on the day of the competition. Don’t miss the latest updates and insights — join now and be the first to know!

In the Palmera competition, two lead auditors will compete alongside the public audit competition. The lead auditors bear the responsibility of thoroughly reviewing all submitted code. They possess specialized labeling access, allowing them to support the sponsor by labeling other submissions with categories such as Low, Medium, High, Invalid, or Duplicated. However, he is prohibited from labeling his own submissions and do not possess any other competitive advantages beyond this role.

If you would like to be a Lead auditor on Hats competitions, please contact us!

Audit competition rewards

  • Deposited Amount: The deposited amount is ~$25K in USDC, making the available prize pool ~$20K in USDC.
  • Service Fee: All rewards mentioned in this article and on the Hats dApp UI have already deducted a 20% Hats service fee.
  • Severities: Low, Medium, High, Gas saving

Rewards and calculation
For our audit competition, the entire prize pool is up for grabs across all severity levels. Each severity level has a designated point value and a maximum payout cap.

Maximum Reward Caps per Submission:

  • Low Severity: 500 USDC (equals 1 point)
  • Medium Severity: 3,000 USDC (equals 6 points)
  • High Severity: 6,000 USDC (equals 12 points)
  • Gas: 2,000 USDC, 1,000 USDC (4 points, 2 points)

*For simplicity, there is a relation between the points and the cap. If the cap is 500 USDC it equals to the allocation of 2.5% from the maximum reward.

Points are consistently awarded within the same severity level unless the committee decides to adjust this. For instance, both the first and second low-severity findings will earn 1 point each. This standard applies to medium and high severities as well.

Calculating the Winner’s Reward:

The formula for a winner’s reward is as follows:

Point Value = Prize Pool / Total Points*

*Awarded for the entire competition

Examples for Clarity:

Example #1:

  • 163 Low Severity: 163 points
  • 1 Medium Severity: 6 points
  • 1 High Severity: 12 points

Total points: 181

In this scenario:

  • Value of 1 Point = 20,000 USDC/181 Total points = 110.50 USDC
    The rewards for this example will be as follows:
  • Low (163 points): $110.50 each
  • Medium (12 points): $1,326 in total.
  • High (25 points): $2,652 in total.

Example #2

  • 10 Low Severity: 10 points
  • 1 Medium: 6 points

Total points: 16

In this scenario:

  • Value of 1 Point = 20,000 USDC/16 Total points = 1250 USDC
    The results exceed the max reward per low severity, so the value of a point is adjusted.
  • The rewards for this example will be as follows:
  • Low (10 points): $1250 each -> $500
  • Medium (12 points): $7500 each -> $3000

Severities

High Severity

Issues that will qualify for this bracket will be assigned 12 points.

High-severity vulnerability description:

For a submission to be considered a HIGH-risk vulnerability, issues must:

  • Direct theft of any user funds, whether at rest or in motion
  • Long-term freezing of user funds
  • Theft or long-term freezing of unclaimed yield or other assets
  • Protocol insolvency

Medium Severity

Issues that will qualify for this bracket will be assigned 6 points.

Medium severity vulnerability description:

Issues that lead to an economic loss but do not lead to direct loss of on-chain assets. Examples are:

  • Gas griefing attacks (make users overpay for gas)
  • Attacks that make essential functionality of the contracts temporarily unusable or inaccessible
  • Short-term freezing of user funds

Low severity

Issues that will be qualified for this bracket will be assigned with 1 point.

Low severity vulnerability description:

  • Issues where the behavior of the contracts differs from the intended behavior (as described in the docs and by common sense), but no funds are at risk.

Gas Saving:

The 1st place in the gas optimization category will get 4 points. The 2nd place in the gas optimization category will get 2 points.

This competition will reward participants with ideas to maximize gas savings.

Gas Saving Guidelines:

  • Submissions should be in the form of a link to a private copy of the repository.
  • The semantics of the code should not change — i.e., apart from changes in gas usage, the code’s behavior should not change. In particular, the test suite should not be changed, and all tests should run.
  • To create the private copy of the repo:
  1. Create a new empty private repo on GitHub

2. Click Import

3. Paste the public repo link

  • Optimizations should use solidity (no inline assembly)
  • Before submitting, please add @jozer and @alfredolopez80 as collaborators to the private repo copy.
  • Gas savings will be judged based on total gas savings. This is measured as the total average amount of gas used for each function (i.e., the sum of all numbers in the “avg” column), as reported by the hardhat-gas-reporter.
  • Submitters should add the total average gas cost in the description of their submission
  • The files X, Y, Z are not in the scope of the competition
  • For the convenience of submitters and judges, the repository contains a script that will run the tests and output the average amount of gas used:

npm run gas-avg

  • Due to the rules category, submissions will not be public and will only be shared with the committee.

Limitations

Reporters will not receive a bounty for any known issue, such as:

  • Issues mentioned in any previous audit reports
  • Vulnerabilities that were already made public (either by HATs or by a third party)
  • “Centralization risks” that are known and/or explicitly coded into the protocol (e.g. an administrator can upgrade crucial contracts and steal all funds)
  • Attacks that require access to leaked private keys or trusted addresses
  • Issues/contracts mentioned in the out-of-scope section

Submission Guidelines — High/Medium/Low severities:

General Information:

  • The Hats team will create a new repository called “Palmera audit competition” under the Hats.finance organization on GitHub. The repository will be kept private until the competition starts. Hats bot will fork it on the first submission. To participate, security researchers must submit their findings on-chain, and an automatic GitHub issue will be generated in the forked repository.
  • How it Works: Video Explanation

SUBMISSION GUIDELINES:

  • Submissions should be made using our Dapp.
  • You can submit one on-chain submission mentioning all issues found on the repo.
  • All new submissions will be created on Hats forked repo on Hats: Hats GitHub

Report Format:

  • Please send a plain ASCII description in the following format:
  • [TITLE]: A short description of the issue.
  • SEVERITY: Either High, Medium, or Low (as per the rules).
  • Submission should contain at least one test demonstrating the problem and, if possible, a possible fix.

Report Template:

  • Description: Describe the context and the effect of the vulnerability.
  • Attack scenario: Describe how the vulnerability can be exploited.

Attachment:

  • Proof of Concept (PoC) File: Provide a file containing a proof of concept (PoC) that demonstrates the vulnerability.
  • Revised Code File (Optional): If possible, provide a second file containing the revised code that offers a potential fix for the vulnerability. This file should include:
  • Comment with a clear explanation of the proposed fix.
  • The revised code with suggested changes.
  • Add any additional comments or explanations clarifying how the fix addresses the vulnerability.
  • Recommendation: Describe a patch or potential fix for the vulnerability.

***Due to the nature of the audit competition mechanism, the report will not be encrypted.***

Evaluation:

  • The first participant to submit an issue following guidelines gets a bounty for that issue (issues already received or out of scope will not receive a reward).
  • The competition starts on June 24th at 15:00 GMT and ends on july 8th at 15:00 GMT.
  • Issues that we are aware of (as witnessed by any open issues in the repository) will not be eligible for the bug bounty.

Compensation and Impact

A prize pool of ~$20K USDC and NFT rewards from our hacker collection will be distributed among security researchers who submit eligible vulnerability disclosures.

Compensation payment timeline:

  • Ten days after the competition ends, we will announce a winner list.
  • Alongside the winner announcement post, submitters can send disputes to the committee team and request clarification. They can also involve the Hats security team in the process. The goal is to facilitate honest and professional debate regarding disputed submissions.
  • Between 7–14 days after the announcement, we will publish a split contract where the winners can claim their rewards.
  • HATS Service Fee: A 20% deduction from the payout will always be allocated as the service fee.

Security researchers play a crucial role in fostering trust and confidence in Web3 technologies, paving the way for mass adoption. By participating in this competition, security researchers can gain recognition for their work, raise their profile, and make valuable connections in the Web3 security ecosystem. Ultimately, they can contribute to creating a more secure and equitable community.

Join Palmera Audit Competition today and participate in the movement to secure the future of Web3 and decentralized finance. Check the Hats Finance dApp for more information and in-scope contracts.

Stay tuned and check Hats dApp:https://app.hats.finance/audit-competitions

--

--

HatsFinance

Hats.Finance a decentralized smart bug bounty marketplace. Permissionless, scalable, and open bug bounty protocol that allows anyone to provide liquidity.