$1,000,000 in security audit grants are live now, Apply here →

← Resource Hub

What Is Blind Signing? The Risk Behind Bybit and Radiant

By the Guardian team Updated 5 min read

What Is Blind Signing? The Risk Behind Bybit and Radiant

Quick answer. Blind signing is approving a transaction or message whose real effect your wallet or device doesn't show, often just a hash. It is dangerous because a tampered interface can swap what gets signed, as at Bybit and Radiant.

Watch: What Is Blind Signing? The Risk Behind Bybit and Radiant 1:48
Video transcript

Blind signing is approving a transaction your wallet cannot show you. At Bybit and Radiant, signers approved one thing and signed another.

Ledger compares it to signing a blank check. The device shows a hash or Data Present instead of the action, so the key stays safe but the decision is blind.

At Bybit, malicious code in Safe Wallet showed signers a routine transfer. The FBI puts the loss at about 1.5 billion dollars.

Radiant lost about 50 million dollars to a swapped ownership transfer. WazirX reported over 230 million, and says the payload differed from the interface.

EIP-712 shows a message's fields, but Safe calldata stays raw bytes. Clear signing shows the action, amounts and addresses on the device, using metadata defined in draft standard ERC-7730.

If a device shows only a hash, verify separately. Compute expected hashes on a trusted machine, match the full hash on screen, decode the calldata yourself, and simulate with a second reviewer.

Then make it policy. Use devices that clear-sign routine actions, publish ERC-7730 files, ban eth sign for admin approvals, treat unexpected retries as incidents, and refuse unexplained delegatecalls.

Safe put it simply after Bybit. Signing is the last line of defense, and it only works if the user understands what they are signing.

With Managed Security, Guardian reviews every multisig transaction before it is signed. Read the full guide, or talk to Guardian at guardian.security.

Most signers never see the transaction they sign. They see a web page, then a device screen that may show only a hash.

Blind signing is the gap between the two. Whoever controls the page can control what gets signed.

This guide defines it, explains clear signing and EIP-712, and sets out a policy that removes it.

Blind Signing Defined

Ledger defines it plainly: "Blind signing is the act of approving a digital transaction without being able to verify its full details."

Ledger compares it to signing a blank check. A wallet that cannot decode the request shows a long hash or a generic "Data Present" message instead.

Two kinds of request get blind signed:

  • Transactions whose calldata the device cannot turn into a function and parameters.
  • Messages, such as the hash a Safe owner signs to approve a multisig transaction.

A hardware wallet still protects the key. It cannot protect a decision made without the facts.

Why Devices Show Hashes

Calldata is bytes: a function selector followed by encoded arguments. To show "send 100 USDC to this address," a device needs the contract's ABI and formatting rules.

ERC-7730 makes the point directly. Even with an ABI or EIP-712 types, raw data is often not enough for a person to review.

Function names are written for developers. Integers need formatting as amounts, percentages or dates.

Hash-only signing

Some flows sign nothing but a 32-byte hash. Safe's contracts accept owner signatures made with eth_sign over a prefixed transaction hash.

In that flow, the device has nothing to decode. In March 2025, Safe temporarily disabled native hardware wallet support in Safe{Wallet} "due to their reliance on eth_sign and many third party dependencies."

Hardware wallets stayed usable through WalletConnect, Safe said.

Clear Signing and EIP-712

Two standards narrow the gap. Neither closes it alone.

EIP-712

EIP-712, a final Ethereum standard, opens with the problem: "Currently signed messages are an opaque hex string displayed to the user with little context."

It defines typed, structured data so wallets can display a message's fields. A domain separator, built from fields such as chainId and verifyingContract, keeps one app's signatures from matching another's.

Typed is not the same as readable. A Safe transaction is EIP-712 data, yet its data field is still raw bytes.

Clear signing and ERC-7730

Clear signing means the device decodes the transaction on its secure screen: the action, amounts and addresses.

ERC-7730, a draft standard created in February 2024, defines a JSON format "carrying additional information required to correctly display structured data."

Each file binds to a contract or an EIP-712 domain. The standard expects app developers to write them. Ledger, which started the effort, says it is now governed by the Ethereum Foundation.

Device support varies by maker and by app. We compare it in the best hardware wallets for multisig signers.

