Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
LABS
Glossary

Release Candidate

A release candidate (RC) is a feature-complete version of node client software, considered stable and ready for final testing and auditing before a scheduled network upgrade or hard fork.
Chainscore © 2026
definition
SOFTWARE DEVELOPMENT

What is a Release Candidate?

A Release Candidate (RC) is a near-final version of a software product that is considered stable and feature-complete, intended for final testing before general release.

A Release Candidate (RC) is a pre-release software build that is considered feature-complete and code-frozen, meaning no new features are added and only critical bug fixes are permitted. It represents the final stage of testing before a stable public release, often labeled as v1.0 or a general availability (GA) version. The primary goal of an RC is to identify any last-minute, show-stopping bugs in an environment that closely mirrors production, often involving a broader audience of beta testers or early adopters.

In development workflows like GitFlow, a release candidate is typically branched from the develop branch and enters a final stabilization phase. During this phase, the focus shifts entirely from development to quality assurance (QA), performance testing, and security auditing. Any bugs discovered are fixed in the RC branch, and these fixes may be merged back into the main development line. This process creates a clear separation between ongoing feature development and the final steps to ship a stable product.

The release candidate process is crucial for mitigating risk. It allows developers to gather feedback on installation, upgrade paths, and documentation. A common practice is to issue Release Candidate 1 (RC1), RC2, etc., with each iteration incorporating fixes from the previous round. Only when no critical issues (Priority 1 or 'P1' bugs) are found is the build deemed ready for official release. In blockchain contexts, RCs for protocol upgrades or new client software are especially critical, as they require extensive testing across diverse network conditions before a mainnet deployment.

key-features
SOFTWARE DEVELOPMENT

Key Features of a Release Candidate

A Release Candidate (RC) is a near-final build of software considered stable enough for final testing before general release. It is a critical phase in the development lifecycle, distinct from earlier alpha or beta versions.

01

Feature Complete & Code Frozen

A Release Candidate is feature complete, meaning all planned functionality is implemented. The codebase enters a code freeze, where no new features are added. Development focuses solely on fixing critical bugs, security vulnerabilities, and performance regressions identified during testing.

02

Final Stage of Testing

This phase involves rigorous, production-like testing to uncover any remaining critical issues. Testing focuses on:

  • Integration testing of all components.
  • Performance and load testing under expected traffic.
  • Security audits and penetration testing.
  • User Acceptance Testing (UAT) by a limited group of end-users or stakeholders.
03

Potential for Multiple Iterations

It is common to have sequential releases (e.g., RC1, RC2). Each iteration addresses bugs found in the previous one. The cycle repeats until no showstopper bugs (critical defects) are found, at which point the RC is declared the Gold Master or final release version.

04

Stable API & ABI

For libraries, frameworks, and developer tools, a Release Candidate signifies that the Application Programming Interface (API) and Application Binary Interface (ABI) are stable. Developers can safely build against the RC with confidence that their integrations will not break in the final release.

05

Distinction from Beta

Unlike a beta version, which is often feature-complete but expects many bugs, an RC is expected to be stable enough for production use. The goal shifts from gathering feedback on features to ensuring absolute reliability. A beta asks "Is it usable?" An RC asks "Is it shippable?"

06

Release Readiness & Go/No-Go Decision

The RC phase culminates in a formal go/no-go decision. Stakeholders review test results, bug metrics, and quality reports. If criteria are met, the RC is signed off as the final release. If not, another RC iteration is initiated, delaying the public launch.

how-it-works
SOFTWARE DEVELOPMENT

How the Release Candidate Process Works

A detailed breakdown of the final testing and stabilization phase before a major software release, explaining its purpose, stages, and key participants.

A Release Candidate (RC) is a pre-release software build that is considered feature-complete and potentially shippable, intended for final testing by a wider audience to identify any remaining critical bugs. This phase follows beta testing and precedes the General Availability (GA) or final production release. The primary goal is to achieve code freeze, where no new features are added, allowing the development team to focus exclusively on stability, performance, and fixing showstopper bugs that would block the official launch.

