Stacks-logo

Stacks

|

Stacks is a Bitcoin layer for smart contracts; it enables smart contracts and decentralized applications to use Bitcoin as an asset and settle transactions on the Bitcoin blockchain. Stacks is secured by the entire hash power of Bitcoin, giving it Bitcoin finality.

Stacks
Bitcoin
Blockchain
L1
Rust
Bitcoin Script
Clarity
Maximum Bounty
$250,000
Live Since
31 March 2022
Last Updated
01 September 2026
  • Triaged by Immunefi

  • PoC Required

  • KYC required

  • Arbitration enabled

Rewards

Stacks provides rewards in STX on Bitcoin, denominated in USD.

Rewards by Threat Level

Blockchain/DLT
Critical
Max: $250,000Min: $15,000
Primacy of Rules
High
Max: $15,000Min: $5,000
Primacy of Rules
Medium
Max: $5,000Min: $2,500
Primacy of Rules
Low
Max: $2,500Min: $1,000
Primacy of Rules
Critical Reward Calculation

Reward amount is 10% of the funds directly affected, capped at the maximum critical reward of:

$250,000

Minimum reward to discourage security researchers from withholding a bug report:

$15,000
The reward is dependent on the ratio between the funds at risk, which includes all affected projects on top of the respective blockchain/DLT, and the market cap according to the average between CoinMarketCap.com and CoinGecko.com, calculated at the time the bug report is submitted.
Smart Contract
Critical
Max: $250,000Min: $15,000
Primacy of Rules
High
Max: $15,000Min: $5,000
Primacy of Rules
Medium
Max: $5,000Min: $2,500
Primacy of Rules
Low
Max: $2,500Min: $1,000
Primacy of Rules
Critical Reward Calculation

Mainnet assets:

Reward amount is 10% of the funds directly affected up to a maximum of:

$250,000

Minimum reward to discourage security researchers from withholding a bug report:

$15,000
Rewards Body

Rewards are distributed according to the impact of the vulnerability based on the Immunefi Vulnerability Severity Classification System V2.2. This is a simplified 5-level scale, with separate scales for each category, encompassing everything from consequence of exploitation to privilege required to likelihood of a successful exploit.

Stacks DoS Severity Classification

For Blockchain/DLT reports, the denial-of-service (DoS) severity classification combines blast radius (B) and recovery needed to restore chain progression or valid confirmations (R). The matrix determines the final severity.

Blast Radius

  • B1 (Local or short-lived DoS): One miner or signer fails without preventing other honest participants from confirming proposals, or the disruption is resolved with a new bitcoin-anchored tenure won by a different miner.
  • B2 (Partial confirmation failure): The attack prevents some valid transactions or honest proposals from reaching the canonical chain while other transactions confirm and the chain progresses. The inclusion of the affected transactions or proposals is not restored after a different miner wins a new Bitcoin-anchored tenure.
  • B3 (Network shutdown): The attack prevents the network from confirming new valid transactions. The network’s ability to confirm transactions is not restored after a different miner wins a new Bitcoin-anchored tenure.

An issue with no material effect on a supported production service is Informational or out of scope.

Recovery

  • R1 (Automatic recovery): Default automation restores chain progress and confirmations without operator action. It remains effective if the attacker repeats the attack.
  • R2 (Existing-software recovery): Miners, signers, or nodes restore confirmations by restarting, reconfiguring, or activating a prepared backup. Recovery requires no new software or consensus change. To cause another incident, the attacker must re-establish the attack's preconditions.
  • R3 (Non-consensus-changing software recovery): Confirmations cannot resume until the mining or signing set deploys a new build, patch, or other artifact that does not change consensus.
  • R4 (Consensus-changing recovery): Confirmations cannot resume without a consensus change.

Severity

B / RR1 (auto-recovery)R2 (restart)R3 (sw upgrade)R4 (permanent freeze / hard fork)
B1 (local)LOWLOWLOWLOW
B2 (partial)LOWLOWMEDIUMMEDIUM
B3 (complete)LOWMEDIUMMEDIUMHIGH

Notes on DoS Vectors Classification

  • A coordinated restart is R2 when it clears the attack state and another incident requires a new attacker action, such as resubmitting the trigger or winning another sortition (meaning it has to rebuild the attack preconditions). A patch installed after confirmations resume is remediation and does not change that recovery grade.
  • To demonstrate a partial confirmation failure (B2), a valid transaction or honest proposal that the attack is claimed to block must reach the canonical chain in a test without the attack and fail to reach it in an otherwise equivalent test with the attack. An unrelated valid transaction must continue to confirm while the attack is active, showing that the chain continues to progress.
  • A network shutdown (B3) must be demonstrated across the independent production roles required to stop confirmations. A test node hosting both miner and signer roles represents one failure domain unless the supported production deployment uses the same topology. A malicious miner can always withhold blocks during its own tenure, so that behavior alone does not demonstrate a DoS vulnerability.
  • To demonstrate a network shutdown (B3), the proof of concept must reproduce the halt with miner and signer roles running separately.
  • A malicious miner can always withhold blocks during its own tenure, so that behavior alone does not demonstrate a DoS vulnerability.
  • Default timeouts and resource guards must remain enabled because they determine the effect of the attack. An underpriced transaction that reaches a default timeout and is rejected while other transactions continue to confirm does not establish B2 or B3. Reserving virtual address space alone does not demonstrate memory exhaustion; the proof of concept must produce an out-of-memory (OOM) condition or process termination under the recommended configuration https://docs.stacks.co/operate/run-a-node.
  • A report may describe multiple distinct attack vectors. Each vector will be graded using its own demonstrated impact and recovery; evidence from separate vectors will not be combined. Multiple steps required to execute one attack form a single vector will be assessed together. The report is classified at the highest severity established by any eligible vector.

