← Winnow Café to vault
Paper

Winnow · Puerto Rico · 15 minutes

From the café till.
To the family vault.

Meet Sofía. Her day explains why a phone wallet should learn from Bitcoin, adapt custody to the money, and tell the truth about its tradeoffs.

Sofía Cruz, Brisa Café, Harbor Exchange, Ceiba Trust, and the Rivera family are fictional. The signet transactions are real test evidence.

DailySofía's hot walletFast enough to run Brisa Café.
SavingsRivera 2-of-3 reserveShared enough to survive one missing key.
FamilyElena + Mateo MuSig2Two people; one Taproot key on chain.

01 · the hot wallet

Open first.
Synchronize behind it.

Sofía creates keys, copies her recovery phrase, and receives at Brisa Café without waiting for a historical header download.

For Q&A: what happens at payment time?

The Receive screen watches a bounded relay window for an early observation. Confirmation still comes from a block. Spending shows destination, amount, fee, inputs, and change before signing; every spend is replaceable with RBF.

Winnow receive screen with a fresh signet Taproot address.

02 · the read path

Bring Bitcoin
to the phone.

Peers serve public headers and compact block filters. Sofía's phone checks those summaries against her scripts locally. It never asks a wallet server for her balance.

For Q&A: what does a peer still learn?

A peer sees a network connection and public chain ranges. A matched full-block request can add a correlation clue, so Winnow can use different peers. A full eclipse remains a real threat; this is a light client, not a validating full node.

Peer Aheaders
Peer Bfilter headers
Peer Ccompact filters
Sofía's phonematches wallet scripts here
addresses sent: 0

03 · close the café

Tomorrow's cash stays hot.
Savings move cold.

One person does not need one custody model. Sofía sweeps excess operating funds into the Rivera reserve instead of leaving the whole business behind one phone key.

Spendable nowBrisa CaféCustomers and suppliers
2 signatures requiredRivera cold reserveElena · Leo · Marina

04 · ordinary 2-of-3

Elena and Leo
return operating money.

The transaction moves as a PSBT. Each signer reviews the destination and fee before adding a partial signature. No coordinator account can silently change the policy.

For Q&A: what appears on chain?

This path uses a Taproot script leaf with a threshold policy. Spending reveals that chosen script path, as Taproot is designed to do.

Rivera reserve · 2 of 3
Elena Riverafamily steward
signs
Leo SantosHarbor Exchange
signs
Marina OrtizCeiba Trust

05 · inheritance path

A missing signer
does not erase the family plan.

If Elena cannot participate, Leo and Marina can exercise the same threshold after the family's real-world checks. Bitcoin enforces two keys; people define what qualifies as recovery.

Normal path

Elena + Leo → Brisa Café liquidity

Recovery path

Leo + Marina → next-generation reserve

Same Bitcoin policy

Either pair satisfies 2-of-3. Both paths confirmed in the public-signet story.

06 · joint reserve

Two people sign.
The chain sees one key.

Elena and Mateo complete MuSig2's nonce and signing rounds. Their contributions aggregate into an ordinary Taproot key-path signature.

For Q&A: why does nonce state matter?

Reusing a secret nonce can expose a signing key. Winnow keeps it only in the active signing screen, consumes it during round 2, and requires a new session if the signer leaves early. The verified spend had one 64-byte witness item and no revealed script.

Elenacontribution
Mateocontribution
On chain
one Taproot key-path signature

07 · tell the whole truth

A replacement phone works.
Silent receive is not finished.

Winnow's export carries public history and scan state so a new phone can verify forward. Silent Payment sending works; receiving stays off by default while its mobile tweak-data backend remains experimental.

For Q&A: why not compact filters alone?

A Silent Payment output is not recognizable from the recipient's static code. The phone first needs a per-transaction tweak derived from sender inputs, then it can derive candidate scripts and query the ordinary block filter. The planned block-dn path requests fixed public ranges, never wallet identifiers, but a provider could still omit data.

Verified on signet

Replacement phone matched balance, UTXOs, history, RBF links, and scan height.

Implemented

Silent Payment send creates the recipient-specific Taproot output locally.

Experimental

Silent Payment receive-and-spend did not complete in the current public story.

08 · public beta, open source

Try the story.
Inspect the choices.

Winnow defaults to public signet. Test without risking money, read the paper, and challenge the architecture.

winnowwallet.com/present

QR code for winnowwallet.com/presentTake the story with you
1 / 9
← → · Page Up/Down · Home/End · Esc