The process typically involves multiple iterative RC builds, numbered sequentially (e.g., RC1, RC2). Each candidate is distributed to quality assurance (QA) teams, internal stakeholders, and sometimes a select group of external users or partners. Rigorous testing—including regression testing, integration testing, and load testing—is performed. If critical issues are found, they are patched, and a new RC build is issued. The cycle repeats until a predetermined quality threshold is met, often defined by a period with zero open P0 or P1 (critical/high-priority) bugs.

Key participants in this phase include developers for hotfixes, QA engineers for validation, product managers for go/no-go decisions, and devops engineers managing the build pipeline. A successful RC process culminates in a release candidate sign-off, where all stakeholders approve the build for production deployment. This methodical, gate-kept approach, central to many blockchain client and enterprise software release cycles, minimizes the risk of introducing major defects into live environments and builds confidence in the software's reliability.

ecosystem-usage
RELEASE CANDIDATE

Ecosystem Usage & Examples

A Release Candidate (RC) is a near-final software version considered stable for final testing before official release. In blockchain, it's a critical phase for network upgrades and protocol changes.

03

Final Security & Economic Audits

The RC phase triggers the final round of security reviews and economic modeling. Key activities include:

  • Fuzzing and formal verification of the new code.
  • Economic stress tests to model validator incentives and slashing conditions.
  • Bug bounty programs are often intensified, offering rewards for critical vulnerabilities discovered in the RC. This stage is the last line of defense against exploits that could threaten network security or user funds.
04

Governance & Community Signaling

For decentralized networks, a Release Candidate serves as a tangible artifact for on-chain or off-chain governance signaling. Token holders or validators can signal readiness or approval by:

  • Upgrading their nodes to the RC version on testnet.
  • Participating in governance votes that reference the specific RC build.
  • This creates a clear, auditable checkpoint for community consensus before irrevocable mainnet deployment.
05

Developer Tooling & Infrastructure

Infrastructure providers and dApp developers use the RC period to ensure compatibility. This involves:

  • Updating JSON-RPC API clients and libraries (e.g., ethers.js, web3.py).
  • Testing indexers, oracles, and bridges with the new protocol rules.
  • Deploying and testing smart contracts on the forked testnet to verify behavior changes (e.g., new opcodes, gas costs). This prevents service disruptions post-upgrade.
SOFTWARE DEVELOPMENT LIFECYCLE

Release Candidate vs. Other Pre-Release Versions

A comparison of key characteristics across major pre-release software stages, from initial builds to final candidate.

Feature / StageAlphaBetaRelease Candidate (RC)

Primary Goal

Internal feature validation & core testing

External user feedback & bug hunting

Final stabilization & bug-fix verification

Audience / Testers

Internal developers & QA team only

Limited external, trusted users or public

Broad public or all stakeholders

Feature Completeness

Core features implemented; unstable

All planned features implemented

Feature freeze; no new features added

Code Stability

Highly unstable; frequent crashes expected

Moderately stable; major bugs present

Highly stable; only critical bug fixes allowed

Release Readiness

Not for public use

Potentially shippable, but with known issues

Intended to be the final version if no critical bugs

Feedback Focus

Architecture, performance, core logic

Usability, compatibility, edge-case bugs

Showstopper bugs, last-minute regressions

Typical Duration

Weeks to months

1-3 months

Weeks to 1 month

Version Naming Convention

v0.1.0-alpha.1, v1.0.0a1

v1.0.0-beta.1, v1.0.0b2

v1.0.0-rc.1, v1.0.0rc2

security-considerations
SOFTWARE DEVELOPMENT LIFECYCLE

Security & Operational Considerations

A Release Candidate (RC) is a pre-release software build considered feature-complete and potentially shippable, pending final testing and bug fixes. This phase is critical for hardening security and ensuring operational stability before mainnet deployment.

01

