Managing payments for marketplaces and platforms is harder than for most other businesses: not only do these businesses have to accept money from customers, but they also need to handle funds and pay out to third parties. Adding further complication, paying out money means doing things like checking recipient IDs, reporting taxable income, and a whole host of new tasks.

We first launched Stripe Connect in 2012 to make all of this easier. We're continuing to improve on and add to Connect's functionality to simplify the process of running a marketplace or platform, to allow for faster expansion to new markets, and to enable a growing set of business models.

Support for more business models on Connect

The canonical Connect use case involves routing a single charge from one customer to one recipient—for example, backing a campaign on Kickstarter. But, as consumer needs change and markets evolve, businesses have asked for more powerful and flexible tools to help route payments and handle business logic.

Today, Connect adds support for a variety of new ways to move funds, including the flexibility to split charges and transfers.

With one-to-many payments, you can can easily split a payment from a single customer between multiple recipients. Imagine the payment for a Postmates order being divided between the restaurant, the courier, and Postmates.

Many-to-many payments enables platforms to split funds between multiple consumers and multiple third-party vendors or providers. The platforms use Connect to track every part of their payments flow in one place, and they don’t have to manually build and manage a ledger.

Holding funds gives you escrow-like ability to wait before paying out. Companies like Indiegogo can mitigate risk by waiting until after a campaign or event has occurred, before paying the fundraiser or event organizer. (Holding funds is limited to 90 days.)

Account Debits lets you debit a recipient’s Stripe account balance, instead of having to collect credit card information. Platforms like ChowNow use this to charge their restaurants for ancillary services, like marketing.

Faster development and faster user onboarding with Express

We’re also introducing Express, the easiest way to onboard a new seller or recipient. Express handles all the required data collection—from bank account information to identity verification—while being obsessively focused on quick onboarding on both desktop and mobile. You can customize the Express UI so it fits perfectly with your existing signup funnel, and you have the flexibility to control payout schedules. Your recipients can access the Express dashboard through your platform and see when they'll get paid.

Restocks integrated Express for their streetwear marketplace in two weeks, with one engineer. Poppy uses Express to help parents pay sitters and WeTravel uses Express to enable group trips and yoga retreats around the world. In addition to the quick integration, our early users have told us that recipients can get onboarded to their platform, and be ready to accept payments, in just minutes. Learn more about Express.

In addition to Express, platforms can also choose to integrate Connect with Standard accounts or with Custom accounts. Standard accounts (previously known as Standalone accounts) let platforms manage payments on behalf of a constellation of regular Stripe accounts; each seller has their own full Stripe account. Custom accounts (previously known as Managed accounts) are powered entirely by our API, and let the platform create and manage virtual accounts for each marketplace participant. If you're already a Connect user, these name changes won't affect your integration. More on the account types supported by Connect.

Multi-sided platforms across every industry

We’re excited by all the different—and unexpected—use cases businesses are discovering for Stripe Connect!

Squarespace uses Connect to help offline stores easily create a beautiful online presence. Because they use Connect to support their e-commerce offering, they’re able to focus their engineering resources on user-facing features instead.

Kickstarter has found it much easier to expand internationally with Connect, quickly opening up new markets like Mexico, Singapore, and Hong Kong in the past year alone:

Code is central to Stripe: we build APIs, software tools, and infrastructure that are in turn used by other software engineering-driven businesses. And of course code is also central—by definition—at other software companies.

It’s easy for familiarity with code to become a barrier between different groups within a technology company: lots of companies have an upper tier of code-wrangling wizards that are supported by the rest of the company, sometimes known as the non-engineers. From the beginning, we’ve tried hard to avoid this at Stripe. In seating, we mix engineering teams with non-engineering teams. When we hire, we seek out engineers who are excited about problems beyond code itself. When we communicate internally, we make sure our engineering work is open and comprehensible to all Stripes, and that each improvement to our platform and even internal infrastructure is shared widely.

