Skip to content
Open app

Bug bounty

Human-generated

All issues must be submitted to security@(website).org.

ALL EMAILS MUST BE ENCRYPTED WITH THE SECURITY PGP KEY OR YOU WILL FORFEIT ANY REWARD.

Include your own PGP key in the encrypted message to facilitate response.

Rewards paid in XMR. Anything not in scope will be analyzed and rewarded based on impact on a case-by-case basis. Issues of lower severity than the explicit scope are still considered and possibly rewarded. Read the explanation of invalid issues at the bottom of this page before submitting.

Rewards will increase as value transferred through Chainjump increases. The current maximum reward is $2,000.

A working, executable proof-of-concept is recommended and may be required if the problem is not obvious via description.

This section assumes arbitrary solver behavior and findings must be independent of the chainjump-solver implementation.

$2,000 reward

  • User or solver losing non-dust swap funds, to the benefit of another party (e.g., a solver paying the user, but being unable to prove, or a user losing the principal from the solver generating a false proof)

$500 reward

  • Solver losing bond
  • Griefing, where one party loses funds while the other party also loses or must spend funds (exceptions apply)

This section covers bugs specifically in the solver implementation, even though its scope is similar.

$2,000 reward

  • Solver losing non-dust swap funds, to the benefit of another party
  • Exposing the ETH/XMR private keys to users not granted explicit access to the machine
  • Causing non-dust unintended payments

$500 reward

  • Solver losing bond
  • Griefing, where the solver loses funds while the user also loses or must spend funds
  • Bypassing configured spending limits or causing unintended repeated proving/gas expenditure (forcibly, excluding natural scenarios like ETH gas rising)

$200 reward

  • Freezing the solver or preventing new requests from being satisfied (e.g. with a malformed intent. If this enables higher scopes, it is valid for those)
  • Wrong default configuration

$1,000 reward

  • Replacing production wallet requests with your own arbitrary requests

Rewards are covered through chainjump scope. If you find an issue that enables anything in the chainjump scope, you will be rewarded according to that, e.g. a RandomX implementation bug that enables a false settlement proof qualifies under the chainjump scope.

No rewards.

Only one reward is issued per underlying issue, even when several repositories are affected. The highest applicable reward is paid. Repeatable small losses are assessed by their realistically achievable aggregate impact.

  • Issues in upstream dependencies, which should be reported upstream
  • Issues that violate security assumptions or are obviously known (e.g. “if the solver has lots of compute, the proof PoW can be faked”, “Monero might not produce a block with the required difficulty in time”, “Succinct can freeze the prover at the router level”)
  • Issues that need the solver to use an obviously wrong non-default config
  • DDoS (solver or website)
  • Availability/trust issues (e.g., “if the RPCs are down/malicious, the solver cannot prove”)
  • Complicated griefing issues involving Monero output key manipulation by the solver
  • Reorgs
  • Solver timing issues that do not cause loss or are extremely unlikely
  • Solvers who deliberately forfeit ETH payment or settlement without any further impact
  • Minor issues which do not warrant a fix