LayerZeroFault
Solana & Bitcoin CODE: ELECTRUM-DUST Reviewed & Verified:

Electrum Transaction Rejected: Dust Threshold & Server Script Fix

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

An Electrum error stating "Transaction was rejected by network rules (dust)" occurs when a transaction output has a value smaller than the Bitcoin network dust limit. For standard P2PKH and P2SH script outputs, the dust threshold is 546 satoshis; for native SegWit (P2WPKH), it is 330 satoshis; for Taproot (P2TR), it is 354 satoshis. Outputs below these amounts cost more in fees to spend than they are worth and are rejected. Increase output amounts.

# Root Cause & Technical Architecture

Bitcoin Core defines "dust" as any output whose value is less than the cost of spending it at the `dustRelayFee` rate (3,000 satoshis/kB). Creating an output below this limit (e.g. sending 100 satoshis) violates standard network relay rules, causing ElectrumX backend servers and full nodes to return `error: transaction was rejected by network rules [dust]`. If the server connection drops during rejection, Electrum reports "Server did not answer".

# 4-Step Actionable Diagnostic Protocol

Step-by-Step Resolution
01

Check Output Values Against Script Dust Limits

Ensure all recipient and change outputs exceed 546 sats for Legacy (1...), 330 sats for SegWit (bc1q...), and 354 sats for Taproot (bc1p...).

02

Consolidate Dust Change into Miner Fees

If the change amount is smaller than the dust threshold, configure Electrum to add the remaining satoshis to the miner fee instead of creating change.

03

Switch ElectrumX Backend Server

In Electrum, open Tools > Network > Server, uncheck "Select server automatically", and manually connect to a responsive, fully synced node.

04

Inspect OP_RETURN Metadata Payload Limits

If attaching OP_RETURN data, ensure the script contains 0 value output. Attaching non-zero satoshis to OP_RETURN violates standard dust policy.

# Diagnostic Verification Code / Command

text
bitcoin-dust-limits-table.txt
Bitcoin Script Type Dust Threshold Reference:
┌─────────────────────────┬──────────────┬────────────────┐
│ Address Script Type     │ Prefix       │ Dust Limit     │
├─────────────────────────┼──────────────┼────────────────┤
│ Legacy P2PKH            │ 1...         │ 546 satoshis   │
│ Nested SegWit P2SH-P2WPKH│ 3...         │ 540 satoshis   │
│ Native SegWit P2WPKH    │ bc1q...      │ 330 satoshis   │
│ Taproot P2TR            │ bc1p...      │ 354 satoshis   │
└─────────────────────────┴──────────────┴────────────────┘
Rule: Any output value < Dust Limit triggers instant network rejection.
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 Solana & Bitcoin

Related Hex Statuses

# Frequently Asked Questions

FAQ Schema

Why does Bitcoin have a dust limit?

The dust limit prevents blockchain bloat by disincentivizing outputs whose economic value is lower than the cryptographic fee required to spend them.

Why did Electrum say "Server did not answer" on a dust error?

When an ElectrumX server rejects a transaction due to network rules, it may terminate the RPC pipe, causing Electrum to report a server timeout.

Can I send an OP_RETURN output with zero satoshis?

Yes. OP_RETURN outputs are explicitly intended for data carrier storage and must carry a value of exactly 0 satoshis to comply with network rules.