Ledger Diagnostic Toolkit

Investigation guide for CS agents

Contents

Quick Start

File to diagnosis in 30 seconds.

1

Load the log. Drag the customer's log file onto the tool, or click to browse. Accepts .json .txt .log

2

Read the Overview. The triage row at the top has a severity-colored left border โ€” green = clean session, yellow = warnings, red = critical issues. Clickable stat badges (Issues, Accounts, Network, Quality) let you jump to any section. Below, the Diagnostic Priority Map shows every finding sized by importance โ€” the biggest, reddest block is where you start.

3

Click the relevant section in the sidebar โ€” Issues, Accounts, Timeline, or Advanced. Each is a single click.

4

For richer data, switch to Customer View using the top bar toggle and load the customer's app.json.

The tool analyzes the log automatically. The Overview shows a triage row with stat badges (Issues, Accounts, Network, Quality) and a Diagnostic Priority Map below โ€” blocks sized by severity, organized into workflow categories: Connection, Sync, Activity, App & Updates, Server. The biggest, reddest block is your starting point. If the ticket is about one account, use Focus Mode (Shift+click a tile or use the Focus Investigation button) to filter every section to that account. Mobile logs (from Ledger Wallet iOS/Android) are supported โ€” a solid purple MOBILE badge appears next to the file name.

Investigation Playbook

Start with the scenario that matches your customer's complaint.

"My balance is wrong / I'm missing funds"

Start here: Focus on the affected account โ€” use the Focus Investigation button on the Overview or Shift+click the account's tile in Accounts. This filters every section to that account. Check Accounts for the live on-chain balance and fiat value โ€” compare with what the customer reports.

Look for: Mismatches between live balance and what the customer sees. If the log has no sync data, accounts show an amber "no data" badge โ€” the live balance is your only reference. The sidebar also shows fiat values next to funded accounts for a quick scan.

For deeper investigation: Switch to Customer View โ†’ load the customer's app.json for the balances their app was displaying. Compare app.json balances with the live balances shown in Diagnostic mode.

For Bitcoin, Litecoin, Dogecoin, Bitcoin Cash, or Zcash: Open the account in Accounts โ€” if it stores an xpub, the tool shows an Xpub Scanner. Click "Scan" to derive individual addresses and check on-chain balances. This shows exactly where funds are, even if the app's sync is wrong.

For Cardano, TON, or Stacks: The tool derives explorer-ready addresses from the raw data in the log. Look for the "Derived Address" block when you expand the account โ€” click the explorer link to verify the balance on-chain.

In Customer View: Load the customer's app.json and go to Agent Insights. The dashboard compares what the customer sees to live on-chain balances and flags discrepancies. Check the staking card โ€” if the customer has staked funds, the "missing" balance is likely frozen, not lost. Use the Earn tab to see their staking positions and validator details.

If app.json shows a different balance than the live on-chain balance, the local cache may be stale. Ask the customer to clear cache and resync.

"My account was drained / I think I was hacked"

Start here: Switch to Customer View and load the customer's app.json. Go to Agent Insights. If accounts have been drained, a red DRAIN DETECTED or SEED COMPROMISE finding will appear at the top of the list automatically.

What you'll see: The drain finding shows total estimated loss, which accounts were emptied, and a fund flow diagram showing where the money went โ€” victim accounts on the left, attacker addresses on the right, with transaction links between them. When multiple chains converge on the same destination address, it's highlighted as the attacker's collection wallet.

"Funds sent to" section: Lists every destination address that received the stolen funds. Each address has a copy button and a direct explorer link โ€” click to verify on the blockchain. This is what law enforcement needs.

Copy the drain report: Click "Copy drain report for escalation" at the bottom of the drain detail panel. This produces a formatted report with: customer identity, each drained account with before/after balances, every drain transaction hash with explorer links, and all destination addresses. Paste it into your escalation ticket.

Escalation procedure: The tool provides specific guidance in the action box. For multi-chain drains (seed compromise): advise the customer to stop using the seed phrase immediately, set up a new device with a new seed, and file a police report.

If the drain finding shows a staking warning (amber ๐Ÿฅฉ box), verify on the block explorer before escalating โ€” the balance drop may be from recent staking, not theft. The explorer link is right there in the finding.

