SmarDex

Submit a Bug
25 September 2023
Live since
Yes
KYC required
$500,000
Maximum bounty
08 April 2024
Last updated

Program Overview

SMARDEX is an Automated Market Maker (AMM) that addresses the issue of Impermanent Loss (IL) and in some cases transforms it into Impermanent Gain (IG). It is an open-source Smart Contract, which is a decentralized software that runs on compatible Ethereum Virtual Machine blockchains (such as Ethereum, Binance Smart Chain, Avalanche, Polygon, etc.). These blockchains are data exchange protocols that, similar to the Bitcoin blockchain, allow for the storage and transmission of information in a public, immutable, and decentralized manner. By using SMARDEX, users can exchange decentralized ERC20 tokens, which are digital assets.

For more information about SmarDex, please visit https://smardex.io/

SmarDex provides rewards in SDEX. For more details about the payment process, please view the Rewards by Threat Level section further below.

KYC Requirement The provision of KYC is required to receive a reward for this bug bounty program where the following information will be required to be provided:

  • name / surname
  • country of residence
  • ID

KYC information is only required on confirmation of the validity of a bug report.

Responsible Publication

SmarDex adheres to category 3: Approval Required. This Policy determines what information whitehats are allowed to make public from their submitted bug reports. For more information about the category selected, please refer to our Responsible Publication page.

Primacy of Impact vs Primacy of Rules

SmarDex adheres to the Primacy of Rules, which means that the whole bug bounty program is run strictly under the terms stated in this page.

Known Issue Assurance

SmarDex commits to providing Known Issue Assurance to bug submissions through their program. This means that SmarDex will either disclose known issues publicly or at the very least privately via a self-reported bug submission in order to allow for a more objective and streamlined mediation process to prove that an issue is known. Otherwise, assuming the bug report itself is valid, it would result in the bug report being considered in-scope and due 100% of the reward with respect to the bug bounty program terms.

Immunefi Standard Badge

SmarDex has satisfied the requirements for the Immunefi Standard Badge, which is given to projects that adhere to our best practices.

Rewards by Threat Level

Rewards are distributed according to the impact the vulnerability could otherwise cause based on the Impacts in Scope table further below.

Reward Calculation for Critical Level Reports

This bug bounty program is divided into Group 1 and Group 2:

  • Group 1: consists of Ethereum assets
  • Group 2: consists of all other chains

Critical smart contract vulnerability payouts for Group 1 are a minimum of USD 20 000 or 5% of the value at risk at the time of report submission, with a hard cap of USD 500 000, whichever is larger. Value at risk should be calculated primarily (though not exclusively) based on concrete and demonstrable funds at risk.

Critical smart contract vulnerability payouts for Group 2 are a minimum of USD 20 000, or 5% of the value at risk at the time of report submission, with a hard cap of USD 300 000, whichever is larger. Value at risk should be calculated primarily (though not exclusively) based on concrete and demonstrable funds at risk.

Repeatable Attack Limitations

In cases of repeatable attacks for smart contract bugs, only the first attack will be counted, regardless of whether the smart contract is upgradable, pausable, or killable.

Reward Calculation for High Level Reports

The payout is determined to be 10% of the value at risk. The minimum reward is set at $15,000. The maximum rewards (hard cap) are as follows:

  • USD 50 000 for Theft of unclaimed yield (for value of USD 500 000 at risk or greater)
  • USD 50 000 for Theft of unclaimed royalties (for value of USD 500 000 at risk)
  • USD 20 000 for Permanent freezing of unclaimed yield (for value of USD 200 000 at risk)
  • USD 20 000 for Permanent freezing of unclaimed royalties (for value of USD 200 000 at risk)
  • USD 15 000 for Temporary freezing of funds (for value of USD 150 000 at risk)

Value at risk should be calculated primarily (though not exclusively) based on concrete and demonstrable funds at risk

Reward Calculation for Medium Level Reports

Medium smart contract vulnerabilities will be paid out by the following:

  • USD 10 000 for Smart contract unable to operate due to lack of token funds
  • USD 5 000 for Griefing (e.g. no profit motive for an attacker, but damage to the users or the protocol)
  • USD 5 000 for Block stuffing
  • USD 1 000 for Theft of gas
  • USD 1 000 for Unbounded gas consumption

Public Disclosure of Known Issues

Bug reports covering previously-discovered bugs acknowledged below are not eligible for any reward through the bug bounty program.

  • Data manipulation with very high and/or very small numbers that would be theoretically possible but not applicable in real conditions.
  • Swap with bigger amount than fictive reserves are impossible even if the contracts theoretically hold enough tokens to execute the trade.
  • Farming DOS
  • Block stuffing to avoid the 300s protection and to exploit the vulnerability described in the white paper, section III. A.
  • Any way of exploit the vulnerability described in the white paper, section III. A

