Ledger から ZEC(Zcash)を送金しようとすると「getVarint called with unexpected parameters」というエラーが出る問題は、対応するZcashのトランザクションバージョンにLedger Liveが未対応なために起こる。ZecWallet Lite など別のソフトウェアウォレットをLedgerと組み合わせれば、秘密鍵はデバイスに保管したまま送金できる。
Ledger からZECが送れない原因

このエラーは、Zcashネットワークで使われる新しいトランザクションフォーマット(バージョン4や5)をLedger Live側が適切に解釈できないときに発生する。とくにシールド取引やNU5アップグレード以降の取引で表面化しやすい。
Ledger デバイス自体やZcashアプリは常に最新のトランザクション形式を認識できるが、Ledger Live のZcash統合部分がそれに追いついていない。そのため互換性の不備が生じ、送金時に「getVarint」という内部データ処理のエラーを引き起こす。
要は、Ledger LiveがZcashの最新の取引書式を読めず、変数読み取りに失敗している状態だ。デバイスの故障やアカウントの不具合ではなく、ソフトウェア側の対応待ち問題と理解してよい。
ZecWallet Lite を使ってLedgerからZECを送金する

最も確実な回避策は、Zcashのトランザクション全バージョンに対応している外部ウォレットにLedgerを接続し、そこから送金を行うことだ。ZecWallet Lite(旧ZecWallet)はオープンソースでLedgerとの親和性も高く、多くのユーザーがこの問題を解決している。
あくまでも秘密鍵はLedger内に保持される。ZecWallet Lite はウォレットを操作するインターフェースとして動くだけなので、新たにシードフレーズを入力する必要は一切ない。セキュリティを落とさずに問題を回避できる。
LedgerをZecWallet Liteに接続する手順
- 公式サイトからZecWallet Liteをダウンロードし、インストールする。
- Ledger Nano S / XをPCに接続し、デバイスでZcashアプリを開く。
- ZecWallet Liteを起動し、「ハードウェアウォレットを使う」または「Ledgerに接続」を選択する。
- デバイス上のZcashアプリが自動で認識され、ウォレットが読み込まれる。
実際に送金する流れ
ウォレットが表示されたら、送金タブから送金先アドレスと数量を入力し、手数料を確認する。送金ボタンを押すとLedgerデバイス上で取引内容が表示されるので、正しいアドレス・金額であることを確認して承認ボタンを押す。
ZecWallet Liteは最新のトランザクションバージョンで署名を行うため、getVarintエラーは発生せず、数十秒から数分でネットワークに伝わる。取引状況はZcashのブロックエクスプローラーで確認できる。
エラーが解消しない場合の追加確認
まれに、Ledger Live側でZcashアカウントが正しく同期されておらず、残高が反映されないケースがある。その場合はZecWallet Liteでも残高が見えないことがあるため、まずはLedgerのZcashアプリとファームウェアを最新に更新し、ZecWallet Lite上で「再スキャン」や「ブロックチェーンの再同期」を試す。
それでも送金できないときは、送金先アドレスの形式を確認する。Zcashには透過アドレス(tアドレス)とシールドアドレス(zアドレス)があるが、一部のサービスではシールドアドレスへの直接送金を受け付けないことがある。その場合はいったん自分の透過アドレスに送金し、そこから先方のアドレスへ送るなどの工夫が必要になる。
また、Ledger Live本体のキャッシュが原因でエラーが出ることもあるため、アプリを完全に終了しPCを再起動した上でZecWallet Liteのみを使う環境を作ると、問題が再現しにくくなる。
よくある質問
ZecWallet Liteを使っても安全か
安全だ。秘密鍵はLedgerデバイス内に留まり、ZecWallet Liteは公開鍵情報を読み取るだけ。取引の署名も必ずLedger上の物理ボタンで承認するため、PCがマルウェアに感染していても秘密鍵が漏れることはない。
エラーが出るのは自分の環境だけか
広く報告されている既知の問題であり、特に2022年のNU5アップグレード以後にZcashを使っているユーザーの間で散見される。Ledgerのフォーラムでも度々話題になっており、自分のアカウントやデバイス固有の不具合ではない。
別のウォレットを使わずに待っていれば直るか
将来的にLedger Liveがアップデートされれば解決する可能性はあるが、具体的な修正時期は明らかにされていない。急ぎの送金があるならZecWallet Liteを利用するのが現実的だ。
他の暗号資産でも似たエラーは出るか
getVarintエラーはZcashのトランザクション解析に特有のものだ。ただ、Ledger Liveが対応しきれていないブロックチェーンのアップグレードで同種のエラーが発生することはあり得る。
この記事のポイント
- エラーの原因はZcashの新しいトランザクション形式にLedger Liveが未対応なため
- ZecWallet Liteなどの外部ウォレットにLedgerを接続すれば秘密鍵は保護されたまま送金できる
- デバイスのZcashアプリとファームウェアを最新にしておくことが前提
- 送金先のアドレス形式にも注意し、必要なら透過アドレスを経由する
- 修正を待つよりも、今すぐ送金したいなら本記事の手順で回避できる

「エミリーズ・クリプト・インサイダー」のリサーチ担当として、暗号資産の現場で日々生まれる疑問や悩みを丹念に追いかける。
Reddit や海外フォーラムに寄せられる声を読み解き、「初心者がつまずきやすいポイント」「経験者でも見落としがちな落とし穴
」を一つずつ記事として整理している。
専門的な話を誰もが理解できる言葉に置き換えることに全力を注ぐ。情報の正確さと読みやすさの両立を信条としている。