Definition & Purpose

A Release Candidate (RC) is a version of software that is feature-complete and has passed initial quality assurance, deemed ready for final testing before a stable release. Its primary purpose is to serve as a final proving ground for security audits, performance testing, and community validation, minimizing the risk of critical bugs reaching production.

02

Security Implications

The RC phase is the last opportunity for security researchers and auditors to conduct penetration testing and vulnerability assessments on a near-final codebase. Discovering a critical vulnerability at this stage can prevent catastrophic exploits post-launch, such as reentrancy attacks, governance takeovers, or fund loss. It is standard practice to run a bug bounty program concurrently with the RC release.

03

Operational Testing

Teams deploy the RC in a staging environment that mirrors mainnet conditions to test:

  • Network upgrades and hard fork compatibility
  • Node operator deployment scripts and configurations
  • Monitoring and alerting systems under load
  • Disaster recovery and rollback procedures This validates operational readiness and ensures a smooth, coordinated mainnet launch.
04

RC vs. Testnet vs. Mainnet

Understanding the deployment pipeline is key:

  • Testnet: Used for early development and integration testing with valueless tokens.
  • Release Candidate (RC): A candidate for mainnet, often deployed on a long-running testnet (e.g., Goerli, Sepolia) with final code, but still using test ETH.
  • Mainnet: The live production blockchain where transactions have real economic value and consequences. An RC must pass all gates before promotion to mainnet.
05

Community & Ecosystem Coordination

A successful RC launch requires ecosystem-wide coordination. This includes:

  • Wallet providers (e.g., MetaMask) updating support.
  • Block explorers (e.g., Etherscan) indexing the new chain.
  • Bridge and oracle operators deploying upgrades.
  • DApp developers testing integrations. Clear communication channels and a defined release timeline are essential to synchronize these parties.
06

Exit Criteria & Promotion

A Release Candidate is promoted to a stable release only after meeting strict exit criteria, which typically include:

  • Zero critical or high-severity bugs open for a defined period.
  • Successful completion of a final security audit round.
  • Stress test results meeting performance benchmarks (e.g., TPS, finality time).
  • Community consensus from core developers, client teams, and major stakeholders via governance processes.
SOFTWARE DEVELOPMENT

Common Misconceptions About Release Candidates

In blockchain and software development, a Release Candidate (RC) is a critical phase often misunderstood. This glossary clarifies the precise meaning, purpose, and lifecycle of an RC, separating fact from common industry fiction.

A Release Candidate (RC) is a pre-release software build that is considered feature-complete and potentially shippable, intended for final testing before general availability. It is not a beta version; the core assumption is that no new features will be added, and the focus shifts entirely to identifying and fixing critical bugs, regressions, and performance issues. The 'candidate' designation means it is a candidate to become the final release if no showstopper bugs are found. In blockchain protocols like Ethereum, an RC for a network upgrade (e.g., Ethereum 2.0's Altair or Shanghai upgrades) undergoes rigorous testing on testnets by node operators and developers before mainnet deployment.

RELEASE CANDIDATE

Frequently Asked Questions (FAQ)

Common questions about the final testing phase before a major software or protocol upgrade is deployed to the main network.

A release candidate (RC) is a pre-release version of software, such as a blockchain client or protocol upgrade, that is considered feature-complete and potentially ready for final production deployment. It is the last stage of testing before a mainnet launch or hard fork. The primary goal is to identify any critical bugs or issues that were not caught in earlier alpha or beta testing phases. Developers and the community are encouraged to test the RC extensively on testnets to ensure stability and security. If no major issues are found, the RC becomes the final release version.

ENQUIRY

Get In Touch
today.

Our experts will offer a free quote and a 30min call to discuss your project.

NDA Protected
24h Response
Directly to Engineering Team
10+
Protocols Shipped
$20M+
TVL Overall
NDA Protected Directly to Engineering Team
Release Candidate (RC) - Blockchain Node Software | ChainScore Glossary