Last year, we decided to take another step and to start a coding class for any interested employees. The goal of this class wasn’t to help people become full-time engineers. It was instead to help people get deeper insight into how modern software development works so that they could better understand how problems get solved at technology companies. We hoped it could also provide a foundation that would make it easier for participants to continue to self-teach if they found it enjoyable—getting started is often the hardest part.

Based on the success of the class, we realized that the experience might be interesting for people at other companies to read about and perhaps replicate. So here’s a blog post about how we did it.

The experiment

We started our first experiment in August last year by running an immersive 50-hour 10 week coding class pilot with 24 Stripes. (In addition to helping to organize the program, I was also a participant in it.)

We decided to hire a full-time instructor to build, teach, evaluate and scale the class. We realized that having a full-time instructor would be important: the nuances of a particular company’s development stack and putting together relevant educational materials is a quite time-consuming undertaking. Jen, our instructor, spent several weeks integrating into Stripe before writing any of the content or asking about potential applications.

The class took place for 2.5 hours twice per week. In it, we covered the basics of modern programming, with a focus on web development: HTTP, Ruby, Linux, Git, SQL, HTML, CSS, JavaScript. These topics were taught through a combination of lectures, group activities, and individual work in order to establish familiarity with the concepts. This level of understanding enabled each participant to build a basic web store with a Stripe integration at the end of the course.

Like most of the class, I’d never so much as seen a line of code before (my day job was working on recruiting). But, pretty soon, I was using the Stripe Ruby library to implement various features into my newly-created web store. More broadly, and probably most importantly, I came to better appreciate the technical underpinnings behind many cultural norms both at Stripe and across the industry. For example, “==” is used at Stripe to mean you’re in agreement—but I learned that it’s used to test for equality between objects as well.

The class also ended up being a fun way to get to know other people within the company. Our TAs were volunteer Stripe engineers and, class by class, I ended up talking to and often working with people who I rarely interacted with in other contexts.

Results

People loved the class: on average, Stripes strongly agreed that we should continue to offer the class internally (rather than provide a stipend for external courses) and agreed that the course made them more effective in their role. Participants also reported​ ​improvement in two particular areas: ​(​1) ability to autonomously and confidently work with technical users, candidates, and Stripes and ​(​2) fluency with technical tools like​ the Stripe API, and our analytics tools. (One participant shared “I’m much more willing to jump into technical conversations or questions given that I actually understand some of the underlying context.”)

So we decided to implement it at scale. Based on the feedback and our general observations, we broke the course into three month-long modules, and launched the first iteration on April 10th:

Intro to Engineering (4 hours/week): Learn to think about code the way Stripe engineers do. We’ll read and debug Ruby, and use tools like GitHub and Terminal.

The Stack (1 hour/week): Tackle the combination of technologies that form a web app, such as HTML and CSS.

Stripe Projects (4 hours/week): Build a simple integration using Stripe’s API and design a final group project of your choice.

This year, we plan on teaching at least 100 Stripes (about 20% of people not currently working in engineering) to code.

Conclusion

At Stripe, we think we’re still in the early days of witnessing the internet’s global impact. More of what takes place in the world is going to in some way feature software as a coordinating or enabling force. I don’t know what the world looks like twenty years out, but it seems clear to me that some of today’s most interesting and important technologies are better understood with a foundational understanding of how programming works.

If you’re thinking about rolling this out at your company, or have more questions about our design or process, I’d love to chat.

Today, we’re updating our support for team roles in the Dashboard: we’ve made what’s there clearer and we’re also adding two new roles.

If you haven't seen this part of the Dashboard before, we support you giving as many team members as you like access to your Stripe account. When we first added teams and roles to Stripe, we only provided three access levels: administrator, read and write, and read-only. We’ve heard feedback that different job functions need a more distinct set of permissions when accessing Stripe accounts.

Now, users assigned the new Developer role can access API keys and most settings, but cannot edit any team or bank account settings. We renamed Read & Write to Analyst, but the permissions remain the same. Users assigned the Support Specialist role can view most data (such as Subscriptions plans, payment data, or charges marked as fraudulent in Radar) and refund charges, but cannot edit settings or modify rules. Since many of your team members may be assigned this role, we limit what aggregate financial data they can access, such as gross volume or payouts. There are more specific details here.

