Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Financial intent

What exactly is being proposed, and how does it move?

#LessonYou will attack
4Payment destinations and settlement railsa mistyped address; the wrong network
5Invoice revisions and the financial payloadchanging an amount after submission
6Financial state machinesapproving a draft; writing state
7Idempotency and retriesreplaying a request with a different payload

These lessons turn a proposal into immutable financial intent. A payment destination stores a public receiving address and its network, and it is retired rather than edited. Each invoice revision seals its financial payload with a SHA-256 hash. The lifecycle is a state machine with no writable state attribute. A retried proposal with the same idempotency key and the same payload returns the original; the same key with a different payload is refused.

Part II reaches the same idempotency question from the other side, in R7 · Side effects and idempotency: what a runtime must assume about tools when it replays a step after a crash.