The Payments Engineer Playbook
The only publication on Earth tailor-made for the builders of money software. Click to read The Payments Engineer Playbook, by Alvaro Duran, a Substack publication with thousands of subscribers.
- Posts
- 164 from 31 May 2023 to 21 Oct 2026
- Posting
- weekly (48 in the last year)
- Kind
- personal blog
- Feed
- https://news.alvaroduran.com/feed
2026 41
- Why Money Software Must Have No Dependencies
- How to Apply Secure By Design Practices To Money Software
- How To Choose a Database For Your Ledger
- Datomic, or When The Past Is The Product
- YugabyteDB and the Responsibility of Global Transactions
- FoundationDB And The Case For Extreme Ledgers
- XTDB, Time traveling, and the ‘As Of’ Ledgers
- Spanner Lets You Top Up on Earth and Pay for Groceries on Mars
- Multi-currency ledgers for single-currency businesses
- Why Optimistic Locking in Ledgers Isn’t Always a Good Idea
- Assume that Manual Work in a Ledger Is Impossible
- The Playbook's 2026 Beach Reads
- Forget Agents: Here's What's Great About x402
- Why You Can Have Too Much Idempotency In Ledgers
- Losing The Fear of SQL
- A Ledger is 3 Products in 1
- Don't Be Careful, Be Competent
- The Missing State In Your State Machine
- How to Recover The Flexibility of Paper In Ledgers
- In An Agentic Commerce World, Fraud Will Be Indistinguishable From Legit
- Virtual Bank Accounts Are Virtually Inexhaustible
- No Such Thing As A Currency Of Reference
- Source-Destination Pairs Need Imaginary Accounts to Work
- Why Database-Layer Double-Entry Is a Bet, Not a Guarantee
- The Only Accounting You Need to Know to Build a Ledger
- There Are Only 3 Databases You Can Trust With Your Money
- Nobody Got Fired for Uber's $8 Million Ledger Mistake?
- Ledger Transactions Don't Have to Be Atomic
- The Luxury Playbook for Online Businesses
- Why Ledgers Are More Than Data Warehouses of Money
- You Don't Know What a Ledger Is For
- How to Explain Accounting To Payments Engineers
- Why Ledgers Must be Immutable
- Accounting For Multi-Currency Ledgers
- Modern Treasury's Stablecoin Sandwich
- Stablecoins for Skeptics
- Ledgers of Catan
- Why Low Cardinality Accounts Are A Ledger's Bottleneck
- TigerBeetle's Stablecoin Mistake
- Why Don't You Use Generics in Ledgers?
- Money as Metadata
2025 51
- The Playbook's 2025 Year In Review
- From Stock Markets To Ledgers, Part VI: Mechanical Sympathy
- From Stock Markets To Ledgers, Part V: Continuous Deployment
- From Stock Markets To Ledgers, Part IV: Queues
- From Stock Markets To Ledgers, Part III: Time
- Raft Consensus in 2,000 words
- From Stock Markets to Ledgers, Part II: Fault-tolerance
- From Stock Markets To Ledgers, Part I: Fairness
- What payment providers can learn from Go contexts
- Why AI Commerce Isn't Going Anywhere
- How To Prevent Cache Stampedes
- What Makes DynamoDB a Good Database Choice for Payments
- CQRS Is Just Balances And Records
- How To Review Code That Deals With Money
- How to Build Payment Webhooks Fast
- The Sequence-Speed tradeoff
- Richard Pryor Stole a lot of Half Cents and Bought a Ferrari
- Paying At The Pump: Why Auth and Preauth Are Not The Same Thing
- The Playbook's 2025 Beach Reads
- Testable Payment Webhooks
- Pull Requests Are Herbie
- Code-First Reliability: 4 Unconventional Approaches to Always-on Payments
- Database Migration Wartime Stories
- The Joy of Being On Call For Payment Systems
- The Ultimate Guide to Payment Tokens
- Why Payments Are Path-Dependent
- Code-First Reliability in Payment Systems
- Why Payments Aren't Money Movements
- Ouch! What To Do When A Payment Fails
- Stripe Deploys 1,000 Times A Day And You Don't Deploy On Fridays
- Enterprises Hope That Python Will Make Them AI-first
- The Technical Face of Payments as a Service
- The Regulatory Face of Payments as a Service
- 3RI Is A Technical Lever
- This newsletter will get you promoted at a fintech company
- 5 Common Antipatterns in Payment Systems Design
- Never Make a Status Request Again: How to Communicate with PSPs
- Payment State Machines Are Not Cyclical
- Leveraging Spaced Repetition to Power My Weekly Newsletter
- The Unreasonable Effectiveness of Logistic Regression for Busting Payments Fraud
- The Best Payments Database Is the One You Aren't Using
- Caching In the Past Is a Rare Event
- 3 Ways You Can Improve Your Payments Authorization Rate Right Now
- Why Orchestration Matters To Payments Engineers
- Hard-won Insights as a Service: The value of Payments Orchestration
- If Amazon Can't Figure Out How To Make Money From Blockchain Databases, Nobody Can
- Meta's Card Catastrophe: Payments as Corporate Benefits
- Banks move money by sharing files, and that's OK
- A Tale of Two Ledgers
- The Intuition of Money
- Payments Patterns: Elements of Reusable Money Software
2024 46
- NoDB: Processing Payments Without a Database
- The Playbook's 2024 Year In Review
- Consistency, Availability, Prowess: How Stripe and Shopify push the limits of distributed payments
- How to build 99.999% uptime payment systems
- How Modern Treasury Invented Event Locking
- Payment for Payment Flow: How revenue sharing agreements impact payment orchestration
- Payment Cards Are An Insecure Protocol
- Dynamic Linking, and the limitations of 2FA in Payments
- Exemptions and Data Science: The European Way of Building 3DS
- The Customer Must Never Know: The American Way of Building 3DS
- How to design mixed payment methods with store credits
- The Payments Engineer Playbook Is Going Paid in 2025—Here's What You Need to Know
- Why Payments Engineers Should Avoid State Machines
- An Approach To Ledgers That Makes Multi-Currency Not Just Possible, But Easy
- Engineers Do Not Get To Make Startup Mistakes When They Build Ledgers
- The Most Important Book In Payments Is a Data Systems Book
- Boring Is Good: How Shopify Prepares for Black Friday
- How To Scale Payment Systems With The Saga Pattern
- Exactly-Once Payments At Airbnb
- Cringey, But True: How Uber Tests Payments In Production
- Stripe Made The Obvious Choice When Building Its Payments API. It Took Two Years To Fix It.
- Doubling Down On The Engineers of Payments
- We Love Writing Software So Much, We’re Willing To Do It For Free
- Enterprise Python
- Not Now, Honey! I'm Trying to Compile This Code
- The Prototype's Language
- Keeping Up With The Databases
- The Narrow Waist of Payments Orchestration
- The Economics of Open Source Payments
- A Sketch of a Payment Systems Protocol
- A Problem-First Approach To Building Engineering Teams
- What Amazon Can Teach Payments Companies About Collaboration
- Acquiring: Call It a Prototype
- Scale is Overrated in Payments. You Should Focus on Scalability Instead.
- Pyments: How to Design Payment Applications in Python
- Bad API design costs a lot of money. In payments, it's clear why.
- A Taxonomy of Payment Methods
- Advice I Wish I Had Known When I Built My First Payment Application
- The Uncontrollability of Payment Systems
- Nobody Gets Fired For Choosing Java
- Relational Databases Aren't Paying Off In Payments
- Pizza Place Payments
- Fighting Ghosts With Gremlins: A Primer on Credit Card Exemptions
- Check Me If You Can
- Tokenization, or How I Learned to Stop Worrying and Love the Vault
- Gumroad Wallet, A $100M Opportunity
2023 26
- Building Money In Transit
- Sailing Ships In The Polar B2B Waters
- The Payment Experience Manifesto
- Launching The Databases of Money
- Announcing The Databases of Money
- Must There Be A Payment Platform?
- The Suits Gap
- Mario Andretti's Law
- Designing Payment Applications
- The Turbulent Tango Of Payment Providers
- What Makes Payment Applications Different?
- How To Communicate With Software Engineers So That They Understand You
- The John Scully's Disease
- State Machines Are Probably a Bad Idea
- The Relevance Of Tech Conferences In A Post Pandemic World
- Transformational, Not Transactional
- The Concurrency Ambition
- Payment of the Seas
- A Grid in the Sky, part III - Hackers and Pilots
- A Grid in the Sky, part II - Bonus points
- A Grid in the Sky, Part I: The Apple of European travel
- Where Does Your Credit Card Data Go When You Press Pay?
- Abstracting Money Wisely
- NDC: Nothing Decent Coming
- Why OTAs should not integrate with Stripe?
- Coming soon