How to write a message into the Bitcoin blockchain
Bitcoin is mostly used to move value, but every transaction can also carry a short piece of text. People have used this for years to record a birth, a wedding or the memory of someone they lost. Once the transaction is in a block, the text stays there: anyone can read it, nobody can change it, and it does not depend on any company staying in business.
This article explains how it works, how much fits in, and what to think about before you write anything.
What OP_RETURN is
A Bitcoin transaction has outputs. Most outputs send coins to an address. An OP_RETURN output is different: it sends no coins and can never be spent. Its only purpose is to carry a small amount of data.
Because it is provably unspendable, nodes do not have to keep it in the set of unspent outputs (the UTXO set) that every full node holds in memory. The data is stored in the block, and that's it. That makes OP_RETURN the standard, low-impact place for a short message.
How much fits in
The data part of a standard OP_RETURN output is limited to 80 bytes. That is a long-standing size limit, not a technicality you can work around.
Bytes are not the same as characters:
| What you type | Bytes per character |
|---|---|
Plain letters, digits, punctuation (a, 7, !) |
1 |
Letters with diacritics (á, č, ü) |
2 |
| Most emoji | 4 |
So 80 bytes is roughly one or two short sentences in English, less if you use accents or emoji.
A Timestone message starts with a five-byte format tag, for example TS1B: (Timestone, format version 1, type birth). That leaves 75 bytes for the text itself:
TS1B:Welcome to the world, Ema! Born 4 Oct 2026
A tradition as old as Bitcoin
Text in the blockchain is not new. The very first block, mined in January 2009, contains the line "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks". Since then, people have written proposals, vows and farewells into transactions by hand.
The idea behind a life-event message is the same: one short, meaningful line, paid for with an ordinary network fee, in the smallest standard format. No images, no files, no inscriptions.
Ways to do it
By hand. If you run Bitcoin Core, you can build a raw transaction with a data output, fund it, sign it and broadcast it. It works, but you have to convert the text to hex, count bytes yourself and get the fee right.
In a wallet that supports it. Some wallets let you attach a short message to a transaction, for example Trezor Suite. This is quick if you already know exactly what to write.
With a guided tool. Timestone is built for this one job. The flow looks like this:
- Choose the type of event: birth, wedding, anniversary, memorial or other.
- Pick a template or write your own text. A counter shows how many bytes are left.
- Confirm that you understand the message will be public and permanent.
- Review the cost: a 2.50 USD service fee (paid in BTC) and the Bitcoin network fee, shown separately.
- Connect your own wallet and sign. On a Trezor, you check the message on the device screen before signing.
- Once the transaction is in a block, you get a message page and a certificate with the transaction ID and block number.
Timestone never holds your keys or your coins. It prepares the transaction; you sign it. Without your signature, nothing is sent.
Before you write: public and permanent
This part matters more than the technology.
- Everyone can read it. The Bitcoin blockchain is public. Anyone who knows the transaction ID, or browses blocks, can see your text.
- It cannot be deleted or corrected. Not by you, not by us, not by anyone. Read the text twice before signing.
- Protect privacy, especially children's. Use first names, initials or nicknames. Never write full names, addresses, birth numbers or anything that could identify a child later in life.
A good test: would you be comfortable if this line were read by a stranger in thirty years? If not, shorten it.
What the record proves, and what it doesn't
A message in a mined block proves two things:
- the text existed in exactly this form no later than the time of that block, and
- it has not changed since.
It does not prove that the event happened, or when it happened. The date in the text is whatever the author wrote. And it is not a legal document: it does not replace a birth certificate, a marriage certificate or any official record. It is a personal, permanent and verifiable note.
Reading the message later
You do not need Timestone to read a message. Open the transaction in any block explorer, such as mempool.space or blockstream.info, and look for the OP_RETURN output. Explorers show the data as hex, and many also show the decoded text.
That is the point of writing into Bitcoin rather than into a database: the message outlives the tool that wrote it. Here is a real message written with Timestone, and you can look up the same transaction in any explorer.