"My transaction failed / is stuck"

Start here: Click Issues in the sidebar. Use the severity chips at the top to focus โ€” click Critical to filter to critical errors only. Click a category chip (Hardware / Software) to narrow further.

Look for: The error strip shows where errors occurred in the session โ€” red segments stand out against muted session context. Hover any bar for details. Click to select that error in the detail panel.

Dig deeper: In the error detail panel, expand "What happened before" to see the 5 log entries leading up to the error. This shows you what triggered it. Click "View in Timeline" to jump to that moment in the full session.

Next: Check Affected account on the error card. Check Advanced โ†’ Network for failed API calls. If the error mentions device rejection, check Advanced โ†’ APDU.

Repeating pattern badges at the top of Issues (like "โ†ป Price data unavailable ร—4") flag cascade events. Click one to filter to just that pattern. APDU codes 6985 or 6982 mean the device rejected the transaction โ€” the user didn't approve on-screen.

"My device won't connect / isn't recognized"

Start here: Look at the Overview. Check the Diagnostic Priority Map for a Connection or App & Updates block โ€” a red block there is your first lead. The device status line shows model, firmware, and sync state. If it says "Device โ€”", the device never identified itself. Check the Network stat badge โ€” 0 failures with 0 total requests means no API activity at all.

Look for: Device model and firmware version in the device card (the expandable panel on the Overview). Check if firmware is outdated โ€” the tool shows "FW 2.6.1 โฌ† 2.7.0 avail." when an update is needed. The Diagnostic Priority Map will also show a firmware finding in App & Updates.

Next: Check Issues for hardware/USB errors. Check Advanced โ†’ APDU for device communication. If there's zero APDU data, the device never established a connection at all.

No APDU data = no device communication during this session. Check USB cable, port, or Bluetooth before investigating software.

"The app crashes / won't open / is slow"

Start here: Check the Overview. The severity and issue count in the triage row tell you how bad the session was. The Diagnostic Priority Map shows which category of problem dominates โ€” Connection, Sync, Activity, App & Updates, or Server.

Look for: Critical errors (red). In the Issues section, check for repeating pattern badges at the top โ€” "โ†ป Unexpected error ร—6" means the same error is looping. The error strip shows whether problems are clustered (cascade) or spread across the session.

Next: Check Advanced โ†’ Network for server errors (5xx). Timeouts or connectivity failures point to a server-side issue, not the app. Check the Overview device card's Environment section for OS and platform โ€” some issues are platform-specific.

Green diagnosis but customer reports crashes? The log may not capture the crash. Ask them to reproduce and export logs immediately after.

I need to verify what the customer sees

Start here: Switch to Customer View using the prominent toggle in the top bar.

Load app.json: Upload the customer's app.json via the banner. This populates all tabs with the customer's actual data โ€” balances, transactions, staking positions, device info, and app versions.

Walk the tabs: Portfolio shows their total value and asset allocation. Accounts shows every account with full transaction history. Earn shows staking positions. My Ledger shows device storage and installed apps. Agent Insights compares their data to live on-chain reality.

Key investigation flows:

General investigation (no specific complaint)

Start here: Read the Overview for the overall picture โ€” triage row (severity, stat badges), and the Diagnostic Priority Map below it. The map shows every finding sized by severity and organized by category. Click any block to jump to the relevant section. Filter by category (Connection, Sync, Activity, App & Updates, Server) to focus on a specific area.

Recommended flow:

Overview โ†’ device health + big picture
Issues โ†’ what went wrong and when
Accounts โ†’ what exists
Timeline โ†’ what happened in sequence
Advanced โ†’ deeper data if needed

Big picture first, problems second, context third.

The Interface

Two modes, switchable from the top bar toggle. Diagnostic for technical investigation. Customer View to see the customer's wallet.

Diagnostic Mode

Sidebar on the left for navigation. Main area on the right for detail. The sidebar is always visible โ€” you never lose your place. Everything fits in one screen โ€” no page scrolling.

