Bug Bounty

Find a bug. Earn XE.

Help harden the protocol before genesis. The programme runs in phases — one area of functionality at a time, open across the foreseeable future of development. Phase 1 — transactions & running a node — is the active scope. Report vulnerabilities on GitHub and earn up to 10,000 XE per finding — paid in native XE at mainnet launch. Rewards are discretionary and contingent on launch; the bounty pool is still being finalized, and XE carries no guaranteed monetary value.

1 / 7Active Phase
10,000Top Tier (XE)
5Severity Tiers
GitHubSubmission Channel
GenesisPayout Date
Programme Phases

The bounty is a standing programme, not a one-off event: it opens one area of the system at a time and stays open as the protocol is built. Phase 1 is live now. Later phases are listed here by title only — each one's scope, examples and rules go up when that phase opens, and no phase closes the programme.

  1. Phase 1transactions & running a nodeopen now
  2. Phase 2p2p networking & syncupcoming
  3. Phase 3consensus & finalityupcoming
  4. Phase 4api, web ui & user surfacesupcoming
  5. Phase 5leases, escrow & computeupcoming
  6. Phase 6tokenomics & emissionupcoming
  7. Phase 7gpu computeupcoming

Phases open as each area settles, not on a fixed calendar. Findings outside the active phase are not eligible for reward yet — except Critical and Severe findings, which we want immediately whatever area they land in, and always pay.

Phase 1 Scope

Phase 1 is the entry point to the system: everything one node and one keypair can do on their own or against themselves. That is the scope of the programme today — set your testing to it.

In Scope — Phase 1
  • Block types and validation — send, receive, mint, burn
  • XE accounting in micro-units
  • Wallet and CLI key handling — ed25519 keygen, signing, addresses
  • Node lifecycle — config, storage, restart and recovery
  • Crash resistance against malformed or crafted input
  • Local node API basics
  • Docs and site errors that misstate any of the above
Out of Scope
  • Areas held for a later phase (unless Critical or Severe)
  • Social engineering of XE staff or users
  • Physical attacks on hardware
  • Volumetric DDoS against testnet
  • Spam/rate-limit abuse without protocol impact
  • Third-party deps without XE-specific exploit
  • Marketing pages without functional impact
  • Self-XSS and missing headers without exploit
  • Issues requiring a compromised user device
Reward Tiers

The same five tiers apply in every phase. Severity assigned by the XE core team based on impact, exploitability, and report quality. Amounts are targeted ceilings — exceptional findings may exceed them — and are provisional until the bounty pool is finalized ahead of mainnet launch.

Critical
10,000XE

Catastrophic protocol breaks. Unauthorized mint, double-spend, key recovery, or lattice compromise.

Severe
5,000XE

Serious breaks short of catastrophe. Signature forgery, validation bypass, node compromise — exploitable and damaging at scale.

High
2,500XE

Targeted DoS, race conditions, replay attacks, privilege escalation.

Medium
1,000XE

Validation gaps, fee mismatch, non-sensitive disclosure, inconsistent API responses.

Minor
100XE

UI bugs, typos, broken explorer views, misleading log messages, documentation errors.

Bug Classes

Illustrative Phase 1 examples per tier. If you find something impactful inside the Phase 1 scope that doesn't fit below, report it anyway.

SeverityClassExamplesReward
CriticalSupply & ledger integrityunauthorized mint · double spend · balance inflation · micro-unit overflow10,000 XE
CriticalCryptographic compromisekey recovery · signature forgery · identity hijack10,000 XE
SevereBlock validation bypassmalformed block accepted · send/receive/burn rule bypass · unsigned state change5,000 XE
SevereNode compromise & ledger losscrash from crafted input · storage corruption · unrecoverable restart5,000 XE
HighRace conditions & state transition bugsrace condition · replay attack · state inconsistency · TOCTOU2,500 XE
HighKey handling & local privilegekey material exposure · unsafe file permissions · unauthorized local API action2,500 XE
MediumValidation & accounting edge casesfee mismatch · validation gap · API inconsistency · rounding1,000 XE
MediumInformation disclosuremetadata leak · verbose error · debug exposure1,000 XE
MinorUI/UX, docs & cosmeticlayout · responsive · a11y · typo · broken link · log noise100 XE
Leaderboard

Ranked by total XE awarded across every phase. Updated when the site is redeployed after reports are triaged.

RankResearcherReportsXE Earned
No reports accepted yet.

File a finding to claim the top spot.

Updated manually when the site is redeployed as reports are accepted and paid.

How to Report

Reports are filed as public issues on github.com/xeprotocol/xe. Critical/Severe findings go privately by email first — we coordinate disclosure and open the public issue once a patch has shipped.

  1. 01
    Reproduce against testnet

    Verify on test.network. Capture tx hashes, block heights, exact reproduction steps.

  2. 02
    File a GitHub issue

    Open an issue at github.com/xeprotocol/xe/issues/new with a suggested severity tier and the Phase 1 area it lands in. Public by default — for Critical/Severe findings, see step 4 instead.

  3. 03
    Include a clear PoC

    Minimal reproduction script or test case. Impact analysis: who's affected, worst case.

  4. 04
    Critical/Severe: email first

    Findings that risk funds or the network go privately to security@xe.network— not a public issue. Ask for an encryption key first; we'll reply with one before you send details, then with a tracking ID. A public issue goes up once a patch ships.

  5. 05
    Triage & acceptance

    Core team confirms, assigns severity, and replies on the issue (or by email with a tracking ID for Critical/Severe) — we apply tracking labels ourselves on triage.

  6. 06
    Payout at genesis

    Accepted bounties pay in native XE at mainnet launch, if and when it happens. Provide an XE address (or a designated mainnet address) in your report.

Rules

Ready to break things?

Spin up an account on testnet, hammer Phase 1 — transactions and a node of your own — and tell us what falls over.