Sent on Your Screen, Pending on Theirs

What leaves your phone when you send bitcoin? Follow one signed payment record as computers check it and it waits to enter the ledger.

One Bitcoin transaction, two different screens

An illustration recreating a scene: two people seen from behind, sitting side by side on a pale teal bench in a park on a clear day. Each holds a phone upright in one hand, and both screens can be seen over their shoulders. The two screens have the same layout. On the left screen, the band across the middle is filled with dark teal and shows a paper-plane shape. On the right screen, the same band is pale beige and shows a clock shape. There is no text in the picture.(full size, opens in a new tab)
The same payment at the same moment. On the left is your screen: a dark teal band with a paper plane, for “Sent.” On the right is your friend’s: a pale band with a clock, for “Pending.”

Your friend, sitting next to you on a park bench, texts you their Bitcoin address. It’s a long string of letters and numbers that tells your app where to send. You paste it into the wallet app on your phone, type in 0.01 bitcoin, and tap “Send.”

Your screen soon says “Sent.” At the same moment, your friend’s screen says “Pending.” It’s one payment, and the two screens say different things.

So what just left your phone?

A single record. In effect, it says: “Send 0.01 of my bitcoin to this address.” Bitcoin calls this record a transaction.

Attached to it is your signature, showing that you’re the one sending. Unlike a signature in ink, it stops matching if even one character of the record changes.

The record is passed from computer to computer around the world, and each one checks it for itself. Then it waits to be written into Bitcoin’s ledger, which anyone can open and read.

Let’s follow that record.

What leaves is a record of how much goes where

You may have sent someone a coffee gift card by text. You tap “Send,” and the card appears on your friend’s phone. The coffee is still at the café. The only change is in the records of the company that issued the card: the person who can use it is now your friend.

Bitcoin works in a similar way. Bitcoin exists as entries in a ledger anyone can open, each saying how much belongs to which address. The wallet app on your phone reads that ledger and adds up what’s yours.

So when you tap “Send,” your phone writes one new record to add to the ledger and sends it out. The record holds three things: which of the bitcoin you received earlier you’re spending, where it’s going, and how much.

The “where” is that long string your friend texted you: their address. An address works like an account number. It’s safe to share, and it tells others where to send. The ledger lists addresses, not people’s names.

A diagram on cream paper. On the left is your phone. Its screen has two gray lines at the top, one rounded band in the middle, and one gray line at the bottom; the band is dark teal, with a paper-plane shape next to "Sent." A teal arrow runs from the phone to a single record card in the middle. The card has three rows, each a short teal bar beside a long brown bar, with a small coral cursive signature below them. On the right is an open ledger with a binding strip on its left and page edges stacked below. Four lines are written in the ledger, each a brown bar, a small arrow, and another brown bar, with an ochre bar of varying length at the right end. Only the third line has words after the arrow instead of a bar: "Your address." At the bottom of the ledger is a space outlined in dashed teal, and a teal arrow from the record card points into it. From the "Your address" line, a dotted brown line with no arrowhead runs left to the side of the phone. Text in the figure: What leaves your phone is one record / The bitcoin was in a ledger anyone can open all along / Sent / Your phone / One record / Ledger / Your address / To be added here / 0.01 bitcoin / Your address → Friend's address / Dotted line: your wallet app reads your balance from the ledger(full size, opens in a new tab)
The record that leaves your phone waits to be added in the dashed space at the bottom of the ledger. The bitcoin was in the ledger all along, and your wallet app reads the ledger to show your balance.

Where the comparison breaks down is who keeps the records. For the gift card, it’s one company. Bitcoin’s records are checked by many computers around the world, each on its own, and all of them write into the same ledger. We’ll come back to those computers shortly.

Here’s a real record. On January 12, 2009, Satoshi Nakamoto, the person who created Bitcoin, sent 10 bitcoin to Hal Finney, an early Bitcoin user. Finney looked back on it in a post he wrote in 2013. It was the first record of bitcoin passing from one person to another.

What was added to the ledger that day was one record. It took bitcoin that had become the sender’s three days earlier and sent 10 of them to Finney. More than seventeen years later, that record is still in the same place in the ledger.

