作者|桑幣區識編輯團隊
發布|2026/10/29
更新|2026/10/29
換了錢包 App、重新匯入助記詞,卻發現 BTC 餘額變少,甚至顯示為零,不一定代表資產已經消失。除了備份標準、額外密語與帳戶設定,地址搜尋範圍也可能影響畫面上的結果。
Gap Limit 通常譯為地址間隔限制,是錢包判斷「連續找到多少個未使用地址後,可以暫停往下搜尋」的規則。若曾跳過大量地址,後面的收款紀錄便可能落在預設搜尋範圍之外。
本文介紹 Gap Limit 的運作方式,並整理還原後餘額不完整的排查順序。以下主要討論比特幣 HD 錢包的地址發現,不涵蓋交易所帳務餘額或閃電網路通道還原。
Gap Limit 是什麼?
HD 錢包可以按照一定順序衍生許多地址。重新還原時,軟體必須辨認哪些地址曾經有交易,才能重建帳戶紀錄;但它不能永遠搜尋下去。
Gap Limit 是這個搜尋流程的停止條件之一。常見做法是沿著地址序列檢查,發現使用紀錄就繼續,遇到一段足夠長的連續未使用地址後停止。
這是錢包軟體的發現策略,不是比特幣共識規則。它不會讓超出範圍的地址失效,也不會自動把地址裡的 BTC 退回或銷毀。
地址為何能依序產生,可先閱讀HD 錢包、BIP32 與推導路徑介紹。
Gap Limit 20 是什麼意思?
BIP44 的地址發現規則將間隔限制設為 20:沿外部收款分支搜尋,若連續遇到 20 個未使用地址,就假設後面沒有已使用地址並停止搜尋。[1]
這不是一個帳戶只能有 20 個地址,也不是只要產生第 21 個地址就會遺失資產。不同軟體及不同類型帳戶,可能使用其他數值或搜尋流程,不能將 BIP44 的設定當成所有錢包的統一規格。
「未使用」不等於現在餘額是零
搜尋時應區分交易歷史與當前餘額。某個地址以前收到 BTC,後來已全部花完,仍然有使用紀錄。
因此,不能把所有零餘額地址都當成空白地址,也不能因為舊地址餘額為零,就認定後面不需要繼續搜尋。BIP44 的帳戶發現同樣以交易歷史為依據,而非帳戶是否仍有資產。[1]
用一個例子看懂:為什麼後面的地址沒被找到?
以下只用一條地址分支說明,地址索引從 0 開始,假設掃描遇到 20 個連續未使用地址就停止:
| 地址索引 | 狀態 | 搜尋結果 |
|---|---|---|
| 0 | 曾經收款 | 找到使用紀錄,繼續 |
| 1~20 | 都沒有使用紀錄 | 累積 20 個連續未使用地址,觸發停止 |
| 21~24 | 都沒有使用紀錄 | 本次沒有繼續檢查 |
| 25 | 曾經收款,仍有未花費輸出 | 可能暫時未被發現 |
在這個例子中,第 25 號地址的收款不會因為搜尋停止而消失。只是這次還原流程尚未走到它,帳戶餘額便可能少算這一部分。
如果把這個簡化模型的間隔限制改成 30,掃描就能越過索引 1~24 的空白區間,找到索引 25 的使用紀錄;之後再從新的位置累積連續未使用地址。
反過來說,如果每隔幾個地址就有使用紀錄,搜尋可以持續很遠。Gap Limit 限制的是連續空白的長度,不是整個帳戶的地址總量。
以上是機制示意,實際軟體的預先衍生、同步與重新掃描流程可能不同,不能只套用表格數字判斷所有產品。
哪些情況比較容易遇到 Gap Limit 問題?
先產生很多收款地址,卻很少真正收款
例如為不同訂單分配地址,但許多訂單沒有付款。若後來的付款落在長串空白地址之後,另一款軟體以較小的搜尋間隔還原時,就可能暫時漏掉它。
BTCPay Server 的 Electrum 串接文件也將 Gap Limit 列為收款系統需要處理的設定項目。[5]
外部系統與查看錢包使用不同搜尋設定
收款系統可以依公開帳戶資料產生地址,另一個錢包負責查看交易。兩邊即使使用相同帳戶,也不代表它們會自動交換最後使用索引、標籤或搜尋範圍。
如果原系統知道某個較後面的地址已經被使用,剛還原的軟體卻沒有這份紀錄,兩邊顯示可能不一致。
跨錢包還原時只保留種子,未保存設定
種子能重建相應金鑰,但接收軟體仍要知道從哪個帳戶、哪個分支與哪些腳本規則搜尋。
公開帳戶設定與地址規則可參考錢包描述符與還原設定教學。描述符有助於表達輸出規則,但匯出內容是否包含掃描起點、索引與其他設定,仍需依產品格式核對。
錢包還原後餘額不見:六步排查流程
步驟一:保留原始資料,確認還原範圍
先保留原錢包備份與可用紀錄,整理來源產品、使用網路、帳戶類型,以及一個確定曾使用的地址或交易 ID。
確認缺的是鏈上 BTC、其他帳戶,還是不同產品中的餘額。單獨匯入的私鑰未必包含在種子備份內,閃電網路資料也不能直接套用本文的地址搜尋流程。
不要為了排查而先刪除唯一備份。查詢階段通常也不需要建立轉帳交易。
步驟二:核對助記詞標準與額外密語
確認來源與接收軟體支援相同備份標準。如果原本使用 BIP39 Passphrase,還原時必須使用相同內容;不同密語會產生不同種子,軟體不一定會顯示「密語錯誤」。[4]
PIN、App 解鎖密碼與額外密語不是同一件事。相關差異可閱讀助記詞與私鑰的備份觀念。
延伸閱讀:Passphrase 是什麼?助記詞額外密語、隱藏錢包與使用教學
步驟三:核對網路、帳戶、路徑與地址規則
確認使用主網或測試網、原帳戶索引、收款與找零分支,以及 Legacy、SegWit、Taproot 等原始配置。
調大 Gap Limit 只會擴大相應地址序列的搜尋,不會把錯誤密語、錯誤帳戶或錯誤腳本規則自動改正。
也要區分帳戶發現和地址發現:軟體若尚未進入原本使用的帳戶,只增加另一個帳戶的地址搜尋間隔,並不能保證找到資產。
步驟四:先比對一個已知地址
使用舊收款紀錄或原錢包資料,比對同一索引的完整地址,而不是只比較開頭幾個字元。
| 比對結果 | 下一步 |
|---|---|
| 同一位置的地址不同 | 先查備份、密語、路徑、帳戶與腳本設定 |
| 已知地址一致,但完全沒有歷史 | 查連線、資料來源與歷史掃描是否完成 |
| 舊交易存在,較後面的收款缺漏 | 再檢查 Gap Limit 或地址匯入範圍 |
| 收款地址紀錄存在,總餘額仍不符 | 同時檢查找零、其他帳戶及已花費狀態 |
只看單一收款地址可能漏掉付款後的找零。可搭配比特幣找零地址原理確認資金去向。
步驟五:依官方文件擴大搜尋並重新同步
若已確認地址規則一致,且確實有大量未使用地址間隔,再使用錢包支援的 Gap Limit、地址範圍或重新掃描功能。
先記錄原設定,一次調整一個變數。數值應配合原收款系統的使用紀錄,不必一開始就設定成極大值;設定後也要確認軟體已套用,並完成相應掃描。
如果缺少的是較早交易,還要檢查掃描起點或歷史資料來源。地址搜尋得更遠,與從更早的區塊開始掃描,是不同方向的問題。
步驟六:核對結果,補齊可重建的設定
找到紀錄後,核對交易 ID、輸出、是否已花費與帳戶總額。地址曾經收過多少 BTC,不等於現在仍可使用多少 BTC。
保留這次確認的帳戶、地址規則與必要搜尋設定,並依產品官方方式備份。標籤、交易備註與部分本機資料可能需要額外保存。
Sparrow 與 Electrum 如何處理 Gap Limit?
以下依官方文件整理,沒有使用真實資產進行操作測試;介面與設定以使用中的版本為準。
Sparrow:在帳戶設定擴大搜尋
Sparrow 官方 FAQ 對「從種子還原後缺少部分資金」提供的處理方式,是到 Settings 分頁點選 Advanced,提高 Gap Limit,再按 Close 與 Apply,讓設定套用。[2]
操作前,先完成前述帳戶及已知地址核對;套用後等待搜尋完成,再比較缺漏交易是否出現。不要只看到設定數字改變,就視為全部資產都已找回。
Electrum:注意超出預設搜尋範圍的地址
Electrum 官方 FAQ 說明,預先產生、落在 Gap Limit 之外的地址,從種子還原時不一定會自動被找回,需要擴大搜尋或依其文件補足地址發現流程。[3]
該文件也保留部分舊版操作描述,因此本文不把其中的歷史預設值當成所有現行版本的固定承諾,也不提供讓讀者直接貼入的 Console 指令。請依目前版本文件或官方支援指引操作,避免誤執行來源不明的程式碼。
觀察錢包也會遇到嗎?
可能。只匯入公開帳戶資料的錢包,同樣需要發現地址與查詢歷史。若公開資料完整且軟體支援,可先以觀察錢包查詢資產,不必為了檢查地址就匯出私鑰。
但觀察錢包找到餘額,不代表它具備付款能力;後續花費仍需要相應私鑰與正確簽署條件。
調高 Gap Limit,有什麼代價?
擴大搜尋通常代表產生更多地址、查詢更多歷史資料,可能增加同步時間與資源需求。
若使用第三方服務查詢,一組地址被共同查詢,也可能帶來隱私關聯。Electrum 文件便說明,其主要伺服器會接收客戶端對相應腳本的查詢,可能推測這些地址屬於同一使用者。[3]
Gap Limit 也不是萬用修復:無法補回遺失的密語、重建種子沒有包含的外部私鑰,或撤銷已完成的鏈上支出。
如何減少再次發生?
正常依錢包收款流程使用新地址,通常不需要為這個問題放棄地址輪替。重點是避免在不了解還原方式的情況下,任意跳過大量索引。
若經營收款系統,應保存地址分配與使用索引等必要紀錄,確認產生地址的系統與查看錢包採用相容的設定,並定期以公開資料驗證能否重建已知地址。
備份時也不只記錄「我用某款 App」,而要依產品支援保留帳戶、推導與腳本設定。測試還原宜使用獨立測試錢包,或由硬體裝置與公開資料配合核對,不需要為了驗證流程把主力錢包助記詞輸入線上網站。
Gap Limit 常見問題 FAQ
Gap Limit 20 代表只能建立 20 個地址嗎?
不是。它描述特定搜尋流程容許的連續未使用地址間隔,不是地址總數限制。
超過 Gap Limit 的地址還能收到 BTC 嗎?
若地址本身有效,付款不會因為錢包搜尋範圍而被禁止。但還原軟體可能尚未找到它,需要正確設定與掃描。
調高 Gap Limit 需要付手續費嗎?
單純調整本機搜尋與同步設定,不會建立鏈上交易,因此沒有比特幣鏈上交易費。另行轉帳或使用收費服務則是不同事項。
助記詞正確、餘額為零,一定是 Gap Limit 嗎?
不一定。額外密語、帳戶、腳本規則、路徑、連線與掃描設定都可能影響結果,應先比對已知地址。
把 Gap Limit 設得越大越好嗎?
不是。過大搜尋範圍可能增加同步成本,也無法修復錯誤帳戶或金鑰來源。先依使用紀錄縮小問題範圍。
已經花光的地址會被當成未使用嗎?
不能只看現在餘額。曾有交易的地址仍有使用歷史,與從未使用的地址不同。
調高 Gap Limit 會改變地址或移動 BTC 嗎?
在金鑰與地址規則不變的情況下,它調整搜尋範圍,不是改變地址,也不會自動發送資產。
所有錢包都能手動修改 Gap Limit 嗎?
不一定。有些提供設定,有些以固定範圍或其他發現機制處理;必須核對產品是否支援,以及調整後如何重新掃描。
資料來源
- BIP44:Multi-Account Hierarchy for Deterministic Wallets
- Sparrow Wallet:Frequently Asked Questions
- Electrum:Frequently Asked Questions
- BIP39:Mnemonic code for generating deterministic keys
- BTCPay Server:Connecting Electrum Wallet to BTCPay Server
*本文由桑幣區識編輯團隊依據官方資料及公開資訊整理,內容僅供資訊與教育用途,不構成投資建議。