We hope these granular roles provide more flexibility to tailor access for your teammates and help ensure that sensitive information and actions are protected. If you have any questions or feedback, please let us know!

As software becomes more important in the world, the practice and art of software is becoming more important too. A lot has been written about how individual engineers can be more effective. We've noticed that much less has been written about how software engineering teams can be more effective.

Groups of humans building software together vary enormously in their productivity. Some manage to be vastly more than the sum of their parts while others struggle to reach even half of that. The mechanics of how we work together determine not only the output of the team but also the satisfaction, enjoyment, and growth of the individuals.

Despite their importance, we've noticed our practices for working together tend to be tribally transmitted in ad hoc ways: based on experiences with different approaches that people have had at different companies or on the occasional blog post that someone has read. We wondered if something better was possible.

And so we've decided to start Increment, a software engineering magazine dedicated to providing practical and useful insight into what effective teams are doing so that the rest of us can learn from them more quickly. We plan to focus on the ostensibly small things that are actually big things: testing, deployment, development tools, code review. Team practices are very mutable; if we can help accelerate the transmission of good ideas even a little bit, that could be a big deal across the industry.

Susan Fowler joined Stripe to found and edit Increment and the first issue launches today. It's focused on on-call practices across the industry. Who gets paged? How is incident response coordinated? How should your approach look differently at 10 people versus 1,000? The issue is based on interviews with dozens of experts across the industry and includes data from Google, Facebook, Amazon, Netflix, and more. You should go read the whole thing.

Increment will be published quarterly. If you'd like to submit a piece, please drop us a note. And if you've ideas for topics that you'd like to see addressed in a future issue, we'd love to hear that, too.

Just over a year ago, we launched Stripe Atlas, a new way to start an internet business. It was something of an experiment to begin with, but the response has been hugely encouraging. Since we announced Atlas, thousands of entrepreneurs from 124 countries have used Atlas to start their company. Atlas companies are building everything you could imagine, including a deployment platform in California, a presentation tool in Chile, and a cosmetics startup in the Gaza Strip.

We've been listening carefully to what Atlas users have requested. Based on this feedback, we’re excited to roll out a bunch of improvements today. These will make it easier to get access to banking services, to join Atlas, and to connect with other Atlas founders.

Faster access to your bank account

Opening a business bank account is often a pain and takes longer than it should. We’ve worked closely with Silicon Valley Bank to provide a bank account for all Atlas companies. (We chose Silicon Valley Bank because they’re the main bank that we see top startups choose.) When we first launched Atlas, it took a few days to get your account set up. We’ve worked on solving that with SVB. Starting today, most Stripe Atlas founders will be able to log in to their bank account within a few minutes of electronically signing the Atlas documents. In addition, Atlas founders can request a U.S. debit card that makes it easy to sign up for other services and pay for other products. (Here’s the full fine print on Atlas and banking.)

Open to U.S. entrepreneurs

When we launched Atlas, we were focused on making it easier for entrepreneurs outside the U.S. to get started. Since then, we’ve heard from thousands of entrepreneurs located within the U.S. who want to use Atlas, and we’ve worked with many founders based in the U.S. to get their companies started. (And it’s not a surprise—Atlas sets up every company with the standard defaults and banking infrastructure used by top U.S. tech companies.) So, starting today, Atlas is now officially open for business for U.S. founders, and we’re working to add more benefits to Atlas that will specifically be useful to founders in the U.S.

Atlas invitations from current members

Stripe Atlas is available to join by invitation only, but we want to make it available to as many founders as we can. Starting today, existing Atlas founders can invite other entrepreneurs to join—we think this will be the easiest way for many people to get access. Anyone can still apply directly for an invitation, and we’ll respond within two weeks.

Expanding the Stripe Atlas Network