๐Ÿ“Š
Overview
Default landing. Triage row: severity-colored left border, stat badges (Issues, Accounts, Network, Log Quality), Focus Investigation dropdown, Copy report dropdown, Guide ๐Ÿ“– button. Below: Diagnostic Priority Map โ€” a treemap of all findings (errors + firmware + app updates + device app status + sync + network + swaps) sized by severity and organized into workflow categories. Biggest, reddest block = where to start. Device card with firmware, app chips, and environment info. No scrolling.
โš ๏ธ
Issues
Interactive severity and category filter chips. Error strip shows session context with error segments highlighted. Repeating pattern badges surface cascades. Error detail panel includes breadcrumbs ("What happened before") and "View in Timeline" for one-click context. Affected account links. Copy Errors for tickets.
๐Ÿ‘›
Accounts
Health tiles with ticker labels โ€” hover for account details, click to filter, Shift+click to activate Focus Mode (filters all sections to that account). Portfolio overlay shows proportional fiat distribution. EVM chains sharing an address are auto-grouped. Error badges link to Issues. Live on-chain balances with fiat values for 40+ chains. When Focus Mode is active, non-focused tiles dim to 25%.
๐Ÿ“‹
Timeline
Session visualizer with color-coded stacked bars โ€” same colors as the type badges on each row. Interactive legend chips: hover to highlight segments, click to filter the list. Error dots below for one-click navigation. Smart grouping collapses repeated events. Auto-filters to focused account when Focus Mode is active.
๐ŸŒ
Network
HTTP requests to Ledger and third-party APIs. Error summary at the top when requests failed. Status codes on each row.
๐Ÿ“ก
APDU
Device communication commands under Advanced. Status codes (OK, Rejected, Locked), rejection summaries. Only appears when APDU data exists in the log.
{ }
Raw JSON
Interactive tree viewer under Advanced. Progressive search โ€” type to find, tree auto-expands to show matches and scrolls to the first one. Navigate between matches with โ–ฒโ–ผ buttons or Enter key.
๐Ÿ‘ค
Customer View
Separate mode (top bar toggle). Shows the customer's wallet as they see it. Account list, portfolio, transaction history. Load app.json for exact balances. Use this when you need to confirm what the customer is experiencing.

Diagnostic Priority Map

The Diagnostic Priority Map is the main content area of the Overview. It shows every finding from the current session as a treemap โ€” blocks sized by severity weight, colored red to amber to green. The biggest, reddest block is always your starting point.

Multi-source findings: The map aggregates from seven data sources โ€” log errors, firmware update status, desktop app version, device app status (missing/outdated), no-sync flag, network failures, and incomplete swaps โ€” into one unified view. Errors are the dominant input on most sessions, but system-level findings surface in the same map so nothing is missed.

Workflow categories: Every block is classified into one of five investigation categories:

๐Ÿ”Œ Connection โ€” device hardware errors, USB/Bluetooth issues
๐Ÿ”„ Sync โ€” balance sync failures, price data, bridge issues
โšก Activity โ€” failed transactions, user rejections, swap failures
๐Ÿ“ฑ App & Updates โ€” outdated firmware, missing/outdated device apps, app version
โ˜๏ธ Server โ€” Ledger server errors, API failures

Interacting with the map:

Click any block โ€” jumps to the relevant section (Issues for errors, Accounts for account findings)
Category chips above the map โ€” click to filter to one category. Click again to clear.
Focus Mode โ€” when an account is focused, blocks linked to other accounts dim. System-wide findings stay visible.

When you see both sync errors and a firmware update needed, the map shows two blocks โ€” one in Sync, one in App & Updates. Start with the App & Updates block: fixing the firmware first often resolves sync issues that appear to be separate.

Timeline: Session Strip & Legend

The Timeline header shows a stacked bar chart of the entire session. Bar height = event density. Bar color = event type, using the same colors as the type badges on every row. You read the session left to right: "gray startup, purple analytics, gold price fetching, orange sync burst, blue network calls, red errors at the end."

Legend chips below the strip show every event type with its color and count. Hover a chip to highlight matching segments โ€” everything else dims. Click to filter the row list. Click again to clear. The type dropdown and chips share state.

Error dots sit on a baseline below the bars โ€” click any dot to scroll to that error entry.

Smart grouping: Bursts of same-type events (40 bridge events during sync) collapse into expandable group headers. Toggle with the Grouped/Flat button. Errors never collapse.

Account filtering: When Focus Mode is active (Shift+click a tile, or use the Focus Investigation button), Timeline automatically filters to that account's events. A banner shows which account is focused with a "Show all" option to clear. You can also click the Timeline button on any account card for a quick filter.