Every line in your wallet app’s list of sent payments is a record like this. Tap one and you’ll see the address, the amount, and a long ID that every record gets. You can type that ID into a website that shows the ledger and find the same record there.

The first payment from 2009 can be opened on such a website today. The links are in the sources at the end.

There’s a reason bitcoin exists as records. If bitcoin sat on your phone like a file, you could copy it and send it to two people. Because it’s a record in the ledger, the ledger itself shows that this amount has already gone to your friend. Stopping the same bitcoin from being written into the ledger twice is the job of the checks we’ll see shortly.

What stays in the ledger is the address, the amount, and the signature we’ll look at next. The ledger is public, so anyone can see these addresses and amounts. What leaves your phone is a record to add to the ledger, and the bitcoin was in the ledger from the start.

One signature covers every part of the record

Think of a lease for an apartment. You fill in the rent, the dates, and both names, then sign at the bottom. If someone changes the rent after you sign, the lease is no longer what you agreed to. That’s why nobody signs a contract with blanks left in it.

A Bitcoin record also gets a signature at the end. It isn’t handwritten. The moment you tap “Send,” your wallet app attaches it to the whole finished record. Because it’s calculated from the record’s contents, changing even one character makes the signature stop matching.

Checking is where the two part ways. With a paper contract, people look for signs that something was changed. A Bitcoin signature is checked by calculation, by the computers that receive the record.

So who can make this signature? When you first set up a wallet app, it creates a secret value just for you and keeps it on your phone. This value is called your key (or private key). The key is never written into the ledger, and it doesn’t leave your phone when you send.

Many wallet apps work the key out from a list of words they ask you to write down at the start. That’s why, if you switch phones, those words can make the same key again.

A signature is a value calculated from the key and the record together. With the same key, a different record gives a different signature. The signature method Bitcoin uses rests on one assumption. Without the key, producing a matching signature by guesswork is practically impossible.

The computers that receive the record can check it without the key. They calculate whether this signature was made with the key for the address holding that bitcoin, and for exactly this record.

The flip side is that anyone who knows the key can sign the same way. And if you lose your key, there’s no one who can sign for you. That’s why it matters to keep the words you wrote down private and safe.

Many apps ask for your passcode once more just before signing. In a wallet app where you hold the key, that passcode unlocks the key on your phone. If you send from an exchange app to an address outside the exchange, the exchange holds the key and signs. There, the passcode confirms that it’s your account.

Either way, the passcode itself is not the key, and it’s not the signature.

What matters here is how much the signature covers.

A diagram on cream paper. Inside a box with a brown border are three rows, each with dark teal words on the left and the contents on the right. A single coral bracket spans the right side of all three rows, and beside it, inside a small coral-bordered signature box, is a cursive signature with looping strokes. Text in the figure: What one signature covers / The signature is attached to the whole record / Which bitcoin: Bitcoin you received earlier / Where to: The address your friend sent / How much: 0.01 bitcoin / Signature / covers all three / Change any part and the signature stops matching, so the computers checking it turn it away / So the record travels exactly as you wrote it(full size, opens in a new tab)
One signature covers all three parts at once. Change the address or the amount by a single character, and the signature no longer matches. The cursive mark in the figure stands for the signature; it is not a handwritten one.

Now suppose someone changed the address in your record to their own while it was being passed along. Your signature was made for a record with your friend’s address in it, so it doesn’t match the altered one. The computers that receive that record don’t pass it on, and it never gets into the ledger. The same goes if someone changed the amount, 0.01, to another number.

For the same reason, a signature lifted from one record and attached to another doesn’t match. The signature is bound to that record’s contents. So even if someone copies the signature from a record you sent yesterday, they can’t use it to make a new payment.

The first payment in 2009 also carries one signature. Which bitcoin it spends, where it goes, and how much are all bound into that signature.

That record and its signature are still in the ledger, exactly as written that day. Both are public, so anyone can run a program to recalculate whether the signature matches the contents.

