DigiByte Core v9.26.2 is the formal DigiByte v9 release and the official DigiDollar mainnet activation release.
This is not another RC, PRE build, modified-mainnet rehearsal, or oracle-only test build. This release returns to normal DigiByte mainnet settings and is intended for the full public network. Everyone running DigiByte infrastructure should upgrade from v8.26.2 or older.
DigiByte v9 is a major new release line since v8.26.2. It updates the DigiByte Core base to the Bitcoin Core v26.2 generation and adds the DigiDollar soft-fork deployment.
DigiDollar does not become usable on mainnet simply because this software is released. It activates through BIP9 miner signaling. You can follow deployment status at:
https://digibyte.io/activation
Mainnet is normal mainnet:
| Setting | Value |
|---|---|
| Network | DigiByte mainnet |
| P2P port | 12024 |
| RPC port | 14022 |
| Onion target port | 14122 |
| Message start bytes | fa c3 b6 da |
| Data directory | default DigiByte mainnet data directory |
| Genesis block | unchanged DigiByte mainnet genesis |
Do not use the old pre-mainnet test ports, temporary data directories, or modified activation settings with this release.
Separately from DigiDollar, v9.26.2 ships an urgent consensus security fix. Every node on the DigiByte network must upgrade to v9.26.2. This is not optional and is independent of whether you use DigiDollar.
DigiByte secures the chain with five mining algorithms (SHA256d, Scrypt, Skein, Qubit, Odocrypt). A sixth algorithm, Groestl, was retired in 2019 at the Odocrypt fork. The rule that rejected retired-algorithm blocks existed in the v7.17.3-era software, but it was accidentally dropped during the v8 Bitcoin Core rebase in 2021/2022. The function that knew Groestl was retired still existed and was used for difficulty and display, but the single line that enforced it when accepting a block was gone. Because nobody mined Groestl, its difficulty fell to the lowest possible setting and the gap stayed dormant for years.
Starting 2026-06-28 16:40:05 UTC, at block 23,751,096, an actor — using AI to analyze DigiByte's consensus rules — reactivated Groestl and began mining a sixth algorithm at floor difficulty.
No coins were stolen and no confirmed transactions were reversed. There is no evidence of a successful 51% attack, though the cheap mining is consistent with an attempt: across every competing branch the network has seen, none ever accumulated more total work than the honest chain, and the deepest reorganization of the active chain was 4 blocks. The damage was instability and a network split. Block times dropped from the 15-second target to roughly 12-13 seconds, and the network divided, because v8/v9 software accepted the Groestl blocks while old v7.17.3 software rejected them and forked onto a separate, slower chain.
v9.26.2 restores retired-algorithm enforcement, the right way:
- Blocks using a retired (Groestl) or unknown mining algorithm are rejected.
- The rule is enforced in both header validation and block connection, so that
-reindexand-reindex-chainstatealso enforce it. A node cannot carry a post-activation retired-algorithm block forward after upgrading. - Existing Groestl blocks already buried in the chain are grandfathered (kept). No history is rewritten and no transactions are reversed.
| Field | Value |
|---|---|
| Deployment name | algolock |
| Versionbit (readiness signal) | 0 |
| Signaling start | June 29, 2026 |
| Activation height (backstop) | 23,808,000 (~7 days after release) |
| Enforcement | reject retired (Groestl) and unknown algorithms |
| Existing Groestl blocks | grandfathered below the activation height |
The algolock versionbit is a readiness signal that lets miners advertise they
have upgraded; you can watch adoption with getdeploymentinfo. The rule activates
at block 23,808,000 regardless of signaling, giving the network roughly seven days
to upgrade before retired-algorithm blocks are rejected.
Every full node, miner, pool, exchange, explorer, wallet, and service must upgrade to v9.26.2. The majority of mining power is currently on the v8 line. That is fine, but all of it must move to v9.26.2 so that the upgraded chain is the strongest chain at activation and the network converges back onto a single chain.
Nodes running the ~7-year-old v7.17.3 line reject every post-Odocrypt Groestl block, including the grandfathered blocks the healed chain keeps. They therefore cannot follow the unified chain on their own. Operators on v7.17.3 (or older) must:
- Upgrade to v9.26.2.
- Reindex or resync (start with
-reindex, or perform a fresh sync) so the node accepts the existing chain history and reorganizes onto the correct chain.
Upgrading also provides Taproot, DigiDollar, and every other improvement added since v7.17.3.
- Upgrade to v9.26.2 within the ~7-day window before block 23,808,000.
- Use the block version returned by DigiByte Core and do not strip the
algolockreadiness signal. - Once the majority of mining power is upgraded, retired-algorithm blocks are orphaned, the attack ends, and the network heals into one chain.
- Optional, during the window only: miners who wish to actively push back can point hash power at Groestl themselves. This captures block rewards that would otherwise go to the attacker and drives Groestl difficulty up, removing the cheap-mining advantage. This is secondary to upgrading and keeps block times fast while it lasts; after activation, Groestl is rejected regardless.
Forensic detail (as of this release, mining was still ongoing): the Groestl blocks
account for roughly 14-15% of all blocks since onset and are paid to two attacker
payout addresses — dgb1qy5epvfs535a96tygn945a3a85lauh3ddu9v63y (coinbase tag
SORG) and D8S5JWaCrpFsryGG1c9AzWKhbS7e7VZ4r8. Exchanges and custodians should
flag deposits originating from these addresses until the network has healed.
All full nodes, miners, mining pools, exchanges, explorers, wallets, service providers, and oracle operators should upgrade.
Old nodes can continue to see normal DigiByte blocks, but they are not DigiDollar-aware. They cannot fully validate, display, index, mine, or serve the new DigiDollar functionality. Miners and pools must upgrade and signal for the soft fork if they want DigiDollar to activate.
Back up wallets before upgrading, especially wallets that hold oracle keys or will hold DigiDollar positions.
DigiDollar is a native USD-denominated asset system built into DigiByte Core. Each DD is designed to track one US dollar by using over-collateralized DGB vaults, live oracle pricing, Dynamic Collateral Adjustment (DCA), Emergency Reserve Ratio (ERR), and volatility protections.
DigiDollar is not an external smart contract, wrapped token, or custodial bank reserve product. It is built into DigiByte consensus and wallet logic. Users keep their own keys. DGB remains the collateral and the fee asset.
The basic user flow is:
- Mint DD by locking DGB collateral in a Taproot vault.
- Send DD between DigiDollar addresses.
- Redeem DD by burning it and unlocking the corresponding DGB collateral under the consensus rules.
v9.26.2 moves DigiByte onto the Bitcoin Core v26.2 generation of code. That brings a large base-layer modernization compared with v8.26.2, including newer networking, wallet, descriptor, RPC, mempool, build, and testing infrastructure.
Notable inherited Core-era changes include BIP324 v2 transport support,
descriptor and Taproot wallet improvements, Taproot Miniscript support,
stricter wallet loading behavior, newer package/RPC tools such as
submitpackage, importmempool, getaddrmaninfo,
getprioritisedtransactions, and the v26-era RPC deprecations and serialization
cleanup.
DigiByte-specific consensus history remains intact. Historical DigiByte fork heights, multi-algo behavior, DigiShield, MultiShield, DigiSpeed, Odocrypt, and existing mainnet identity are not reset by this release.
v9.26.2 adds the first mainnet DigiDollar release:
- Native DD, TD, and RD DigiDollar address formats.
- Mint, send, batch-send, and redeem flows.
- Taproot collateral vaults.
- Confirmed-only DigiDollar UTXO spending.
- Canonical lock tiers, including the current short and long lock options.
- Minimum mint, maximum mint, output floor, and maximum transfer enforcement.
- DCA, ERR, and volatility protection logic.
- Network-wide DigiDollar statistics and optional stats indexing.
- Wallet restore, rescan, reindex, and reorg handling for DigiDollar state.
- OP_CHECKPRICE reserved and disabled for V1.
Mainnet mint/redeem safety depends on fresh MuSig2 oracle price bundles. DigiDollar transfers are price-independent, but still require valid DD inputs and DGB fee inputs.
DigiDollar mainnet uses a 7-of-35 oracle quorum. The oracle set publishes DGB/USD price data using MuSig2 v0x03 aggregate bundles. The aggregate signature is committed into the mined block when price-dependent DigiDollar mint or redeem transactions need it.
Mainnet oracle parameters:
| Setting | Value |
|---|---|
| Oracle slots | 35 |
| Required signatures | 7 |
| Bundle type | MuSig2 v0x03 |
| Oracle epoch length | 40 blocks |
| Oracle update interval | 4 blocks |
| Active price sources | Binance, CoinGecko, KuCoin, Gate.io, HTX, Crypto.com |
Oracle peer seeding is operational, not consensus. The release consensus depends on the 35 hardcoded oracle public keys and valid 7-of-35 MuSig2 bundles; it does not depend on 35 public oracle DNS endpoints being live. For launch, oracle operators should connect to the public v9.26.2 mainnet oracle seed peers we have online, and more can be added later:
addnode=oracle1.digibyte.io:12024
addnode=digihash.digibyte.io:12024Legacy fake-price RPCs and legacy oracle bundle paths are not part of mainnet
V1. Do not use old documentation that references sendoracleprice,
submitoracleprice, production mock-price controls, or legacy v0x01/v0x02
oracle bundles.
DigiDollar is deployed through BIP9.
| Field | Value |
|---|---|
| Deployment name | digidollar |
| Versionbit | 23 |
| Mainnet signaling start | June 1, 2026 00:00:00 UTC |
| Mainnet timeout | June 1, 2027 00:00:00 UTC |
| Signaling window | 40,320 blocks |
| Activation threshold | 28,224 blocks |
| Threshold percent | 70% |
| Minimum activation height | 23,627,520 |
The start and timeout times are BIP9 median-time-past gates. They are not
automatic activation dates. DigiDollar only reaches ACTIVE after miners signal
enough support, the deployment reaches LOCKED_IN, and the next valid period
boundary reaches the minimum activation height or later.
DigiDollar, the oracle system, and DigiDollar MuSig2 are aligned to activate at the same mainnet point. This avoids a split where DigiDollar rules are live but the required oracle signing path is not.
Public DigiDollar testing uses testnet26. Old testnet chain data should not be
reused for testnet26.
| Setting | Value |
|---|---|
| Testnet name | testnet26 |
| Testnet P2P port | 12033 |
| Testnet RPC port | 14026 |
| Testnet onion target port | 14126 |
| Testnet DigiDollar activation | block 600 |
Testnet26 is for testing. Mainnet v9.26.2 uses normal DigiByte mainnet settings.
The DigiByte Qt wallet now includes DigiDollar wallet surfaces for receiving, minting, sending, redeeming, viewing balances, viewing positions, and managing DigiDollar state.
DigiDollar private-key actions require a descriptor/bech32m HD wallet with private keys enabled. Legacy, blank, watch-only, or private-key-disabled wallets can be useful for monitoring, but they cannot create DigiDollar deposit addresses or sign DigiDollar withdrawals.
Encrypted wallets must be unlocked with walletpassphrase before private-key
DigiDollar actions such as minting, sending, redeeming, creating oracle keys, or
starting a wallet-backed oracle.
v9.26.2 adds DigiDollar and oracle RPC support for node operators, wallets, exchanges, explorers, mining pools, and oracle operators.
Common node-level RPCs include:
getdigidollardeploymentinfogetdigidollarstatsgetdcamultipliercalculatecollateralrequirementestimatecollateralgetoraclepricegetalloraclepricesgetprotectionstatusgetoraclesgetoraclesignerslistoraclestoporaclegetoraclepubkey
Common wallet-level RPCs include:
getdigidollaraddresslistdigidollaraddressesvalidateddaddressgetdigidollarbalancelistdigidollartxslistdigidollarpositionsgetredemptioninfolistdigidollarunspentlistdigidollarutxosmintdigidollarsenddigidollarsendmanydigidollarredeemdigidollarcreateoraclekeyexportoracleprivkeyimportoracleprivkeystartoracle
For automated integrations, treat DigiDollar amounts as integer USD cents. Decimal CLI compatibility exists, but exchanges and services should avoid ambiguous decimal handling in production systems.
importdigidollaraddress is not a watch-only import feature in V1. It is a
validation/no-op stub and should not be used as an exchange custody workflow.
Services that need DigiDollar wallet, explorer, exchange, or oracle behavior should run with DigiDollar and transaction indexing enabled:
server=1
txindex=1
digidollar=1txindex=1 is required for DigiDollar-capable mainnet/testnet nodes and for
explicit DigiDollar regtest runs because wallet recovery, validation, and
history queries need creating-transaction metadata.
Operators that need network-wide DigiDollar statistics can also enable the optional stats index:
digidollarstatsindex=1DigiDollar mining has two separate pieces:
- BIP9 signaling for the
digidollardeployment. - DigiDollar-aware block templates using the
digidollar-oracleGBT rule.
Miners and pools should use the block version returned by DigiByte Core and must
not strip versionbit 23 during STARTED or LOCKED_IN.
DigiDollar-aware pools and solo miners must request templates like this:
digibyte-cli getblocktemplate '{"rules":["segwit","digidollar-oracle"]}' scrypt
digibyte-cli getblocktemplate '{"rules":["segwit","digidollar-oracle"]}' sha256d
digibyte-cli getblocktemplate '{"rules":["segwit","digidollar-oracle"]}' skein
digibyte-cli getblocktemplate '{"rules":["segwit","digidollar-oracle"]}' qubit
digibyte-cli getblocktemplate '{"rules":["segwit","digidollar-oracle"]}' odoWhen Core returns default_oracle_commitment, the miner or pool must copy that
exact script into the coinbase as one zero-value output. If Core does not return
default_oracle_commitment, do not invent one and do not force DigiDollar
mint/redeem transactions into the block.
Legacy miners that only request {"rules":["segwit"]} can keep mining normal
DGB blocks. They will not receive default_oracle_commitment and will not
receive oracle-priced DigiDollar mint/redeem work. Downstream ASIC and GPU
miners do not need DigiDollar-specific changes when the pool server builds the
coinbase correctly.
For direct CPU-mining tests with the patched cpuminer, use the explicit
--digidollar flag in solo GBT mode. That mode requests
["segwit","digidollar-oracle"] and preserves default_oracle_commitment.
Pool and miner implementers should read:
DIGIDOLLAR_MINING_INTEGRATION_GUIDE.mdDIGIDOLLAR_WALLET_INTEGRATION.mdDIGIDOLLAR_EXCHANGE_INTEGRATION.md
Reference implementation examples are linked from the mining integration guide
for cpuminer-multi, node-stratum-pool, and digihashv2.
DigiDollar addresses are not normal DGB addresses. Mainnet DigiDollar addresses
begin with DD. Testnet uses TD. Regtest uses RD.
Exchanges should:
- Run DigiByte Core v9.26.2 or newer with
digidollar=1andtxindex=1. - Use descriptor wallets with private keys enabled for custody.
- Allocate one DigiDollar address per customer with
getdigidollaraddress. - Validate withdrawals with
validateddaddress. - Detect deposits with
listdigidollartxsandgetdigidollarbalance. - Track
txid,vout,blockhash,blockheight,confirmations,in_mempool, andwallet_state. - Maintain a DGB hot-wallet reserve for fees.
- Use
senddigidollarorsendmanydigidollarfor withdrawals.
DD transfer withdrawals do not need a fresh oracle quote. Mint and redeem paths do need recent valid MuSig2 oracle data.
DigiDollar V1 enforces simple amount boundaries so wallets, exchanges, and users do not need to guess.
| Rule | Mainnet value |
|---|---|
| Minimum DD output | $1 / 100 cents |
| Minimum mint | $100 / 10,000 cents |
| Maximum mint | $100,000 / 10,000,000 cents |
| Maximum single transfer | $100,000 / 10,000,000 cents |
| DD transaction fee floor | 0.1 DGB |
DigiDollar amounts are represented internally as integer cents.
The v9 line includes modernized networking and privacy-related infrastructure, including the Bitcoin Core v26-era P2P stack and DigiByte's Dandelion++ privacy work. These changes are part of the broader DigiByte v9 upgrade and are separate from DigiDollar activation.
The v9 DigiDollar development cycle added broad validation coverage across:
- DigiDollar consensus and policy unit tests.
- Oracle and MuSig2 unit tests.
- BIP9 activation and height-gate tests.
- Functional tests for mint, send, redeem, wallet restore, wallet encryption, rescan, reindex, reorg, pending states, DCA, ERR, volatility, oracle pricing, mining, GBT, and network relay behavior.
- Fuzz coverage for DigiDollar parsing and validation paths.
- Qt wallet coverage for DigiDollar user workflows.
- Multi-oracle testnet and modified-mainnet rehearsal testing.
Final release tagging should include the exact signed-binary validation results for the published build.
- DigiByte remains DigiByte.
- Mainnet genesis is unchanged.
- Mainnet message-start bytes are unchanged.
- Mainnet P2P/RPC ports are unchanged.
- Historical DigiByte fork heights are retained.
- Multi-algo mining remains part of DigiByte.
- DGB remains the native fee and collateral asset.
- Normal DGB transactions continue to work.
- Back up wallets before upgrading.
- Enable
txindex=1for DigiDollar-capable services. - Use descriptor wallets with private keys enabled for DigiDollar custody.
- Do not rely on obsolete PRE, RC, testnet25, or modified-mainnet documentation.
- Do not use removed oracle RPC names such as
sendoraclepriceorsubmitoracleprice. - Do not treat production mock-price controls as mainnet oracle behavior.
- Do not assume DigiDollar is active until BIP9 shows
ACTIVE. - Miners and pools must preserve
default_oracle_commitmentexactly when Core returns it.
Check chain and activation state:
digibyte-cli getblockchaininfo
digibyte-cli getdeploymentinfo
digibyte-cli getdigidollardeploymentinfoCheck oracle and price state after activation:
digibyte-cli getoracleprice
digibyte-cli getalloracleprices
digibyte-cli getoracles
digibyte-cli getoraclesigners
digibyte-cli getdigidollarstatsCheck a DigiDollar-aware mining template:
digibyte-cli getblocktemplate '{"rules":["segwit","digidollar-oracle"]}' scryptIf a fresh oracle bundle is ready, the template may include
default_oracle_commitment. If it is absent, mine the returned normal template
or wait for a fresh oracle-aware template.
Read these integration documents before deploying production DigiDollar infrastructure:
DIGIDOLLAR_EXPLAINER.mdDIGIDOLLAR_ARCHITECTURE.mdDIGIDOLLAR_WALLET_INTEGRATION.mdDIGIDOLLAR_EXCHANGE_INTEGRATION.mdDIGIDOLLAR_MINING_INTEGRATION_GUIDE.md
v9.26.2 is the formal DigiByte v9 DigiDollar release. Upgrade, signal, and verify activation status from the network. DigiDollar mainnet activation is a BIP9 process, not a manual switch and not a testnet-only feature.