The legend chips teach the color system through interaction. Hover "bridge" and watch orange light up โ€” next time you see orange, you'll know. The same colors appear everywhere: bars, row badges, Issues strip, breadcrumbs.

Issues: Interactive Filters & Breadcrumbs

Filter chips: Severity chips (Critical Warning Info) and category chips (Hardware, Software, Server) at the top of Issues. Click to filter. Hover to highlight matching errors on the strip. Combine them: Critical + Hardware = only critical hardware errors.

Error strip: Same color-coded session bars as the Timeline, but error segments are prominent (full opacity) while context is muted. Hover any bar for a tooltip showing what errors occurred at that moment. Click to select that error.

Pattern badges: "โ†ป Price data unavailable ร—4" โ€” click to filter to just that repeating pattern. Cascades become obvious.

Breadcrumbs: In the error detail panel, expand "What happened before" to see the 5 entries leading up to the error โ€” type badges, messages, and relative timestamps. Click "View in Timeline" to jump to that moment in the full session.

Diagnostic Pathways: Below the breadcrumbs, a Related Evidence section shows correlated events from the seconds before the error: network failures, APDU rejections, sync activity. Each link navigates directly to the relevant section (Network, APDU, or Timeline) so you can trace cause and effect without manual searching.

The error strip and Timeline strip share the same visual language. Colors you learned in Timeline work here โ€” yellow bars during errors means the error happened during sync.

Account Health Tiles

At the top of Accounts, colored tiles give you a quick visual map. Each tile = one account, colored by chain, showing a chain icon or 3-letter ticker label as fallback.

Corner dots: Red (top-right) = errors for this account. Purple (bottom-right) = xpub/scannable. ? = unsupported for live balance.

Hover any tile for a popover: chain name, address, live balance + fiat, status, error count, and xpub/explorer flags.

Click to filter the account list to that chain. Shift+click to activate Focus Mode โ€” every section filters to that account, non-focused elements dim, and a Context Ribbon appears at the top of the content area.

Portfolio โ–ธ button opens a proportional overlay โ€” bigger tile = more value. Click any tile to filter and close.

EVM grouping: Accounts sharing the same 0x address (Ethereum + L2 chains) are grouped with a shared header, combined fiat, and a copy button.

Health tiles are the fastest way to answer "what does this customer have?" One glance shows funded chains, problem accounts (red dots), and portfolio shape.

Account Focus Mode

Focus Mode is your primary investigation tool. Most tickets center on one account โ€” focus on it and every section becomes relevant to that account.

How to activate:

Shift+click any health tile in Accounts
Focus button in the tile hover popover
Affected account link on any error card in Issues
Focus Investigation dropdown button on the Overview
Diagnostic Priority Map block, when linked to an account

What happens: A purple indicator appears in the sidebar showing which account is focused. The content area gets a colored left border matching the account's chain. A Context Ribbon appears at the top of the content area showing your investigation thread โ€” click any segment to navigate (account โ†’ Accounts, error title โ†’ Issues, timestamp โ†’ Timeline). Every section filters to that account: Issues shows only related errors, Timeline shows only that account's events, and the sidebar account list highlights the focused row.

Adaptive Dimming: Everything not related to your focused account dims โ€” tiles, account cards, sidebar rows, error strip segments. Blocks in the Diagnostic Priority Map that are linked to other accounts dim; system-wide findings (firmware, app version, etc.) stay fully visible. Your investigation path stays bright. The focused tile gently pulses so you always know which account you're looking at.

EVM precision: For EVM chains sharing the same address (Ethereum + L2s like Polygon, Arbitrum, Base), focus is chain-specific. Focusing Ethereum shows only Ethereum activity โ€” Polygon and Arbitrum stay dim even though they share the address.

How to clear: Click the โœ• on the sidebar focus indicator, press Escape, click โœ• on the Context Ribbon, or Shift+click the same tile again.

Focus Mode is your fastest path from "the customer has a problem with Ethereum" to "here's everything that happened to their Ethereum account." One Shift+click and you're there. See the Technical Reference (๐Ÿ”ฌ button on the landing page) for implementation details.

