Cointime

Download App
iOS & Android

Boost Your Bitcoin Node Sync With UTXO Snapshots

Cointime Official

From lopp net blog by Jameson Lopp

The recent Bitcoin Core v28 release added support for a new feature that has been under development for 5 years. First proposed in 2019 by James O’Beirne, AssumeUTXO enables full nodes to defer verification of old blockchain history by loading a recent snapshot of the UTXO set at a specific block height and syncing to chain tip from that point. This allows wallets and other software using the full node to start receiving and sending transactions within minutes of the node being started instead of having to wait hours or days for it to sync and validate the chain from the genesis block.

When you use AssumeUTXO, the node starts syncing from the snapshot to the chain tip, then the node downloads and verifies the old blockchain history in the background until it eventually verifies its initial UTXO state at the loaded snapshot, allowing it to ultimately obtain the same trustless security as a node that doesn’t use AssumeUTXO.

How to Use UTXO Snapshots

  1. Download a UTXO Snapshot file. You can find one for block height 840,000 on my site or from this torrent: magnet:?xt=urn:btih:596c26cc709e213fdfec997183ff67067241440c&dn=utxo-840000.dat&tr=udp%3A%2F%2Ftracker.bitcoin.sprovoost.nl%3A6969
  2. Download Bitcoin Core v28 or later.
  3. Run Bitcoin Core: bitcoind -daemon
  4. Wait for the block headers to finish syncing (should only take 1 or 2 minutes)
  5. Load the snapshot via: bitcoin-cli loadtxoutset /path/to/utxo-snapshot-height-840000.dat
  6. Wait for the command to finish (this will take tens of minutes depending upon the speed of your machine)
  7. Once the command finishes, your node's sync progress will jump forward to the block height of the snapshot and continue syncing normally from there.
  8. After it reaches chain tip, the node will start performing a sync from genesis in the background, but the node will be usable during that time.

Frequently Asked Questions

  1. Does it matter where I get the snapshot dat file from? No; Bitcoin Core will only load a snapshot with an aggregate UTXO set hash that matches one that's hard coded into Core.
  2. Can I create my own snapshots and load them? You can generate snapshots with the dumptxoutset RPC command or with this utility script. However, you won't be able to load a snapshot unless it's at one of the block heights hard coded into Core. At time of writing, the only supported height is 840,000.
  3. Can I use this to sync a pruned node? Yes.
  4. Can I use this to sync a node with indexes enabled? Yes, though it won't make building the indexes any faster - they still have to be generated linearly from genesis.

How Much Faster Does the Node Sync?

I ran two syncs of Bitcoin Core v28 on my benchmark machine with full default settings. One sync ran entirely from genesis while the other loaded the snapshot as soon as it started syncing.

It took 10 minutes for the node to load the snapshot, then it took 84 minutes to finish syncing to chain tip. On the other hand, it took 659 minutes to perform a full sync from genesis.

So we can see that the speedup is quite significant!

Is It Worth the Trouble?

You'll want to weigh some trade-offs when decided if you want to sync your node from a snapshot.

  1. How much of a rush are you in to be able to use your node?
  2. How fast is your node hardware? If it's really fast and can sync from genesis in less than a day, perhaps it's not worth the extra steps to load a snapshot. Something like a Raspberry Pi would likely find much greater benefit from loading a snapshot.

While I only expect that more technically savvy node operators who are comfortable operating on the command line will take advantage of this feature right now, it can certainly be worth the extra steps in order to get an order of magnitude speedup!

Perhaps in the future, Bitcoin Core could offer a bundled download that includes a recent snapshot that gets automatically loaded on startup so that less sophisticated users can also take advantage of this functionality.

Comments

All Comments

Recommended for you

  • US Spot Ethereum ETF Sees $5.6 Million Net Outflow

    On May 15, according to monitoring data from Farside Investors, the US spot Ethereum ETF experienced a net outflow of $5.6 million yesterday.

  • Xi Jinping Holds Restricted Meeting with Trump in Zhongnanhai

    May 15 — Chinese President Xi Jinping held a restricted meeting with US President Donald Trump at Zhongnanhai. (CCTV News)

  • US Spot Bitcoin ETF Sees Net Inflow of $131.32 Million Yesterday

    On May 15, according to monitoring by Trader T, the US spot Bitcoin ETF experienced a net inflow of $131.32 million yesterday.

  • Kechuang 50 Index Declines by 2%

    On May 15, the Kechuang 50 Index experienced a decline of 2.36% during the day. Among the constituent stocks, JinkoSolar fell by 7.60%, Tianyue Advanced dropped by 7.11%, Canadian Solar decreased by 5.54%, and Zhongke Feiyun fell by 5.64%. (Dongxin News Agency)

  • Nikkei 225 Index Falls Below 62,000 Points for the First Time Since May 7

    On May 15, the Nikkei 225 index fell below 62,000 points during trading hours, marking the first time it has done so since May 7. (Tokyo News Agency)

  • U.S. 30-Year Treasury Yield Rises to 5.056%, Reaching 10-Month High

    On May 15, the yield on U.S. 30-year Treasury bonds rose to 5.056%, marking a 10-month high, while the yield on 10-year Treasury bonds reached 4.512%. (Dongxin News Agency)

  • Japan's 10-Year Government Bond Yield Reaches Highest Level in Nearly 29 Years

    On May 15, according to CCTV, the yield on newly issued 10-year government bonds, which serves as a long-term interest rate indicator in Japan's domestic bond market, rose to 2.665%, reaching its highest level in nearly 29 years. This increase is attributed to inflationary pressures from rising oil prices and market concerns about the deterioration of fiscal policy due to Japan's domestic economic measures, leading to selling pressure on bonds. (Dongxin News Agency)

  • ETH Surpasses $2300

    Market data shows that ETH has surpassed $2300, currently priced at $2300.06, with a 24-hour increase of 1.42%. The market is experiencing significant volatility, so please ensure proper risk management.

  • ETH Surpasses $2300

    Market data shows that ETH has surpassed $2300, currently priced at $2300.02, with a 24-hour increase of 1.97%. The market is highly volatile, so please ensure proper risk management.

  • Trump's Securities Trading Records Exposed, Invests in Nvidia and Apple

    On May 15, the U.S. Office of Government Ethics released two new financial disclosure documents on Thursday, revealing that Trump disclosed large-scale financial transactions worth at least $220 million earlier this year, involving securities from several major U.S. companies. The newly disclosed documents cover the first three months of 2026, with transaction values ranging broadly from $220 million to approximately $750 million. Significant purchases valued between $1 million and $5 million include S&P 500 index funds, Nvidia, and Apple. Large sales valued between $5 million and $25 million include Microsoft, Amazon, and Meta. The documents do not consistently specify the exact types of securities involved, such as whether they are stocks or corporate bonds, nor do they indicate which accounts the transactions occurred in or who authorized the trades. Such disclosure documents are mandatory but only partially reflect officials' financial activities, as they only list transactions exceeding $1,000 and present them in broad value ranges without disclosing specific transaction prices, profit situations, or whether assets were directly purchased or held through managed accounts. Trump's assets are held in a trust controlled by his children, and some transactions in the new documents indicate the involvement of brokers as agents. (NBC)