LIVE ON-CHAIN
◆ FIELD MANUAL

Etch a message onto Bitcoin

An OP_RETURN output lets you attach a small piece of arbitrary data to a Bitcoin transaction. Miners record it in the blockchain like any other transaction — which means once it confirms, it is public and permanent.

⚠ BEFORE YOU DO THIS

There is no undo. Anything you write is public forever, tied to your transaction, and costs a real fee. Never include anything private, illegal, or that identifies you unless you intend to.

01

Understand the tradeoff

OP_RETURN attaches data to a provably-unspendable output. The old 80-byte cap was a relay policy, not a consensus rule — Bitcoin Core v30 (2025) dropped that default, so larger payloads now relay and confirm, and a message can span several OP_RETURN outputs. It is cheap but not free — you pay a fee that scales with size — and it is immutable once mined.

02

Use a wallet that supports it

Sparrow Wallet (Tools → add an OP_RETURN output), Bitcoin Core via bitcoin-cli, or Electrum’s console. Custodial and exchange wallets will not let you.

03

Write your message

Plain UTF-8 text. There is no longer a hard 80-byte limit, but bigger data costs a higher fee and some nodes still run tighter relay limits — keep it short for reliability, or split it across outputs. Then encode it to hex.

04

Build the transaction

Add one OP_RETURN output carrying your data (0 sats) plus a change output back to yourself, and set a fee rate from mempool.space.

# Bitcoin Core — attach arbitrary data (80+ bytes now relay by default) DATA=$(printf 'gm, permanent record' | xxd -p -c 999) bitcoin-cli -named createrawtransaction \ inputs='[{"txid":"<your-utxo>","vout":0}]' \ outputs='[{"data":"'$DATA'"},{"<change-addr>":0.0009}]' # then: signrawtransactionwithwallet + sendrawtransaction
05

Broadcast and wait

Sign, broadcast, and watch it hit the mempool. Once a block confirms it, it lives on-chain forever. Send it to an address we monitor and it shows up in the feed here.

This tool only reads the chain — it never asks for your keys and cannot send anything for you.