Purpose
Money, in its essence, is bookkeeping that tracks good deeds owed back. Tally returns money to that root: it is money as peer-to-peer IOUs — promissory notes between people who trust each other — extended to strangers along routes of mutual friends.
The idea
Anyone can issue their own IOU ("I owe you"): a promise to pay back an agreed value. Value is denominated in whatever participants agree on — euros by default. An IOU is only worth taking if you trust you can spend it later, so at the base level trades happen between friends who trust one another. A transaction records one such IOU and moves the running tally of debt between two friends.
Tally and routed payments
- Tally — the current balance of IOUs with a friend: positive (they owe you) or negative (you owe them). It only moves when you send or receive an IOU.
- Trust — the trust limit you set per friend: the most you're comfortable being owed by them.
Trust limits let value flow between people who don't know each other. If Alice and Bob trust each other and so do Bob and Charlie, Alice can pay Charlie by passing an IOU through Bob: Alice's IOU to Bob, Bob's own IOU to Charlie. Bob is left neutral (equal in and out), and Charlie gets an IOU he trusts. This is a routed payment: it travels along a route of friends, and routes can be any length, so with enough trust in the network, anyone can transact with anyone. The available trust along a route is the headroom routed payments flow through.
Alice wants to pay Charlie for a table, but they don't know each other.
Bob is friends with both.
Before:
Alice ──trust── Bob ──trust── Charlie
Transaction (Alice pays Charlie 50 EUR):
Alice ──IOU 50──> Bob ──IOU 50──> Charlie
After:
Alice owes Bob 50 (Alice gave her IOU to Bob)
Bob owes Charlie 50 (Bob gave his IOU to Charlie)
Bob's net balance: 0 (received 50 from Alice, gave 50 to Charlie)
Charlie got paid (holds Bob's trusted IOU worth 50)
Longer routes work the same way:
Alice ──> Bob ──> Carol ──> Dave ──> Charlie
Each hop passes an IOU of equal value to the next.
This is the feature the whole design points at, and it is not implemented yet — it is the largest outstanding piece of the project. The commit mechanism that makes a routed payment all-or-nothing is being worked out in TIP-007.
Why it's built the way it is
This purpose sets hard constraints the rest of the docs elaborate: it must be local-first and peer-to-peer (no central ledger or authority — see P2P), transactions must stay private between the parties (see Security), and it must keep working when peers are offline or hard to reach (see Communication).
For the full original framing — including future ideas like routing fees to incentivise keeping the network liquid — see the imported original idea notes.
Long history
The seed for Tally existed already 20 years ago in the original idea of Ripple (ripple pay). I wrote about it in my blog back then, but even with many attempts on the way, this revolutionary idea is still hasn't caught the fire it deserves.