LayerZeroFault
Hardware & BIP-39 CODE: 0x6d00 Reviewed & Verified:

Ledger Error 0x6d00: INS_NOT_SUPPORTED Instruction Rejection

Verified by Victor Vance • Lead Technical Analyst & Systems Researcher
Quick Diagnostic Answer (Executive Summary) GSC Snippet Verified

Ledger status word 0x6d00 indicates "INS_NOT_SUPPORTED" (Instruction Not Supported). This occurs when a web3 application sends an APDU command containing an instruction byte that the currently active application cannot process. In 95% of cases, the user has the wrong coin app open on their Ledger (e.g. Bitcoin app open during an Ethereum transaction) or the device is resting on the main dashboard rather than inside the app.

# Root Cause & Technical Architecture

Under the ISO 7816-4 smart card specification, byte 1 of any APDU command is the Instruction code (`INS`). When BOLOS receives an APDU, it dispatches execution to the handler registered for that `INS`. If the active app has no handler for that byte, or if the device is idling on the BOLOS home dashboard where applet instructions are inactive, the kernel replies with `0x6d00`. It also occurs when dApps attempt blind signing while "Blind signing" is disabled in the app settings.

# 4-Step Actionable Diagnostic Protocol

Step-by-Step Resolution
01

Open the Exact Matching App on Hardware Device

Before clicking "Confirm" in MetaMask, Rabby, or Phantom, open the corresponding app (e.g., "Ethereum" or "Solana") on the Ledger until "Application is ready" is displayed.

02

Enable Blind Signing in Coin App Settings

Inside the device Ethereum app, navigate to Settings > Blind signing and toggle it to "Enabled". Complex contract interactions cannot be parsed without blind signing.

03

Check for Conflicting Multi-Chain Derivations

Some EVM networks (e.g., Polygon, BNB Chain, Avalanche) require the main "Ethereum" app to be open rather than dedicated network apps.

04

Restart Browser WebHID Device Handle

If the error persists with the correct app open, disconnect the USB cable, close browser tabs, reconnect the Ledger, and re-launch the coin app.

# Diagnostic Verification Code / Command

javascript
webhid-apdu-ins-check.js
// Ledger APDU Exchange Handler:
// INS 0x02 = Get Public Key | INS 0x04 = Sign Transaction
const CLA = 0xe0;
const INS = 0x04; // If device is on Dashboard -> Reverts with 0x6d00!
const p1 = 0x00, p2 = 0x00;
const data = Buffer.from([...]);

const response = await transport.send(CLA, INS, p1, p2, data);
// Response Buffer: [ ..., 0x6d, 0x00 ] -> INS_NOT_SUPPORTED
Zero-Secrets Client Sandbox

Launch Derivation Path Inspector

Execute client-side cryptographic simulation and parameter checks safely in your browser via native WebCrypto without sending private keys or mnemonics over the wire.

Open Sandbox →
Comprehensive In-Depth Guide

Read Full Investigation & Recovery Workflow

Explore complete architectural diagrams, edge-case failure trees, and detailed post-mortem analysis in our verified deep guide.

Read Guide →

# Related Diagnostic Codes in Hardware & BIP-39

Related Hex Statuses

# Frequently Asked Questions

FAQ Schema

Why do I get 0x6d00 when signing transactions on Uniswap?

You either do not have the Ethereum app open on your Ledger, or "Blind signing" is disabled in the Ethereum app settings on the device.

What is the standard ISO 7816-4 definition of 0x6d00?

0x6d00 is the international smart card standard status word for "Instruction code not supported or invalid".

Can Ledger Live cause 0x6d00 in MetaMask?

Yes. If Ledger Live is open in the background, it may send background sync instructions that collide with MetaMask, triggering instruction errors.