Previous Audits

SmarDex has provided these completed audit review reports for reference. Any fixed, unfixed or acknowledged vulnerability mentioned in these reports are not eligible for a reward. - https://smardex.io/audit-reports

Proof of Concept (PoC) Requirements

A PoC is required for the following severity levels:

  • Smart Contract - Critical
  • Smart Contract - High
  • Smart Contract - Medium
  • Smart Contract - Low

All PoCs submitted must comply with the Immunefi-wide PoC Guidelines and Rules. Bug report submissions without a PoC when a PoC is required will not be provided with a reward.

Other Terms and Information

This bug bounty program is divided into Group 1 and Group 2 for the Critical Smart Contract reward

  • Group 1: consists of Ethereum assets
  • Group 2: consists of all other chains

Reward Payment Terms

Payouts are handled by the SmarDex team directly and are denominated in USD. However, payments are done in SDEX.

In the last phase of the resolution process, we'll request that you confirm your Ethereum address. Once confirmed, rewards will be dispatched within three days, based on the CoinGecko price when the tokens are sent.

Smart Contract

Critical
Level
Group 1: USD $20,000 to USD $500,000, Group 2: USD $20,000 to USD $300,000
Payout
PoC Required
High
Level
USD $15,000 to USD $50,000
Payout
PoC Required
Medium
Level
USD $1,000 to USD $5,000
Payout
PoC Required
Low
Level
USD $1,000
Payout
PoC Required

Assets in scope

All code of SmarDex can be found at https://github.com/SmarDex-Dev/smart-contracts. Documentation for the assets provided in the table can be found at https://docs.smardex.io.

Other helpful links include:

Impacts in scope

Only the following impacts are accepted within this bug bounty program. All other impacts are not considered as in-scope, even if they affect something in the assets in scope table.

Smart Contract

  • Direct theft of any user funds, whether at-rest or in-motion, other than unclaimed yield
    Critical
    Impact
  • Permanent freezing of funds
    Critical
    Impact
  • Predictable or manipulable RNG that results in abuse of the principal or NFT
    Critical
    Impact
  • Protocol insolvency
    Critical
    Impact
  • Theft of unclaimed yield
    High
    Impact
  • Theft of unclaimed royalties
    High
    Impact
  • Permanent freezing of unclaimed yield
    High
    Impact
  • Permanent freezing of unclaimed royalties
    High
    Impact
  • Temporary freezing of funds
    High
    Impact
  • Smart contract unable to operate due to lack of token funds
    Medium
    Impact
  • Block stuffing
    Medium
    Impact
  • Griefing (e.g. no profit motive for an attacker, but damage to the users or the protocol)
    Medium
    Impact
  • Theft of gas
    Medium
    Impact
  • Unbounded gas consumption
    Medium
    Impact
  • Contract fails to deliver promised returns, but doesn't lose value
    Low
    Impact

Out of Scope & Rules

These impacts are out of scope for this bug bounty program.

All Categories

  • Impacts requiring attacks that the reporter has already exploited themselves, leading to damage
  • Impacts caused by attacks requiring access to leaked keys/credentials
  • Impacts caused by attacks requiring access to privileged addresses (governance, strategist) except in such cases where the contracts are intended to have no privileged access to functions that make the attack possible
  • Impacts relying on attacks involving the depegging of an external stablecoin where the attacker does not directly cause the depegging due to a bug in code
  • Mentions of secrets, access tokens, API keys, private keys, etc. in Github will be considered out of scope without proof that they are in-use in production
  • Best practice recommendations
  • Feature requests
  • Impacts on test files and configuration files unless stated otherwise in the bug bounty program

Smart Contracts and Blockchain/DLT

  • Incorrect data supplied by third party oracles
    • Not to exclude oracle manipulation/flash loan attacks
  • Impacts requiring basic economic and governance attacks (e.g. 51% attack)
  • Lack of liquidity impacts
  • Impacts from Sybil attacks
  • Impacts involving centralization risks
  • Best practice recommendations

The following activities are prohibited by this bug bounty program:

  • Any testing on mainnet or public testnet deployed code; all testing should be done on local-forks of either public testnet or mainnet
  • Any testing with pricing oracles or third-party smart contracts
  • Attempting phishing or other social engineering attacks against our employees and/or customers
  • Any testing with third-party systems and applications (e.g. browser extensions) as well as websites (e.g. SSO providers, advertising networks)
  • Any denial of service attacks that are executed against project assets
  • Automated testing of services that generates significant amounts of traffic
  • Public disclosure of an unpatched vulnerability in an embargoed bounty