Blogs›Stripe Feature Trails
See how major capabilities shipped, upgraded, and evolved across Stripe's engineering blog.
Publishing pulse
2020–2026 · peak 2024
102 posts mapped

This feature thread tracks the evolution of Stripe's platform for building and deploying applications, particularly focusing on the integration of AI agents and the 'Stripe Projects' framework. The initial posts introduced the concept of using agents for development tasks and the Stripe Projects tool for orchestrating complex applications. Subsequent posts detailed practical applications, learnings, and the shift towards infrastructure orchestration alongside AI coding. This post introduces agentic payments for marketplaces, demonstrating how AI agents can securely initiate and manage payments within marketplace contexts, exemplified by a smart fridge scenario. It highlights the technical challenges and solutions for enabling safe and automated financial transactions driven by AI agents.
Timeline

This feature thread tracks Stripe's advancements in automating the management and remediation of its global database fleet. The initial post introduced a novel approach using graph search and state machines to model MongoDB infrastructure as a traversable graph. This allows for dynamic computation and execution of recovery plans, significantly reducing manual intervention, pager alerts, and unhealthy shard states. The system is designed to support new shard layouts with zero manual effort, highl. This post details how Stripe's document databases, specifically their implementation of the Data Movement Platform, enabled zero-downtime data migrations while maintaining 99.999% uptime, showcasing advanced strategies for database infrastructure management and reliability.
Timeline

This feature thread tracks Stripe's advancements in Stripe Connect, focusing on robust financial management and regulatory compliance for platforms. The initial post introduced fund segregation within Stripe Connect, a critical capability for platforms to ring-fence seller funds from their own operational balances. This is achieved through the implementation of allocated balances, ensuring compliance with evolving regulations like PSD3 and enhancing financial security for both platforms and their users. This post details how marketplaces can leverage Stripe Connect to implement various monetization strategies, including transaction fees, usage-based billing, and automated invoicing, providing code examples for each.
Timeline

This feature thread tracks Stripe's ongoing efforts to improve how developers process and react to events within the Stripe ecosystem. It began with a focus on connecting Stripe events to frontend applications and building resilient webhook handlers in AWS, addressing challenges like real-time subscriptions, error handling, and dead-letter queues. The latest posts introduce a new approach to processing 'thin events,' aiming to simplify the setup and wiring of event notification handlers, allowin and explore queue-based and event-driven data reconciliation patterns for maintaining product data consistency at scale, moving from naive webhooks to durable synchronization.
Timeline

This feature thread tracks Stripe's expansion into leveraging stablecoins to enhance its global payment network. The initial post introduces the concept of using stablecoins to address the limitations of traditional payment rails, such as batch processing, settlement delays, and cross-border complexities. It highlights how stablecoins can offer faster, more efficient, and potentially cheaper money movement, complementing Stripe's existing Global Payments and Treasury Network (GPTN). This post details how developers can integrate stablecoin payments (USDC on Ethereum, Solana, Polygon, and Base) into their Stripe integrations with zero prior blockchain knowledge, by simply adding 'crypto' to their existing payment methods.
Timeline

This feature thread tracks Stripe's comprehensive approach to managing API changes and ensuring seamless synchronization across its extensive suite of developer products. It begins by detailing the intricate process of how API modifications, once merged, propagate through various developer-facing tools and services. This highlights Stripe's commitment to maintaining consistency and a high-quality developer experience as the API evolves, addressing the challenges of keeping a vast product ecosystem up-to-date. The first 10 years of Stripe's payments APIs have been driven by abstracting away the complexity of payments, leading to continuous evolution and refinement of their API design.
Timeline

This feature thread tracks Stripe's advancements in microservice testing, particularly focusing on leveraging Apache Spark to address the challenges of testing services with complex input dependencies. The initial posts introduced the concept of using Apache Spark to build repeatable replay harnesses for testing microservices that are difficult to model by hand. This approach aims to improve test coverage and efficiency by allowing for the replay of a long tail of inputs without requiring manual modeling. This post details how to scale up this approach using Spark's parallelism and linear scalability to build regression test harnesses, enabling comparison of old and new implementations, modeling rule changes, and quantifying impact before production.
Timeline

This feature thread tracks Stripe's continuous efforts to optimize its Continuous Integration (CI) pipeline and testing infrastructure to handle a massive, rapidly growing codebase. Initial focus was on improving test execution speed and efficiency, leading to the development of sophisticated systems like Selective Test Execution. This system allows Stripe to run only a small percentage of tests on average, significantly reducing CI times and enabling faster development cycles. This post details how A/B testing can be integrated into the payment flow to optimize performance and reduce code complexity, further enhancing the CI/CD process by enabling data-driven decisions for feature rollout and iteration.
Timeline