Many wallet apps show the address and the amount on one screen just before sending. The signature covers exactly what’s on that screen. That screen is your last chance to change the record.

The record passes from computer to computer, checked at each step

Think of a school phone tree. The teacher calls two parents, and each of them calls the next people on the list. After a few rounds, the whole class has the same news.

A signed record travels in a similar way. Your wallet app hands the record to one computer. It’s a computer that keeps a full copy of Bitcoin’s ledger and checks every new record itself against the rules. A computer like this is called a node.

Anyone can run a node with free software.

The computer that receives the record passes it to a few others it’s connected to, and they pass it on again. In 2008, Satoshi Nakamoto published a paper describing how Bitcoin would work. It lists this as the first step: new transactions are announced to every computer on the network.

“Every computer” here means every node. The same paper adds that a new record doesn’t have to reach every one of them. As long as it reaches many, it will get into the ledger before long.

Unlike a phone tree, the connections here aren’t a fixed chain. They form a web, so if one computer is offline, the record travels another way. Nor does each computer simply repeat what it heard. It checks first.

The Bitcoin developer guide describes this passing from neighbor to neighbor. A computer that receives a transaction forwards it the same way, as long as it’s valid.

Several things get checked. Does the signature match this record? Is the bitcoin being spent still assigned to the sender’s address, or has it already gone somewhere else? That second check is what keeps the same bitcoin from being spent twice.

A diagram on cream paper. Your phone is on the left and your friend's phone is on the right. Both screens have the same layout: two gray lines at the top, one rounded band in the middle, and one gray line at the bottom. On the left screen the band is dark teal, with a paper-plane shape next to "Sent." On the right screen the band is pale beige, with a clock shape next to "Pending." Above your phone is a record card: three rows of a short teal bar beside a long brown bar, with a coral cursive signature below. In the middle, eight teal monitors, each showing an open ledger book, are joined to one another by faint lines like a web, and none of them is a hub that all the others hang from. A teal arrow from your phone goes into one monitor; from there, teal arrows branch to its neighbors and on to theirs. The last link is a dotted brown line with no arrowhead, running to your friend's phone. At the lower left is a legend: the same teal monitor icon with its label, and below it a short dotted line with its meaning. Text in the figure: A signed record passes from computer to computer / The real network links far more computers than this / Signed record / Sent / Your phone / Pending / Friend's phone / A computer that keeps a full copy of the ledger and checks new records / Dotted line: friend's wallet app shows the record / Computers in many places each check the same record(full size, opens in a new tab)
The record leaves your phone and passes from neighbor to neighbor, checked again wherever it arrives.

Imagine a club where ten members each keep an identical copy of the dues ledger. Someone passes around a note saying the club paid for flowers out of the dues. Each member opens their own copy. They check that enough dues were left and that the note’s signature is right, and only then get ready to copy it in.

In everyday life, people often take it on faith once a few others say they’ve checked. Nodes don’t rely on anyone else’s word. Each one checks from the beginning.

Bitcoin doesn’t hand the job of checking payments to a single institution. It spreads that job across many nodes. That way, even if one computer passes along a bad record, the next one filters it out. A changed record, or one whose signature doesn’t match, doesn’t travel far.

Records that pass the checks gather on each computer and wait their turn to be written into the ledger. About every 10 minutes on average, the ledger adds the waiting records in a new batch.

The first payment, on January 12, 2009, was carried in the batch added to the ledger that day. Anyone who downloads the whole ledger fresh today will find it in the same batch, in the same place.

Your friend’s “Pending” shows this stage. Your friend’s wallet app has already seen the record, and a new batch hasn’t carried it into the ledger yet. You can turn your phone off now. The record has already left your hands and reached many computers.

Once the record is in a new batch, your friend’s screen changes too. Depending on the app, it may show “Received” or “1 confirmation.” With each batch added after that, the payment becomes harder to undo.

The sender is the last to check the address

The signature keeps the record exactly as you wrote it. That means it also keeps an address you got wrong.

The end of an address carries a few check characters. If you copy an address by hand and get a character or two wrong, the check doesn’t add up, and your wallet app warns you before sending. Most copying typos are caught here.