Xpub Scanner (Bitcoin, Litecoin, Dogecoin, Bitcoin Cash, Zcash)

When you expand an account that stores an extended public key (xpub, ypub, or zpub), the tool shows a Scan button. Clicking it derives individual addresses from the key, queries the blockchain for each one, and shows the balance and transaction count per address.

This is your most powerful tool for "my balance is wrong" on UTXO chains. It shows exactly which addresses hold funds โ€” even addresses the app's sync may have missed.

The scanner walks the derivation path (receive and change chains), stopping when it hits a gap of unused addresses. Each address gets an explorer link so you can verify on-chain.

The scanner queries live blockchain APIs, so it takes a few seconds per address. Litecoin, Dogecoin, and Zcash are slower due to rate limiting โ€” the tool handles retries automatically.

Derived Addresses & Token Explorer Links

Derived addresses: Some chains store raw credentials in logs that aren't directly searchable on an explorer. The tool converts them automatically:

Cardano โ€” hex credential โ†’ stake1... bech32 address
TON โ€” 32-byte hash โ†’ UQ... user-friendly address
Stacks โ€” compressed pubkey โ†’ SP... c32check address

Look for the blue "Derived Address" block when you expand one of these accounts. It includes a copy button and an explorer link. Always verify derived addresses with the customer โ€” they're computed from log data, not confirmed on-chain.

Token tiles with live balance: When you expand an EVM account, each ERC-20 token sub-account renders as a tile showing the ticker, live on-chain balance (one Multicall3 call per chain), and live USD value (DexScreener). Tiles are clickable and link to the token on the correct block explorer. Coverage is broad across 19 EVM chains; tokens on Lukso, Moonbeam, and Kaia render with "no live price" because those chains lack DexScreener coverage. If a customer reports "my tokens are missing," the tile shows the on-chain truth โ€” not what their cached app data says.

The Raw JSON viewer (under Advanced) has a search that works like Chrome DevTools. As you type, the tree automatically expands to reveal matching nodes and scrolls to the first one.

Navigation: The counter shows 1/47 โ€” your position in the results. Use the โ–ฒโ–ผ buttons or press Enter to jump to the next match. Shift+Enter goes backward. The current match is highlighted with a purple left border; other matches have a subtle tint.

The expand/collapse buttons (Collapse, Level 1/2/3, All) still work independently. Clearing the search collapses the tree back to its previous state.

Use this when you need to find a specific error code, account ID, or data field in the raw log. It's much faster than scrolling through the Timeline for technical data.

Live On-Chain Balances

The tool automatically fetches live blockchain balances for every account in the log โ€” no app.json needed. As soon as you load a file, balances start appearing on each account card in the Accounts section with a green dollar value.

Coverage: 40+ chains including all EVM chains (Ethereum, Polygon, BSC, Arbitrum, etc.), Bitcoin, Litecoin, Dogecoin, Bitcoin Cash, Zcash, Solana, Tezos, XRP, Cardano, NEAR, Tron, TON, Cosmos, and more.

Portfolio total: The sidebar shows fiat values next to funded accounts for a quick scan. The Accounts section header shows the total funded/empty split. For a full portfolio view, use the Portfolio โ–ธ overlay on the Accounts health tiles.

Copy exports: All copy formats (Summary, Full, Customer) now include live balances and fiat values per account, plus a PORTFOLIO total line.

Balances are fetched from public blockchain APIs and priced via CoinGecko. No API keys required. Accounts that show "live ยทยทยท" are still loading. Xpub accounts (Bitcoin-family) use the existing Xpub Scanner for balance โ€” live fetch doesn't apply to those.

This is your fastest way to answer "is this a high-value customer?" โ€” check the sidebar fiat values or the Portfolio overlay in Accounts. No app.json needed.

Mobile Log Support

The tool supports logs from Ledger Wallet Mobile (iOS and Android). When a mobile log is loaded, a solid purple MOBILE badge appears next to the file name in the header โ€” bold and unmissable.

What's different about mobile logs: They don't include sync data (operation counts, log balances, or sync duration). All accounts show "no data" badges instead of operation counts. The tool compensates by showing live blockchain balances for every account.

What works the same: Error detection, device info (when available), timeline, network requests, copy exports. The Overview and Issues section work identically.