This feature thread tracks Stripe's efforts to streamline and optimize the checkout process, specifically focusing on the critical aspect of tax identification number (Tax ID) validation and jurisdiction resolution for Stripe Tax. The initial post introduces the trade-off between compliance and conversion, exploring the implementation of synchronous versus asynchronous Tax ID validation. This post details the development of a new jurisdiction resolution system (JRS) that provides a faster, less complex, and more reliable way to validate Tax IDs and resolve jurisdictions. This post extends this by detailing how to integrate DocuSign with Stripe to automate complex billing workflows, leveraging Stripe's capabilities for payment processing and DocuSign for agreement management. This integration allows for automated creation of invoices and payment collection upon agreement signing, streamlining the entire billing lifecycle.
Timeline

This feature thread tracks Stripe's strategic approach to modernizing its Java codebase. The initial post introduces the concept of treating language upgrades as a service, aiming to overcome the challenges of maintaining up-to-date language versions in a large enterprise environment. It highlights the importance of establishing a smooth upgrade path and the recurring costs associated with keeping the codebase current. This post details the practical implementation of this 'language upgrades as a service' model, focusing on the engineering challenges and solutions involved in upgrading a large Java codebase to newer versions, emphasizing the benefits of this approach for developer productivity and system maintainability.
Timeline

This feature thread tracks Stripe's initiatives to maintain code quality and developer productivity across its massive codebase. It began with the introduction of rubyfmt, a Rust-based autoformatter, which was rolled out across the entire 25 million line Ruby codebase to ensure consistent formatting overnight. This effort highlights Stripe's commitment to large-scale code standardization and developer tooling. This post details the specific story and technical considerations behind the successful overnight rollout of rubyfmt across Stripe's 25 million line Ruby codebase, emphasizing the zero-config, ultra-fast nature of the Rust-based autoformatter and the strategies employed for such a large-scale deployment.
Timeline

This feature thread tracks the development and evolution of Stripe Credits, a programmable and auditable system for managing payments towards Stripe fees. The initial post introduces the concept and implementation of Stripe Credits, highlighting its integration with accounting, compliance, and other internal frameworks. This post details the 'how' behind building this system, emphasizing its programmability and auditability, and its seamless integration with existing financial infrastructure. This post specifically details how Edgee implemented scalable metered billing using Stripe's metering and billing APIs to handle billions of events across a distributed architecture, addressing web analytics data loss challenges.
Timeline

This feature thread tracks Stripe's efforts to enhance the capabilities of Stripe Terminal, focusing on consolidating customer interactions and reducing the need for multiple devices. The initial posts introduced the concept of using Stripe Terminal for in-person payments, and this post details the development of on-screen input collection. This feature allows customers to enter payment details directly on a screen, eliminating the need for separate POS devices and manual data entry, thereby streamlining the checkout process. This post further details how to integrate web-based POS systems with mobile Terminal readers using a React Native wrapper app, enabling seamless connection of M2 readers and Tap to Pay.
Timeline

This feature thread tracks the development and evolution of Stripe Workflows, a new system for automating payment operations and orchestrating Stripe products directly from the Dashboard. The initial post introduces Workflows as a visual, event-driven automation engine designed for high-performance financial operations at scale, eliminating the need for managing infrastructure or writing boilerplate logic. It supports real-time triggers, conditional logic, and seamless integration across Stripe'. This post details how Workflows can be used to automate compliance safeguards by flagging high-value transactions and suspicious orders to enhance risk management.
Timeline

This feature thread tracks Stripe's development of systems for integrating physical access control with digital payment and subscription management. The initial post introduces the concept of using Stripe subscriptions and NFC passes to gate physical entrances. This involves issuing digital passes (e.g., for Apple/Google Wallet) via services like PassNinja, integrating with Stripe Checkout for subscription management, and controlling door access using hardware like a Raspberry Pi with an NFC reader. This capability aims to provide a seamless and automated solution for managing access to physical spaces based on digital subscription status.
Timeline

This feature thread tracks Stripe's efforts to enhance data accessibility and analytics capabilities for its users. The initial post introduces the integration of Stripe Data Pipeline with Google BigQuery, enabling users to leverage powerful analytics tools for their Stripe data. This facilitates automated data transfers, optimized reporting, and deeper business insights. This post details the evolution of data synchronization strategies as businesses scale, moving from simple scripts to more complex architectural challenges in keeping product data aligned between internal databases and payment providers like Stripe. It explores patterns for handling large volumes of product data and maintaining consistency.
Timeline

This feature thread tracks Stripe's development of Ledger, a system for tracking and validating money movement. The initial post introduces Ledger as a state-of-the-art system designed to provide a reliable and auditable record of all financial transactions within Stripe. It details the technical architecture, data modeling, and validation mechanisms employed to ensure the integrity and accuracy of money movement data. The system aims to support complex financial operations, regulatory compliance, and now integrates with AI agents and guardrails via Stripe MCP and Portia AI to enhance security and control over money movement operations, including human approval workflows.
Timeline

