BIP-110 · RDTS

Temporarily limit arbitrary data on Bitcoin

BIP-110 (also called RDTS — Reduced Data Temporary Softfork; sometimes referenced alongside BIP-444 naming) proposes temporary consensus limits on large data fields so the chain stays focused on monetary use. The BIP document is finished; network activation is a separate, live signaling story.

BIP Status: Complete Network: not yet activated Bit 4 · 55% (1109/2016)

Key points

Complete means the specification is finished. It does not mean Bitcoin Core ships it, or that majority hashrate has activated the rules.

Live signaling

Chain tip
This period
Period progress
To must-signal
To ACTIVE (if locked)

Orange fill = signaling % this difficulty period. Green mark = 55% early lock-in threshold.

Loading…

Connecting to mempool.space…

Run BIP-110

Support signaling/enforcement by running compatible software. Review the code walkthrough before you rely on a build.

Bitcoin Knots

29.3.knots20260508+ with RDTS / consensusrules=rdts

Start9

Marketplace package + Activate RDTS task

Umbrel

App store update + RDTS prompt

myNode

Custom Knots version + confirmation

Parmanode

Knots path with RDTS option

Docker

Official image tag + conf line

How it works

1. Output size limits

New outputs limited to 34 bytes of script, except OP_RETURN up to 83 bytes.

2. Data push limits

Script pushes and witness elements capped at 256 bytes (narrow P2SH redeemScript exception).

3. Witness version restrictions

Only well-defined witness versions (v0 and Taproot) can be spent while active; creating other outputs may still be allowed.

4. Taproot restrictions

Annexes, oversized control blocks, OP_SUCCESS, and Tapscript OP_IF/OP_NOTIF are restricted while active.

Inputs spending UTXOs created before activation are permanently exempt from the new spend rules — there is no deadline to move those coins.

Activation path

Bit 4 · STARTED
Miners signal readiness. Early lock-in if ≥55% (1109/2016) in a retarget period after start height 921,888.
961,632 – 963,647
Mandatory signaling window: enforcing nodes reject non-signaling blocks in this range if not already locked in.
≤ 963,648 timeout
Must lock in by this height or the deployment fails to activate on this schedule.
965,664 ACTIVE
New consensus rules apply on enforcing nodes. Pre-activation UTXOs stay grandfathered.
+52,416 blocks
Restrictions expire automatically (~one year of blocks after ACTIVE).

Important considerations

BitVM / control-block depth

Control blocks are capped (~257 bytes) while active, so Tapleaves deeper than about 7 levels are unspendable on enforcing nodes. Deeper designs may wait for expiry or use pre-activation UTXOs.

Wallets / Miniscript / OP_IF

Tapscript OP_IF/OP_NOTIF fail while active. Prefer separate leaves and keep required script-path leaves within the depth cap. Pre-activation UTXOs stay exempt.

Upgrade hooks

Undefined witness versions and OP_SUCCESS-style escape hatches are unavailable while reduced-data rules are on.

Fund safety

Risk is narrow: typically P2TR coins that must confirm and spend during the window via a violating Tapleaf with no alternate path. Pre-activation coins remain spendable under old rules for those inputs.

Enforcing nodes that reject non-compliant blocks can follow a different tip than non-enforcing nodes if hashrate splits. Understand chain-split risk before you depend on a specific tip.

FAQ

Why temporary?

A time-bounded soft fork can address immediate data-incentive issues without permanently freezing every future script design. Expiry is part of the deployment parameters.

What are the tradeoffs?

Some complex Taproot constructions and large data payloads are constrained during the window. Monetary payments that fit the limits continue; deeper trees and annex use are deferred or grandfathered via pre-activation coins.

Are my funds safe?

Pre-activation UTXOs are exempt on a per-input basis. After activation, new outputs you create must satisfy the temporary rules to remain spendable on enforcing nodes. Always verify with software you trust.

Can I still move large data by chunking?

Smaller pushes may still be possible within the 256-byte and output limits; the proposal aims to raise the cost and reduce convenience of bulk arbitrary data, not claim every encoding path is impossible.

What about the fee market?

Block space remains scarce. BIP-110 does not remove fees; it changes which constructions compete for that space while active.

Multisig and Lightning?

Standard multisig and Lightning constructions that fit the temporary limits are intended to keep working. Review your specific script templates against the seven rules before relying on them during the window.

OP_IF in Tapscript?

Executed OP_IF/OP_NOTIF in Tapscript fail while reduced-data rules are active. Prefer leaf-per-path designs.

Policy vs consensus?

Relay policy (e.g. historical OP_RETURN defaults) is not the same as consensus. BIP-110 is a consensus soft-fork proposal; nodes that do not enforce it will not reject the same blocks.

How does this relate to OP_RETURN uncapping?

Much of the public debate followed policy changes around OP_RETURN size. BIP-110 responds at the consensus layer with temporary limits; see the articles list for background reading.

Is signaling optional for miners?

Before the mandatory window, signaling is voluntary. During mandatory signaling (if not already locked in), enforcing nodes treat non-signaling blocks as invalid in that height range.

When do rules expire?

After active_duration = 52,416 blocks from the height where the deployment becomes ACTIVE.

Complete vs activated?

Complete = BIP text/status in the BIPs repo. Activated = locked in and ACTIVE on the chain under the deployment rules. This page tracks both separately.

Read more

Articles

Curated outbound reading: context, proposal, responses.

Code walkthrough

Rule→enforcement map and links to Knots / bip110.org.