Mobile logs typically score 50โ€“65 on log quality due to reduced metadata. This is expected โ€” don't treat a low quality score as a problem on mobile.

No-Sync Visibility

When a log has accounts but no sync data (common with mobile logs and some short sessions), the tool shows amber warnings everywhere so you don't mistake "no data" for "empty account."

What you'll see: An amber banner on the Overview, amber โš  next to the Accounts count in the sidebar, amber borders on account cards, and "no data" badges instead of "empty." Live blockchain balances are fetched automatically โ€” the sidebar shows fiat values where available. Accounts that show a green fiat value are confirmed live-funded; use the live balance as your reference even without sync data.

Copy exports include a "โš  NO SYNC DATA" warning at the top so recipients know the data source.

When you see amber everywhere, it means the log didn't capture sync. The accounts are real โ€” they just have no operation history in this log. Live balances tell you what's actually on-chain.

Discoverability Hints

Small hint text appears below interactive elements to show available interactions:

Health tiles: "hover for details ยท click to filter ยท shift+click to focus"
Timeline legend: "click to filter ยท hover to highlight"
Issues chips: "click to filter ยท hover to preview on strip"

These hints are always visible but unobtrusive (9px, muted, 50% opacity). New agents learn the interactions; experienced agents stop noticing them.

Customer View โ€” "See the customer's wallet"

Customer View replicates the Ledger Wallet interface so you can see exactly what the customer sees. Switch to it using the Customer View toggle in the top bar. Load the customer's app.json via the upload banner for full data.

Five tabs in the left sidebar, matching the real Ledger Wallet layout:

Agent Insights โ€” the diagnostic dashboard

Agent Insights is a fixed-viewport dashboard at the bottom of the Customer View nav. It compares the customer's app.json data to live blockchain balances and flags discrepancies.

Layout: Stat cards across the top (Portfolio delta, Device, Data confidence, Customer settings), then a master-detail split below. Compact findings list on the left, full detail panel on the right.

How to use it:

Agent Insights uses the customer's cached countervalue rate for BOTH columns in the comparison. This means the fiat delta purely reflects balance changes, not price movement. If you see a fiat difference, the crypto balance actually changed.

Drain detection: When an account's balance has dropped more than 90% and was worth real money, Agent Insights classifies it as DRAINED instead of "Balance changed." If two or more accounts are drained, a SEED COMPROMISE alert appears at the top of the findings list with a fund flow diagram, attacker addresses, and a one-click drain report for escalation. See the playbook entry "My account was drained" for the investigation workflow.

Staking awareness

Many customers have staked or frozen funds. The tool detects this automatically when balance โ‰  spendableBalance in the app.json and adjusts the comparison accordingly.

What you'll see: A purple ๐Ÿฅฉ staking card in the Agent Insights detail panel showing "Total: 276.34 SOL ยท Staked: 276.12 SOL ยท Available: 0.21 SOL." The comparison uses the available balance (not total) against the live balance โ€” preventing false alarms on staked funds.

Chain-specific labels:

Solana note: Solana staking uses separate stake accounts. The live balance only reflects the main account, not stake accounts. The tool notes this explicitly so you don't mistake staked SOL for missing SOL.

If a customer says "my balance is wrong" and they have staked funds, check the Earn tab first. The "missing" balance is almost certainly staked, not lost.

Earn tab โ€” staking investigation

The Earn tab shows all staking positions from the customer's app.json. Use it for "my staking isn't working," "I can't unstake," or "my rewards are wrong" tickets.

"My rewards" sub-tab: Total deposited (fiat + allocation bar), total rewards earned, and a table of deposited assets with account name, invested amount, estimated APY, and rewards.

Click any staking position to expand: validator names (NEAR shows readable names like "ledgerbyfigment.poolv1.near"), balance breakdown, and a timeline of staking operations (delegated, undelegated, withdrawn, rewards claimed).

Liquid staking tokens section below the table shows stETH, JupSOL, LBTC, cbETH and other LSTs the customer holds, with the provider name and parent account.

"Earn opportunities" sub-tab: Lists the staking providers available in Ledger Wallet (Ledger by Figment, Kiln, Lido, Coinbase, Yield.xyz) with which chains each supports.

Estimated APY rates are labeled "~est." and come from Ledger's public documentation. Actual rates vary by validator and network conditions. Many chains auto-compound rewards without discrete reward operations โ€” so "0 rewards" doesn't always mean the customer isn't earning.

Copy & Export

Four formats

Quick Summary Quick ticket note. Device info, top accounts with live balances, top errors, portfolio total. Paste into your support ticket.

Full Export Complete data dump. All accounts with live balances and fiat values, all errors, device apps. For escalation to Tier 2 or engineering.

Copy Customer Summary Account-focused. Live balances, fiat values, and portfolio total. For describing what the wallet looks like. Available in the Overview action bar and as a button in Customer View.

Copy Errors All errors with severity, action items, and common causes. Available at the top of the Issues section. Great for tickets focused on error investigation.

All four formats are in the ๐Ÿ“‹ Copy report โ–พ dropdown in the Overview triage row. Copy Errors is also available as a standalone button in the Issues section header. Each format is color-coded: purple for Quick Summary/Full Export, orange for customer, red for errors.

Keyboard Shortcuts

Ctrl+1 Overview
Ctrl+2 Issues
Ctrl+3 Accounts
Ctrl+4 Timeline
Ctrl+5 Network
Ctrl+6 APDU
Ctrl+7 Raw JSON
Escape Clear Focus Mode

On Mac, use โŒ˜ instead of Ctrl.

Tips & Troubleshooting

The file won't load

Accepts .json, .txt, and .log files. Must be a Ledger Wallet log export. Large log files show a "Parsing log file..." indicator โ€” give it a moment.

I see 0 accounts

Some logs don't include account data. Switch to Customer View and load the customer's app.json for full account information. The Accounts section will show a hint pointing you there.

All errors say "Unexpected error"

The error isn't in the tool's knowledge base (82 known patterns). Expand the error card's "Details" section for the raw data. Use Raw JSON search to find the error in the full log โ€” the progressive search will take you right to it.

Customer View is empty

Make sure you've switched modes using the top bar toggle. If no accounts appear, load the customer's app.json. Agent Insights and the Earn tab require app.json data โ€” they'll show empty states with guidance until it's loaded.

App.json says "Ledger Sync encryption"

The file is encrypted by Ledger Sync. The tool extracts what it can (settings, paired devices, token preferences) but can't read balances or transaction history.

Diagnosis is green but customer has problems

The tool only sees what's in the log. If the issue happened outside this session, it won't be captured. Ask the customer to reproduce and export logs immediately after.

I loaded the wrong app.json

Click โœ• on the green banner to remove it, then upload the correct file.

Agent Insights shows many red alerts on staking chains

This was a known issue that has been fixed. If you're seeing false "Balance changed" alerts on accounts with staked funds (SOL, TRX, NEAR, etc.), make sure you're on the latest version. The tool now compares the available balance (excluding staked) to the live balance.

The xpub scanner is slow

The scanner queries live blockchain APIs for each derived address. Bitcoin is fastest (~200ms per address). Litecoin, Dogecoin, and Zcash are slower (~650ms) and may hit rate limits โ€” the tool retries automatically up to 5 times. You can stop a running scan at any time.

Device apps show "Not installed"

A red chip marked โœ• AppName on the Overview means the app is required by the customer's accounts but wasn't found on their device. It may have been removed after a firmware update. Ask the customer to open Ledger Wallet โ†’ My Ledger to reinstall. Amber chips marked โš  mean the app is installed but outdated.

The error strip says "likely cascade"

Multiple errors within 1-2 seconds usually mean one problem triggered a chain reaction. Click the first error, then expand "What happened before" to see what triggered it. Use the Critical chip to isolate the root cause โ€” the rest are typically consequences.

Live balances show "unsupported" or stay loading

"Unsupported" means the chain doesn't have a public API the tool can query โ€” this affects a few uncommon chains. If balances stay on "live ยทยทยท" for more than 10 seconds, the blockchain API may be rate-limited or down. This doesn't affect the rest of the tool. Xpub accounts (Bitcoin-family) don't use live fetch โ€” use the Xpub Scanner instead.

Everything is amber / "no sync data"

The log didn't capture sync information. This is normal for mobile logs and very short desktop sessions. The accounts are real โ€” they just have no operation history in this log. Live blockchain balances are your primary reference. See the No-Sync Visibility section for details.