This feature thread tracks Stripe's development of automated workflows for fraud detection and its integration with refund processes. The initial post introduces a workflow pattern that enables the creation of early fraud alerts specifically to streamline refund operations. This capability aims to improve efficiency and reduce manual intervention in handling refunds by proactively identifying potentially fraudulent transactions.
Timeline

This feature thread tracks Stripe's efforts to optimize API request efficiency for developers. Initial posts focus on reducing the number of API calls by leveraging features like the 'expand' parameter and implementing caching strategies. This post details advanced caching strategies using Amazon ElastiCache and DynamoDB to optimize Stripe API performance in AWS Lambda, focusing on managing API rate limits, reducing latency, and minimizing costs while ensuring data consistency and scalability in high-volume applications.
Timeline

This feature thread tracks Stripe's advancements in providing robust error handling strategies for enterprise developers integrating with Stripe. Initial posts focused on basic error handling and debugging with Stripe Workbench. This post announces the general availability of Stripe Workbench, a tool that simplifies debugging of various Stripe integrations, including 3DS authentication and general error handling, by providing a centralized view of integration issues and event data. This post details how Test Clocks can be used in conjunction with Workbench to simulate and debug payment flows, and introduces advanced patterns for handling duplicate charges using idempotency keys and message queues to build fault-tolerant, user-friendly payment systems.
Timeline

This feature thread tracks Stripe's development of the Entitlements API for managing SaaS access control and feature entitlements. The initial post introduces the API as a solution for efficiently managing feature access based on customer plans, enabling differentiation between subscription tiers. It details how the API can be used to define and enforce feature availability, allowing businesses to build more sophisticated and flexible SaaS offerings. This post details how an AWS microservice arc, combined with embedded finance capabilities, can be leveraged to create modern architectures for energy utilities, enabling them to enhance customer engagement and capture energy-related revenue by creating online marketplaces.
Timeline

This feature thread tracks Stripe's efforts to build and optimize systems for handling API calls across multiple AWS regions. The initial post introduces the architecture and challenges of load balancing Stripe API calls from multiple AWS regions to ensure resilience, minimize outages, and manage rate limits effectively. It covers design considerations, AWS service integration, and strategies for achieving optimal global performance.
Timeline

This feature thread tracks Stripe's ongoing efforts to enhance the security of its plugins and integrations. Initial posts focus on moving away from unrestricted secret keys towards more secure authentication methods like restricted API keys and OAuth 2.0. This aims to protect merchant accounts, prevent unauthorized access, and avoid compliance fees. This post details how to secure Stripe API keys in AWS by implementing automatic rotation using AWS Secrets Manager and Lambda functions, further enhancing the security posture for integrations.
Timeline

This feature thread tracks the development and evolution of Stripe Sandboxes, a system designed to create reusable and isolated developer environments. The initial posts introduced the concept of using Stripe Sandboxes in conjunction with development containers to accelerate the onboarding of new team members and streamline the setup of development environments. This post details how Sandboxes can be used to reproduce and troubleshoot errors in integrations without impacting live transactions, specifically focusing on testing the Connect onboarding flow by replicating live settings.
Timeline

This feature thread tracks Stripe's development of tools and capabilities to simplify and enhance the debugging of 3D Secure (3DS) authentication flows for developers. The initial post introduces Stripe Workbench as a tool to easily debug 3DS authentication, allowing developers to investigate the payment process with a few clicks on the Stripe dashboard and obtain event data for testing code related to the 3DS authentication flow. This post extends this by detailing how Test Clocks can be used in conjunction with Stripe Workbench to test Stripe Billing integrations, specifically focusing on scenarios involving recurring payments and usage-based billing that require time-based validation.
Timeline

This feature thread tracks Stripe's development of systems and platforms to scale Machine Learning (ML) feature development. The initial post introduces Shepherd, a system that adapted Chronon to address the challenges of scaling ML feature development at Stripe. It details how Shepherd enables efficient creation, management, and deployment of ML features, focusing on technical aspects like data pipelines, feature stores, and model training infrastructure. This capability aims to accelerate the ML development lifecycle. This post details the technical decisions and lessons learned in building Stripe Radar, focusing on its machine learning components and fraud detection capabilities, highlighting the evolution of their fraud prevention solution.
Timeline

This feature thread tracks Stripe's development of Markdoc, a custom templating language and static site generator, to build interactive and maintainable documentation. The initial post introduces Markdoc as a solution for creating rich documentation experiences that blend static content with dynamic elements, improving both the authoring and reading experience for developers. It details how Markdoc allows for the expression of interactivity and page logic without mixing code and content, enabling a more robust and engaging documentation platform.
Timeline

This feature thread tracks Stripe's efforts to migrate its extensive codebase to TypeScript, aiming to improve developer productivity, code quality, and maintainability. The initial post details a large-scale migration of millions of lines of code, highlighting the technical challenges and strategies involved in such a significant undertaking. This post introduces Sorbet, Stripe's type checker for Ruby, demonstrating a commitment to static typing across different languages to enhance developer productivity and code quality.
Timeline