We’ve expanded the Stripe Atlas network of investors and accelerators from around the world. The network now consists of over 200 members and we’ve also added other types of organizations like Kickstarter, Indiegogo, and YC Startup School to the network. All of these members can invite founders to join Atlas. You can check out a gallery and get in touch here.

The Atlas Forum

One of the most useful sources of knowledge for entrepreneurs is simply talking to other founders. A lot of Atlas participants asked us about a way to connect with other founders. So we’ve created the Atlas Forum, a members-only discussion board. In addition to providing a place to ask questions and share experiences, we’ve been hosting some special events: in the last month, the forum has featured a Q&A with Keith Rabois of Khosla Ventures, "Ask an Accountant" sessions with accounting firm PwC, and "Ask an Attorney" sessions with international tech law firm Orrick. Many Atlas users are actively raising capital, so we hosted a Q&A session with Kirsty Nathoo (CFO of Y Combinator). We also provided individual feedback on applications to YC’s next class for every Atlas company who requested it. We plan to continue these over time, and, over the next month, we’ll be hosting private interviews with Sam Altman, President of Y Combinator, and Diane Greene, founder of VMWare and SVP of Google Cloud.

Availability and reliability are paramount for all web applications and APIs. If you’re providing an API, chances are you’ve already experienced sudden increases in traffic that affect the quality of your service, potentially even leading to a service outage for all your users.

The first few times this happens, it’s reasonable to just add more capacity to your infrastructure to accommodate user growth. However, when you’re running a production API, not only do you have to make it robust with techniques like idempotency, you also need to build for scale and ensure that one bad actor can’t accidentally or deliberately affect its availability.

We built Stripe Atlas to help entrepreneurs from all over the globe start and run an internet business, no matter which industry they're in, where they're based, or their gender or ethnicity. However, women are still not starting companies or raising money at nearly the same rate as men—women made up only 7% of founders whose companies received more than $20M in VC funding between 2009 and 2015. We believe that a more diverse entrepreneurial ecosystem leads to better products and services for everyone.

Today is International Women's Day, so we wanted to share the stories of five of the incredible female founders who have used Atlas to start and build their companies.

Based in Ghana, co-founders Priscilla Hazel, Esther Olatunde, and Cassandra Sarfo created Tress, a social app for black women to discover and share hairstyle inspiration. Tress offers its users a place to browse different hair categories and engage with a community of black women and hair enthusiasts. The founders' unique experiences as black women inform the development of the company and also help them empathize with their users and anticipate the needs of women worldwide. Tress' Android app has been downloaded over 100,000 times and they recently released an iOS app.

Founded by Cinthia Gawianski in Argentina, CM Reservas offers online booking and management tools for hotels in 14 countries across Latin America. Although she founded the company in 2013, Cinthia turned to Atlas last year to expand to the US market. Today, hundreds of hotel clients rely on CM Reservas for hotel reservation management services.

Seven years ago, Agni Tilla founded May28th, an e-commerce platform offering jewelry and watch customization. Since then, she has lived in five countries and worked with employees all around the world. Agni is now located in Latvia and has expanded her business to the US, where shipping for the company is now based. May28th has collaborated with designers like Kate Spade and Anthropologie, and has been featured in magazines and TV shows including the Today Show, Good Morning America, New York Magazine, and Marie Claire.

We're inspired by Priscilla, Esther, Cassandra, Cinthia, Agni, and the many more female founders who are building unique businesses with global reach. If you'd like to learn more about getting your business off the ground, check out our Guide to Starting an Internet Business or apply to Atlas.

Today, we're expanding the number of currencies that Canadian businesses on Stripe can accept. In the past, Canadian companies could accept only payments in U.S. or Canadian dollars; starting today, you can charge in any of more than 130 currencies. As you'd expect, we'll automatically convert and transfer funds in either CAD or USD.

We've heard from many Canadian businesses on Stripe, such as Vin65, that presenting in local currencies significantly increases conversions. You can start charging in other currencies just by passing in the currency code when creating a charge: