Your launch-day transactions land on one leader and drop on the next.
Same fee, same compute budget, different validator client.
The Firedancer Report for 26 October 2026 puts Firedancer near 15% of active stake.
Your programs don't change. Your RPC calls don't change. How a block gets packed can.
Below: where adoption stands, what stays the same, and five pre-launch checks. Save it as a checklist.
Where Firedancer stands on mainnet today
Firedancer is a Solana validator client that Jump Crypto wrote from scratch in C. The GitHub README describes it as an independent implementation that adds client diversity. It shares no runtime or consensus code with Agave, the client Anza maintains.
It is live. The release page marks v26.10.4, dated 21 October 2026, as "a mainnet ready release" for operators. Tags follow a year-month-patch scheme. The tag tells you the release month.
Adoption is measurable. The Firedancer Report for 26 October 2026 shows Firedancer-based validators at 15.4% of active stake across 77 validators. Agave-based clients hold the rest across roughly 590 validators. The numbers move daily, so check the dashboard before you quote them.
That is a big change from a year earlier. The Solana Foundation's June 2025 network health report counted 34 Firedancer validators at about 7% of stake in April 2025. All of them ran the hybrid build. The October 2026 report lists no hybrid validators at all.
One recent wrinkle matters for timing. The Alpenglow upgrade page says the new consensus went live in epoch 1064 on 21 October 2026. It also says "Firedancer and Frankendancer were not supported for the migration."
Firedancer caught up fast. Release v26.10.2 added Alpenglow support a week before activation. By 26 October the dashboard showed Firedancer validators back on the 26.10 line. Expect some client churn while operators settle.
Frankendancer vs full Firedancer, and why you should care
Two names cause most of the confusion.
Frankendancer was the hybrid. The Firedancer docs describe it as Firedancer networking, signature verification, and block packing wrapped around Agave's runtime and consensus. Jump's project page calls it "an intermediate milestone that enables testing and deployment before Firedancer is fully implemented."
Full Firedancer replaces the Agave half too. The getting started guide now labels year-month tags as "Full Firedancer releases". The old v0.xxx.yyyyy tags are legacy Frankendancer releases. A version string that starts with 26 means the full client.
Why should an app team care? Because diversity only counts when the second client is independent. A Frankendancer validator still executed transactions with Agave code, so a runtime bug in Agave hit both. A full Firedancer validator executes with its own runtime. The same bug now has to exist in two codebases before it can stall the network.
What that means in practice
- A consensus or runtime bug in one client affects a minority of stake, not all of it.
- Two independent implementations must agree on every transaction result, which surfaces spec ambiguities faster.
- Operators can fail over between clients, so an outage in one doesn't take their stake offline.
None of that requires code changes from you. It changes what you test and what you watch.
What stays the same: runtime semantics, programs, RPC
Firedancer implements the Solana protocol. It is a second implementation, not a fork. The goal is to produce the same state as Agave for every block.
Your deployed programs run unchanged. Account layouts, PDAs, CPI depth, compute budgets, and transaction size limits are protocol rules, not client choices. Network-wide changes still arrive through feature gates tracked on the Solana upgrades page. Both clients activate them at the same slot.
Your RPC layer runs unchanged. JSON-RPC methods, WebSocket subscriptions, and commitment levels are the same, because your provider's RPC nodes answer them. The leader that packed your transaction never sees your query. Ask your provider which client their RPC nodes run, and don't assume it matches the leader.
Fees stay protocol-defined. The Solana fee docs set a base fee of 5,000 lamports per signature. The prioritization fee is ceil(compute_unit_price * compute_unit_limit / 1,000,000) lamports, and all of it goes to the leader. Neither client can change those numbers.
Compute limits stay protocol-defined too. The same docs list a 200,000 compute unit default per instruction, with a 1,400,000 cap per transaction.
What changes: scheduler behavior and transaction landing
The protocol says what a valid block is. It doesn't say which transactions a leader picks, or in what order. That's the scheduler. Each client has its own.
Firedancer's packer is configurable. The configuration guide exposes a [tiles.pack] section. It holds a schedule_strategy key, a pending-transaction cap of 65,524, and an account blocklist. The default strategy, balanced, fills the block at the slowest rate that still finishes on time. The alternative, perf, grabs the highest priority transactions as fast as it can.
Operators pick. So two Firedancer leaders can behave differently. Here is the default block, so you recognize it on a validator's dashboard:
# firedancer config.toml (defaults from docs.firedancer.io, release line 26.10)
[tiles.pack]
max_pending_transactions = 65524
use_consumed_cus = true
schedule_strategy = "balanced" # or "perf"
account_blocklist = []For your app, the effect shows up in three places:
- Landing rate by leader. A transaction with the same compute unit price can land in one leader's slot and miss the next. Measure landing per leader, not per hour.
- Fee market pressure. Agave and Firedancer leaders may order contended accounts differently, so the winning price in a hot market can differ by slot.
- Timing math. The reduced slot times rollout finished on 9 October 2026 at 200ms slots. That cut the blockhash window to about 30 seconds.
Contended workloads feel this first. Token launches. Bonding curves. Liquidation bots. Anything users race to be first on.
Our pump.science build is a historical example of that profile. Each compound got its own token through a bonding curve, with dynamic fees to counter bot activity. Liquidity migrated to Meteora at set milestones.
A general point, not an observation from that build. On any bonding-curve launch, the leader's scheduler decides who gets into the first block. That is the piece a second client can change.
5 checks to run before your next launch
These are the checks we recommend before a Solana mainnet launch. They assume you already have a dedicated RPC endpoint and a priority fee strategy. Run them on mainnet with small real amounts, because testnet's client mix differs.
- Map your landing rate to leader client. Log the slot each transaction lands in, pull the leader schedule for that epoch, and look the leader up on the Firedancer Report. If your success rate differs by client, your fee or retry logic is tuned for one scheduler.
- Re-test your priority fee estimator under load. Estimate from recent fees on the exact writable accounts you touch, not the cluster-wide median. Check the estimate during a Firedancer leader window and an Agave window on the same day.
- Replace every hardcoded 400ms. Countdowns, "slots until vesting ends" labels, blockhash refresh intervals, and indexer backfill estimates all break on 200ms slots. getBlockTime only returns whole seconds, so it can't measure this. Derive the live slot time from getRecentPerformanceSamples as samplePeriodSecs / numSlots, or use the documented 200ms target.
- Verify state equality across clients. For your hottest instruction, compare the account state your indexer sees from two RPC providers after finality. Differences are rare and serious, so the check is cheap insurance.
- Watch the client mix every epoch. Adoption changes which scheduler packs most of your transactions. Put it on the same dashboard as your landing rate.
How to watch Firedancer adoption
The last check is one script. It tallies version strings from getClusterNodes, documented in the Solana RPC reference. Read the histogram with the tag schemes in mind. Firedancer's year-month tags start with 26. Agave-based clients report 4.x, with older nodes still on 3.x or 2.x. Legacy Frankendancer builds report 0.x. The list includes RPC and non-voting nodes, which is why the stake-weighted dashboard remains the better source for share.
# Tally node software versions on mainnet by major version.
# Needs curl and jq. Replace the URL with your own RPC endpoint.
curl -s https://api.mainnet-beta.solana.com \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"getClusterNodes"}' \
| jq -r '.result[] | (.version // "null") | split(".")[0]' \
| sort | uniq -c | sort -rnWhen we ran it on 27 October 2026, 154 of 3,906 gossip entries reported a Firedancer version. That is a node count, not stake, which is why it looks different from the dashboard figure.
For stake-weighted adoption, watch three sources. The Firedancer Report gives per-client stake, skip rate, and slot duration. The GitHub releases page shows which line is marked mainnet ready. The Solana upgrades page lists which feature gates ship next and which clients support them.
FAQ
Do I need to change my Solana programs for Firedancer?
No. Firedancer implements the same protocol as Agave, so deployed programs, account layouts, and compute limits behave the same. What can differ is which transactions a leader includes and in what order, because each client has its own scheduler. Test landing rates and fee estimation rather than program logic.
Is Frankendancer still running on mainnet?
The 26 October 2026 Firedancer Report lists no Frankendancer validators. The docs now label v0.x tags as legacy Frankendancer releases. The Alpenglow page says neither Frankendancer nor Firedancer was supported for the 21 October migration. Treat Frankendancer as finished. Plan for Agave plus full Firedancer.
How much stake does Firedancer have?
About 15% of active stake across 77 validators on 26 October 2026, per the Firedancer Report. Agave-based clients, including the Jito and Harmonic variants, held the remaining 85% or so. Both figures change daily. Link the dashboard instead of quoting a number in your docs.
Will Firedancer make my transactions cheaper or faster?
Not by itself. The protocol sets base fees and the prioritization fee formula, as the fee docs describe. Feature gates set slot times, and both clients follow them. Inclusion under contention can differ. That depends on the leader's scheduler, so measure it rather than assume it.
Can my RPC provider be running Firedancer?
It could. The JSON-RPC interface is the same on both clients, so you may not notice. Ask your provider which client and version they run, then confirm that any custom methods you depend on exist on both. Your reads come from that node. Your writes get packed by whichever client the current leader runs.
Ship on a two-client Solana with Builderz
We've built on Solana since 2021. Our Solana development service covers the program, the client, and the launch plan around them. The five checks above are what we'd recommend before any contended launch. The pump.science case study shows the kind of workload where they matter.
Try the five checks on your next release candidate first. Then, when you want the landing-rate work done before launch day rather than after it, tell us about your Solana project.



