A Privacy coin does not become harder to link merely by sitting in a wallet. When it is spent, the spend publishes the output id it consumes. The new output is only ambiguous among the other outputs created in that same extension block. LIP‑0004 is what mixes, and it mixes inside one block.
Cut-through does not hide an intermediate that was created and spent in the same block. LIP‑0004 §6 keeps the spent output in the TXO set until it passes the horizon. Two self-spends in one quiet block publish the path between them. The next hop therefore waits until the previous hop is confirmed, so each hop is its own aggregation.
That is the reason for a self-spend. The desktop wallet can spend one Privacy coin to a fresh address of the same wallet, then wait. The point of the wait is a later block that the coin shares with other Privacy activity. It is not a payment to someone else, and it is not a claim that the coin is now unlinkable.
Self-spend needs a working Litecoin RPC URL pointed at a local litecoind. The wallet uses that node to watch the MWEB mempool. Without it, “Spend to self” is unavailable. Configure the URL under Connection. Electrum and LIP-0006 peers still sync Transparent and Privacy coins; they do not replace the node for this job.
One coin, one job
Each hop is a 1-in-1 spend to a fresh address belonging to this wallet. The fee is the public kernel fee, 0.0005 LTC. While the job is running, the coin stays frozen, so Send, Swap, and Split cannot take it. The freeze lasts until the job is cancelled or finished.
The default is a single hop. A collapsed control can ask for up to ten non-solo blocks. A hop counts only when the inclusion block was not this wallet alone. For this 1-in-1, that means the inclusion header’s kernel_mmr_size is greater than one, or output_mmr_size grew by more than one from the parent header.
The kernel field is that block’s own kernel count. litecoind rebuilds the kernel MMR every block, so the wallet does not compare the kernel field with the parent. Header sizes also cannot tell a peg-in from a private spend. The row reports how many other kernels and other outputs were in the block, and it says that peg-ins and peg-outs inside that count publish an amount.
How the wallet scores the hop
Sync stores one tip leafset. Scoring does not diff that leafset. The hop is in a block after the tip height at the moment of broadcast. The wallet finds the new output’s leaf and scores the block whose output MMR crosses that leaf, walking forward through the current tip.
A header the wallet cannot read yet leaves the hop waiting for a later sync. If several blocks pass and the output is still not on chain, the spend is marked not included, and the original coin can be sent again.
A quiet block pauses the job. It does not retry by itself. The pause stays on the coin’s row. A block that could not be read yet stays on that same row, still waiting. Neither state is raised as an error toast.
What stays visible


The button is “Spend to self.” History labels the row “self-spend,” and the amount on that row is the fee. The confirm sheet is ordered on purpose: what the spend does, the fee for this hop, the amount line, then the sentence about a quiet block. It does not open with a stepper.
After a hop lands, the main line is one of two sentences: “This block only contained your spend,” or “This block also had N other kernels and M other outputs.” If you asked for more than one non-solo block, the count of those blocks is the smaller line. Saved hops remain listed under that count, each as its own kernels-and-outputs line. A finished hop stays identifiable. It is not folded away into a single Privacy balance.
A label on the Privacy coin moves with it. When the self-spend creates the next output, the wallet moves the note from the spent output id onto the new one. If the coin had no label, the label file is left unchanged. The note you attached stays on the coin you still hold.
The amount that remains is the starting amount minus one public fee per hop. Extra depth does not change that arithmetic. Depth is how many non-solo blocks this coin has been in. The wallet does not present that number as a privacy score, and it does not treat any depth as a point at which pegging out is safe. There is no privacy meter. A self-spend does not start by itself after a peg-in. There is no “safe to peg out” state.
Depth is local. Spent outputs leave the UTXO set, so restoring a wallet from the mnemonic cannot rebuild the count. The metadata bundle carries the map from output id to depth. Without that file, the wallet shows the count as unknown.
When a spendable peg-in coin has never shared a block, the balance view can show one dismissible line. That line opens Coins. It is not a second maturity warning.
Self-spend ships in the v0.4.x desktop wallet. The current release in that line is v0.4.13. Like the rest of this prototype, it has not been independently audited.