Critical Finding Limits

Please note that Critical finding bounties are capped at 10% of the damage resulting from the finding. This mostly takes into account technical and financial damage but also includes the “human” impact, including reputational risk.

We guarantee a minimum payout of $15,000 USD for all valid Critical findings.

We Will

  • Respond meaningfully to all reported issues in a timely manner.
  • Not pursue legal action against or “counter-hack” any researchers acting in good faith and abiding by this program’s rules.
  • Consider theoretical attacks and findings without proof-of-concept code as long as technically meaningful, evidence-based arguments are provided.

You Must

  • Undergo full KYC. We are based in the Cayman Islands and abide by strict AML law, including OFAC controls/sanctions and onchain wallet address screening.
  • Not be based or test from an OFAC-sanctioned country or region or (be a sanctioned individual or organization) as defined here: https://ofac.treasury.gov/sanctions-programs-and-country-information
  • Report all bugs using this template. All fields are required unless otherwise marked.
    • Executive summary of issue:
    • Finding details:
    • Repository, file, and line of code where finding is found:
    • Steps to replicate:
    • Impact of finding (short term):
    • Impact of finding (long term):
    • Mitigation suggestions (short term):
    • Mitigation suggestions (long term):
    • (Optional) Suggested patch:
    • (Optional) Any useful links or resources:
    • (Optional) Do you want a shout-out on our Security Wall of Fame?
    • (Optional, if approved) Do you want a cybersecurity-themed NFT sent to your Stacks wallet?
  • Use a private testnet. Testing on mainnet or public testnets is forbidden.

A proof-of-concept is required for all submissions. Please include it in the corresponding form field.

Payments

Payouts are handled by the Stacks Endowment team directly and are denominated in USD. However, payments will be made in the USD equivalent in the Stacks token (STX).

Program Overview

Stacks is a Bitcoin layer for smart contracts; it enables smart contracts and decentralized applications to use Bitcoin as an asset and settle transactions on the Bitcoin blockchain. Stacks is secured by the entire hash power of Bitcoin, giving it Bitcoin finality.

For more information about Stacks, please visit https://stacks.org and https://www.stacks.co.

We at the Stacks Foundation maintain essential components of the Stacks blockchain infrastructure. Our security team prioritizes the following attack vectors:

  • Theft of funds
  • Permanent freezing of funds
  • Total network shutdown or unauthenticated denial-of-service vectors
  • Chain split or deep fork vectors
  • Invalid transactions processing successfully or confirming
  • Consensus failures
  • Remotely exploitable weaknesses (as triggered through standard Stacks
    • RPC and P2P ports only)
  • (In smart contracts) Vote manipulation
  • (In smart contracts) Block stuffing attacks
  • (In smart contracts) Theft or loss of unclaimed rewards

Program Response SLA

Stacks defines its own response and resolution SLA's as described below:

SeverityAcknowledgement + Triage SLAResolution + Payment SLA (starting from date ack'd by Stacks)
Critical2 weeks6 weeks
High2 weeks6 weeks
Medium4 weeks7 weeks
Low4 weeks8 weeks

Known Issues

Category
Websites and Applications
Description / Link
Best Practices to Run a Signer | Operate | Stacks Documentation
Last Updated At
1 January 2025
Category
Websites and Applications
Description / Link
Issues - stacks-network/stacks-core
Last Updated At
1 January 2025
Category
Websites and Applications
Description / Link
Pull Requests - stacks-network/stacks-core
Last Updated At
1 January 2025
Category
Websites and Applications
Description / Link
Run a Node Behind a Proxy | Operate | Stacks Documentation
Last Updated At
1 January 2025
Category
Websites and Applications
Description / Link
OpSec Best Practices | Operate | Stacks Documentation
Last Updated At
1 January 2025

KYC required

The submission of KYC information is a requirement for payout processing.

Proof of Concept

Proof of concept is always required for all severities.

Responsible Publication

Category 3: Approval Required

Prohibited Activities

Default prohibited activities
  • 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
  • Any other actions prohibited by the Immunefi Rules

Feasibility Limitations

The project may be receiving reports that are valid (the bug and attack vector are real) and cite assets and impacts that are in scope, but there may be obstacles or barriers to executing the attack in the real world. In other words, there is a question about how feasible the attack really is. Conversely, there may also be mitigation measures that projects can take to prevent the impact of the bug, which are not feasible or would require unconventional action and hence, should not be used as reasons for downgrading a bug's severity.

Therefore, Immunefi has developed a set of feasibility limitation standards which by default states what security researchers, as well as projects, can or cannot cite when reviewing a bug report.

Total paid

1.8M

Med. Resolution Time
4 days
Total Assets in Scope
8