ModeWhat the signer seesCan a swapped payload hide?
Blind signingA hash or "Data Present"Yes
EIP-712 typed dataField names and values; calldata as hexYes, inside the calldata
Clear signingAction, amounts and addressesMuch harder, if the metadata is right

Three Incidents, One Gap

In each case below, the affected team says signers approved one thing and signed another:

IncidentReported lossWhat was signed
Bybit, Feb 2025About $1.5B (FBI)A delegatecall replacing the wallet's implementation
Radiant, Oct 2024About $50M (Radiant)A malicious transferOwnership, swapped in on compromised machines
WazirX, Jul 2024Over $230M (WazirX)A payload WazirX says differed from the interface

Bybit

Malicious JavaScript in Safe{Wallet} showed Bybit's signers a routine transfer. DefiLlama says they were tricked "into blind-signing a masked transaction." Our Bybit hack explainer walks through it.

Radiant Capital

Radiant says malware on at least three developers' devices showed legitimate data in Safe{Wallet}. Meanwhile, malicious transactions went to the hardware wallets for signature.

Each transaction was simulated in Tenderly and reviewed by several developers. Its post-mortem adds: "The displayed blind-signing signatures on the Ledger hardware wallets also appeared valid."

The interface then showed an error and asked signers to retry. That gave the attackers three valid signatures.

Radiant's December update, drawing on Mandiant's investigation, pointed to "the reliance on blind signing and front-end verifications that can be spoofed."

WazirX

WazirX says its three signers on the transaction used Ledger hardware wallets. It reported "a mismatch between the information displayed on Liminal's interface and what was actually signed."

Liminal says a Grant Thornton review it commissioned found no evidence of compromise in its transaction workflow.

When It Cannot Be Avoided

Some requests will still fall back to a hash or "Data Present": any contract without clear-signing metadata, such as a new deployment.

Radiant's advice is to avoid blind signing for critical transactions. If that is impossible, it calls for "a separate layer of visible verification."

One way to build that layer is four checks:

  1. Compute the expected hashes on a separate, trusted machine.
  2. Match the full hash on the device screen.
  3. Decode the calldata yourself, from the wallet's raw data.
  4. Simulate, and have a second reviewer confirm the result.

Our guide to verifying a Safe transaction before signing covers each step.

A Policy to Remove Blind Signing

  • List every key that approves admin or treasury actions, and the device it uses.
  • Choose devices and wallet apps that clear-sign your routine actions. Keep firmware current.
  • Publish ERC-7730 files for your own contracts, so signers' devices can decode them.
  • Keep eth_sign out of admin and treasury approvals.
  • For anything the device cannot decode, require the four checks above.
  • Treat a failed signature or unexpected retry as an incident. Stop and re-verify.
  • Refuse any delegatecall you cannot explain.
  • Sign on a dedicated device, never a daily laptop.

Safe put it this way after Bybit: signing is the last line of defense, and "it can only be effective if the user can understand what they are signing."

Thresholds, timelocks and signer roles are in our multisig best practices.

How Guardian Helps

With Managed Security, Guardian's security operations team reviews every multisig transaction before it is signed.

An OpSec audit tests what a signer actually sees before approving, and what it takes to slip a malicious payload past them.

Frequently Asked Questions

What is blind signing in crypto?

Approving a transaction or message without being able to read what it does. The wallet or hardware device shows a hash, raw hex or "Data Present" instead of the action, amounts and addresses.

Is blind signing safe?

Not for anything valuable. The key stays protected, but you cannot tell a real payload from a swapped one. If you must, compute the hash on a separate machine, match it on the device and decode the calldata yourself.

What is the difference between blind signing and clear signing?

Clear signing shows the transaction's action, amounts and addresses on the device's secure screen. Blind signing shows a hash or raw data. ERC-7730, a draft Ethereum standard, defines the metadata wallets need to clear-sign.

Does EIP-712 stop blind signing?

Partly. EIP-712 structures a message so a wallet can show its fields instead of an opaque hex string. But a field such as a Safe transaction's calldata is still raw bytes unless the device can decode it.

Sources

Never sign blind again

Guardian reviews every multisig transaction before your signers approve it, whatever their devices can display.