Pasting the address instead of typing it makes typos far less likely. So does scanning its QR code, the little square pattern, with your phone’s camera.

Some mistakes get through. Say you paste someone else’s valid address by mistake. Its check characters are correct, so your wallet app accepts it. The record follows the rules too, so the computers checking it pass it on as a normal record.

Once the record has spread and been written into the ledger, the sender can’t take it back. Only the receiver can return the money, because sending it back means the receiver signs a new record with their own key.

That’s why your part comes before you send. On the confirmation screen, check the whole address, character by character, against the one in your friend’s original message. Matching only the first and last few characters isn’t enough, because a different address can be made to share them.

For a large amount, you can also send a little first and check that it shows up on your friend’s screen. Every payment carries a fee, so this way you pay it twice, but it’s the surest way to know the address is right.

During “Pending,” the bitcoin stays at your address until the record enters the ledger

Let’s go back to the moment you tapped “Send.” What left your phone was one record, the transaction: which bitcoin, to which address, how much.

Your signature covered that whole record, so the record travels exactly as you wrote it. That’s why the confirmation screen just before sending was the last place to change it.

The record passed from computer to computer, and no single institution was in charge of checking it. Every computer that received it compared the signature and the contents for itself before passing it on.

While your friend’s screen says “Pending,” the bitcoin is still in the ledger, assigned to your address. Once the record goes into a new batch, added about every 10 minutes on average, the bitcoin is assigned to your friend’s address, and the screen changes. Until then, “Pending” means your friend’s app has seen the record on a computer that checked it and is holding it. The exact words, and when they change, differ a little from app to app.

The next essay starts with the “Pending” on your friend’s screen. Records sent on the same day get into the ledger at different times, and the fee differs from one payment to the next. That essay follows a record through the wait to see why.

An earlier series on this blog, What Makes Us Trust Money, looks side by side at how a bank deposit and bitcoin are each kept safe, including the keys you met here: “Banks Protect Deposits. Keys Protect Bitcoin.”


Glossary

  • Address, key: An address is a string of letters and numbers recorded in the ledger in place of a name. Like an account number, it’s safe to share. A key (private key) is the secret value used to sign when you send the bitcoin at that address. The key is never written into the ledger. In more detail, the ledger records the spending condition worked out from the address, and websites that show the ledger turn it back into an address. The very first payment between people used a public key, not an address, as its destination.
  • Signature: A value that proves “the holder of this key sent this” without the key itself ever leaving the wallet. Nodes check it for every transaction. In the standard method, the signature covers the whole record (which bitcoin, where to, how much).
  • Public key: A value calculated from the key, used to check that a signature was made with that key. It’s safe to show others, and an address is usually calculated from it.
  • Node: A computer that downloads a full copy of the ledger and checks for itself whether each new record follows the rules. Anyone can run one with free software.
  • Block (a batch): A batch of waiting transactions, gathered about every 10 minutes on average and attached to the batch before it. The first block was created on January 3, 2009.
  • Check characters (checksum): Characters at the end of an address that reveal typos made while copying it. For addresses starting with bc1, any typo that changes up to four characters is always caught. For addresses starting with 1 or 3, the chance that a random typo slips through is about 1 in 4.3 billion.
  • Wallet app: A program that creates and stores your Bitcoin keys and uses them to sign when you send bitcoin. The bitcoin itself is in the ledger; the wallet holds the keys.
  • Block explorer (a website that shows the ledger): A website that lets anyone look up the records in Bitcoin’s ledger, such as mempool.space and blockstream.info.
  • Bitcoin white paper: The nine-page paper “Bitcoin: A Peer-to-Peer Electronic Cash System,” published by Satoshi Nakamoto in October 2008.
  • Satoshi Nakamoto: The name used by the developer who designed Bitcoin and first released it in 2009. The person’s real name is not known.
  • Bitcoin, bitcoin: In this essay, Bitcoin (capital B) is the system and its ledger; bitcoin (small b) is the money and its units.
Sources (11)

Dates and times are in Coordinated Universal Time (UTC).