Time to Money as a competitive advantage

One thread I connected pretty late at Cash App was that speeding up time-to money for a given transaction creates more value than is obvious. The richer you are, the less likely you are to get this. When people describe the success of Stripe or Square, they almost always will mention the mobile reader and design quality in Square’s case, or the deep developer focus in Stripe’s case. They rarely mention that in addition to those things, both companies gave you your funds from processed card payments the next day, while before 2009,  industry standard was 7-10 days.

Because of this, businesses using Stripe/Square had a lower inherent working capital need than others. 

What is time-to-money?

Loosely defined, time to money represents the amount of time between when value is attributable to you (the clock can start either when someone starts to owe you money or when they’ve initiated the payment, just depends on the scenario), and when its available to you to use. For example, if you sell someone a bottle of water and they give you $1 in physical cash, the time-to-money for that transaction is 0. Conversely, if you sell that same bottle for $1, and the customer swipes their credit card on the Square terminal, the time to money for that transaction is the difference between time of the card swipe, and the time the money is deposited in your account (I think lately this is 1 or 2 business days).

Why it matters

Longer time to money means you need more working capital. When a business borrows money to spend a year building a factory, whether they got paid for selling a widget today or in 30 days is unlikely to matter. When that same business borrows money to pay for electricity for that same factory, faster time to money means they may borrow less and pay lower financing costs (either through equity or interest) in aggregate. The faster their average time to money on revenue, the less (and less frequently) the business needs to borrow working capital. This dynamic is fairly well understood for businesses - you might have heard it before as AR Aging (the average amount of time your account receivables go before they get paid). The same dynamic applies for consumers, and is much less well understood.

A tax on the most vulnerable

Consumers on average tend to be less well capitalized than businesses, and often have more volatile income and expenses. There are many reasons for this, but one of the most tactical mechanical ways this occurs is via money transfers over ACH. Prior to 2014, in the United States, if someone owed you money and wanted to pay you electronically, and have it available to use immediately, they literally couldn’t if

  1. It was the weekend
  2. It was a weekday and they didn’t want to pay a $25 wire fee/western union fee
  3. They had a different bank than you (banks would often make internal transfers fast and free, but bank to bank transfers slow)

For bank to bank transfers, ACH was the default free option, and typically took 2 - 3 days, and even then you might wait a few more days for the funds to be available for you to use depending on your bank’s funds availability window[1]. 

Under the hood, there’s nothing special about making money transfers instant. Many countries have had instant bank to bank transfers for decades. Even in the US, there were still wires and proprietary networks like Western Union. In all cases, we were just moving bits around. If you asked a bank why money transfers have been slow for decades, they’d probably say slowness reduces fraud (this isn’t totally false) and complain that many other banks haven’t adopted new standards. They’re incentivized to add friction to anything that reduces deposits on balance sheet, as that reduces net interest margin. The fundamental reason is that ACH money movement, which is the workhorse of money movement in the US, has historically been a batch settlement system, at the root of which institutions move .csv files around containing transaction details, reason codes, etc. What matters is, 24/7, low cost, instant money movement has been technically possible for a while, and simply not made available to mass market consumers by incumbent banks.

If you’re rich this doesn’t matter. If you live paycheck to paycheck, time to money matters a lot. Living paycheck to paycheck means you likely have a liquidity problem that can quickly turn into a solvency problem. For example, one of the highest frequency and by far the largest use case by dollars of p2p apps is paying rent. Most hourly workers get paid weekly or biweekly on fridays, and many settle rent on fridays as well, as soon as their paycheck comes in (the rent-on-fridays dynamic also surprised me because I’ve only ever seen rent paid on a monthly basis, so I’m clearly privileged here). This means that, for these consumers, before Cash App came along - they’d get paid on a friday, and either a) have to wait till the weekend was over to pay their roommate or landlord, or b)pay a lot of fees to ensure their rent was paid on time. 

The revolution in time-to-money

From even before I joined, Square focused on reducing time-to-money for their target audience in most “money” features they shipped: 

  • Card payments on Square deposited your credit card receipts into your linked checking account 2 days later
  • Cash App’s core innovation was being the first mass market p2p network that facilitated debit-to-debit payments that were instant (as in, time-to-money of 30 seconds or less)
  • The Cash Card enabled cardholders to immediately spend money they’d received, at no cost to them (again time-to-money of 30 seconds or less)
  • Square Capital would push loan proceeds into your bank account in 2 days (ACH window)
  • Square Instant deposit enabled merchants to access funds in their linked bank accounts, immediately after the buyer swiped their card.
  • Cash App’s investing product makes funds available to spend/reinvest/transfer as soon as you sell a stock

And this is just one company. Many startups and technology companies use a time-to-money value proposition to sell financial products to their customers: eg Uber (Instant Pay), Lyft (Express Pay), Instacart (Instant Cash Out), and Doordash (Fast Pay) have all launched either card products to access your funds, or instant push to debit (often, but not always, powered by Stripe). If you’re competing with these companies and your time-to-money isn’t at least as fast, you’re probably ngmi.

Many startups offering financial products first find a wedge with people who are economically marginalized, who by definition will have more volatile finances than average. Whether they’re small businesses, micro merchants, or consumers, they’re often operating paycheck to paycheck, and missing a crucial payment one day can turn a short term liquidity problem into a long term solvency problem.

Time-to-money enablers

Over the past decade, a combination of new technologies, credit, and business model innovation have been used to shorten time to money. 

Protocol changes - ACH

Real Time Payments (RTP), championed by The Clearinghouse, have rolled out over the last 5 years, and now reaches 70% of bank accounts in the US. To an end user, RTP functions the same way as an ACH transaction; it relies on Automated Clearing House (ACH) instruments - the routing and transit number linked to your bank account. There are a few differences:

Attribute

RTP

ACH

Speed of transfer

Instant (sub 30 seconds)

1 - 4 business days 

Availability

24/7

Business Days

Reversibility

Irreversible

Transactions are reversible weeks after the initial transaction.

Coverage

26 banks in the US

Every bank (8000+) in the US[3]

Withdrawal protocol

Withdrawals requests (RFPs) have to be approved by the sender, and are irreversible after

Withdrawals are approved by default and can be reversed if successful

Same Day ACH attempted to accomplish a similar feat (faster time to money for users) but maintains the same availability as ACH (no weekends) as it’s built on the same batch csv file based system as ACH. The “instant processing, 24/7 availability” SLA for RTP transactions, while less widespread, is a hell of a lot more appealing.

Modern Treasury (disclosure, I’m an investor) has a pretty slick demo that will send you $1 via RTP. Check it out here: https://app.moderntreasury.com/dollardemo . I tried it on a Sunday night around 8.15pm and the funds were in my bank account instantly:

One caveat; to get it to work, you’ll need to have an account with one of the 26 banks currently accessible via the demo.

RTP is an example of a protocol change enabling faster time to money; the underlying technology changes, enabling new capabilities for the network participants. The RTP protocol also has a request model (RFP) which participants can use to request money from each other, and the transaction only succeeds once an authorized user approves the request. I believe that certain blockchains are suited for this type of value transfer (from my limited knowledge, Solana, Terra and Ripple all appear to be built for value transfer). In general to achieve widespread success the protocol change has to be coupled with broad network adoption by both institutions (like banks, who have to permit these transactions to happen) and consumers (who have to be easily able to interact with the right instruments). 

Enabling Faster Time-to-Money via “Credit”

Credit is probably the most commonly used tool for providing faster time to money to end consumers. It’s usually applied in one (or both) of two ways/

Good funds model

“Good Funds” models typically involve advancing credit to a network participant or end consumer (or both) based on an incredibly high assurance that the value is attributable to that counterparty (they are owed the money) a transaction has been initiated to send them the money, and you have sufficient control over the instrument that will receive the money, that you’ll be made whole. Essentially, in Good Funds models, you (the company) are typically not taking any credit risk on the end consumer to whom you’re advancing the funds (if you are, that is a “loan”). You don’t actually have to know anything about the consumer’s credit. You typically have this assurance because either a) you initiated the transaction or b) you have a signal that the transaction was initiated even though funds are not yet available (because they money movement rail is slow). For businesses that monetize transactions, accelerating the time to money increases the number of transactions in the system by allowing consumers use the money before it would otherwise be available) which juices both engagement and revenue.

Some examples of the good funds model in effect includes

  • Instant Settlement on Robinhood: Robinhood enables customers to instantly trade after selling a security, even though technically the funds won’t “settle” for 2 - 3 days. In this case, Robinhood was the network participant that executed the sale of stock (at the consumers instruction) and knows the funds will arrive in a few days. Robinhood isn’t really taking any credit risk on the consumer (there’s a tiny amount of credit risk from the trading counterparty not delivering, but that is extremely rare). Robinhood is essentially underwriting the exchange. At some scale, Robinhood’s probably able to match buyers with sellers who are also Robinhood customers. In these cases, there’s not really any credit risk on either counterparty. When you compare this vs. legacy stock platforms like eTrade, it’s clear that the 2-3 day settlement window has a kind of cooldown/rate-limiting effect on activity (for better or worse)
  • Next Day ACH and Instant Deposit on Square & Stripe: Square & Stripe payments made funds from credit card swipes available to merchants more quickly than the funds were available to Square itself. Similarly, neither company is in possession of the funds they are pushing to merchants at the time they push it. They just know that the transaction occurred on their rails, with card networks they have strong relationships with, who are unlikely to default. Again, they’re not taking any credit risk on the merchant, just on the card network. Banks on card networks know to fulfill their obligations to pay merchants because there are material penalties if they don’t - these arrangements are called reliance agreements.
  • Faster Direct Deposit on BofA, Chime & Cash App: depository products that offer faster direct deposit essentially get a signal over the ACH messaging system, that a direct deposit has been initiated for that consumer. This happens one or 2 days prior to the funds actually being available, but is sufficiently reliable, that the institution can get comfortable advancing the funds to the consumer. Again, extremely tiny amount of credit risk, and the end consumer is not the primary risk.
  • Instant Card-to-Card on Astra: one of the reasons I love what Astra is working on is that neobanks, digital wallets and new deposit products all have a kind of cold start problem that's super inefficient to solve individually. You can sign up for an app and get a virtual card, but without any money on it the card is useless. At Cash App we solved this by pulling funds via a Visa AFT transaction and making the funds available in a customer’s balance. Astra simply makes this available to any developer via an API.  

None of these are foolproof - in extremely volatile macro environments, the number of network participants with a volatile capital base increases, so at the edges, failures are much more likely. In addition to the credit risk being minimal, floats are basically credits applied over 1- 3 days max. 

Float-style loans

In float cases you are taking some credit risk. Use cases include most earned wage access products, and invoice factoring. For example, most earned wage access relies on some kind of float, where either the platform (eg EarnIn) or the employer (eg Walmart) is making a portion of your paycheck available prior to payday. To make this possible both the provider and the consumer are recipients of working capital loans (the platform to fund the access, and the consumer as a result of getting the advance). These models typically have more failure modes than the good funds models, and as such the credit risk profile is higher. Some potential failure modes include

  • Employer might go out of business
  • Borrower can fake their payroll or time cards 
  • Borrower can change the destination of their direct deposit
  • Borrower can use multiple platforms to get early access to the same wages

This is basically a loan with “float” like characteristics. It’s a loan because the funds are extended before the paycheck transaction is initiated, but the credit extender has insanely high fidelity that the right person is getting the money and they’ve earned all that they’re getting. If you’re the employer, you REALLY know, and if you’re a platform, you have a strong signal from the employer’s payroll system (using something like Pinwheel or Atomic for example). It’s more like a float because you (as a platform) control the instrument the funds are deposited into. Using a service like Pinwheel you also get a signal if the borrower attempts to change their deposit account for example. Capital providers treat these like loans - the cost of capital is higher, and this is apparent when you look at the cost to the borrower. Lastly, these types of transactions are generally treated as loans from a regulatory perspective; in terms of ability to collect, disclosures, etc.

A note on cryptocurrency

I’m not super knowledgeable about crypto. Most chains I’ve played with (BTC, ETH, SOL, TERRA, POLYGON etc) have an instant irrevocable value transfer model by default, where the chain serves as both the messaging layer and the money-movement layer. This means that if you’re a platform that’s onchain (or serve network participants on chain) you basically get instant money movement by default (similar to RTP). I haven’t yet seen this widely used in a non crypto context - most use cases I’ve seen are crypto native, not linked to a money-movement use case that existed prior to the existence of cryptocurrency. Over the long term I expect this to change, but no strong opinion on what mainstream use case breaks through first. 

One potential path is that enough of a whole mainstream microeconomy gets denominated in a cryptocurrency first, and those end users migrate simply because they can conduct their entire lives and businesses in that currency. This will mean everything from paychecks to assets to groceries to everyday purchases being migrated, so users have no reason to exchange to dollars (or their local currency) in order to conduct daily life. This will extend faster time to money as a benefit to all end customers in that microeconomy by default. Another path is that an entire industry moves onchain. I think this is less likely

What time to money opportunities are left for US consumers?

In general, if you’re building a fintech product, a good starting edge is finding places where incumbent time to money flows are slow, and make them faster.. One reason I think a lot of US p2p players have struggled to grow organically overseas is that domestically, they were able to outfox incumbents because the ACH default of 1-3 business days meant there was an easy time-to-money problem to solve. In many countries overseas, instant money movement has been available for consumer use cases over the last 20 years. This means, in the US they could compete on mobile + ux + faster time to money, but overseas all they had was mobile + ux (and many geos already have strong mobile champions with modern UX). As a result, they couldn’t really offer any material financial benefit to non-US customers just by being fast. In the US financial ecosystem, I think there are still two large time to money problems left to solve; real time paychecks and real-time tax withholding optimization.

Real Time Tax Withholding

In 2021 (for the 2020 tax season), 75% of individuals who filed taxes in the US (almost 130m) received an average of $2815 in tax refunds [4]. Feels great to get an annual airdrop. However, this also means 75% of Americans overpaid an average of ~$230 in federal taxes each month in 2020 (or around 4% of their income). Refunds typically depend on your tax withholding[5]. The technology exists today to continuously estimate a consumer’s tax burden, and electronically adjust that consumers withholdings from paycheck to paycheck so they end the year with a much smaller tax refund than the average. 

I’ve previously covered how I think this is a wedge to dismantling TurboTax, and today companies like Column Tax (which I’m invested in), April Tax and others are going after this opportunity with a developer focus.


 

Real Time Paychecks

Imagine if, at the end of every day, the money you earned that day was available to you to spend/save/invest. You clock out of your shift at 5pm, and get an instant notification that the funds are available in your bank account. Instead of the time to money on a paycheck being 13 days - 1 day (for biweekly payroll runs) it would be sub 24hours. Here’s how it could work:

  1. Jane Appleseed links her ADP payroll to Chime via a Payroll API (eg Pinwheel). Pinwheel calls an ADP endpoint to enroll Jane for real time paychecks
  2. Everytime Jane clocks out, ADP fires off a webhook that includes:
    1. time worked/money earned that day (already exists)
    2. confirmation that Jane is still employed (already exists)
    3. Confirmation that there are no outstanding liabilities against Jane’s paycheck for that day (no one else has called the real-time paycheck enrollment endpoint
    4. Confirmation that Chime is still the primary depository institution for Jane’s next paycheck
  3. Based on #2, Chime deposits that day’s earnings into Jane’s account, available for her to invest, save, or spend.
  4. Chime posts a webhook to Pinwheel (and ultimately to ADP) notifying ADP that Jane’s wages for that day have been extended to her already, and are spoken for
  5. Jane’s paycheck is deposited into Chime at the end of the period, satisfying the balance.

Today this consumer experience can only be structured as a payday loan. This is fine and mostly solves the problem. However, the fact that the consumer can borrow from one service, and deposit the same payroll run into another service without notifying the lender, means there’s nonpayment risk that will be borne by all borrowers in the form of higher interest rates. By adding a liability confirmation and a direct deposit confirmation, you enable every service authorized by the borrower to be notified in real time when another service has extended a real time paycheck to the consumer.

While not bulletproof (eg Chime can’t technically force the borrower to stay with Chime) this prevents multiple services from extending funds for the same paycheck, which reduces overall non-payment risk in the system, and lowers the cost of capital for all borrowers. This experience solves a few problems.

First, for employees, it materially reduces the employee’s need for working capital that bridges you between paychecks, and reduces the odds of a debt spiral. Wouldn’t completely remove the need for working capital for income smoothing (Eg large purchases like buying a fridge). Second, for regulators, this would decimate the check cashing industry. High fees are predatory but hard to avoid when a consumer might simply walk out the door and never pay you back. Third, for neobanks and banks, this makes consumers insanely sticky. If you offer real time paychecks, your customers will never churn to a competitor that doesn’t offer it. Churning will mean that customer will have to also find outside sources of working capital. Fourth, if employers were responsible for funding real time paychecks, they’d need materially more working capital, and as an employee the cost of your real time paycheck would depend on how well capitalized your employer was. Many employers already fund payroll runs from working capital. For example an employer might get paid net 30, but still is required to pay its employees twice a month - today, those payroll runs are funded via working capital. In contrast, banks and neobanks already have the muscle and discipline to solve time to money problems anyway, and are better placed to aggregate the working capital required to do this well. 

A lot of the infrastructure to make this experience possible exists today: Companies like Atomic, Argyle, Pinwheel (where I’m an investor) and Truework already make paycheck linking and direct deposit switching available to neobanks via API. To date, the experience is clunkier than it could be, because (unlike bank account linking on Plaid), most people don’t know the username + password to their payroll service [2] which results in lower conversion. This should improve over time because the financial benefits you could drive off high quality payroll data will make it profitable for consumers, platforms, neobanks and payroll companies to adopt payroll linking. In addition to payroll linking, you’ll need payroll providers to become aware of paycheck links and actions. For example, if I link my ADP to Chime, and direct 100% of my direct deposit to Chime, there should be a way for Chime to alert ADP that it’s extending wages to me daily, and to either a) prevent that employee from directing already extended wages elsewhere or b) to at least notify Chime that the risk profile of that customer has changed.. This would mean Chime takes effectively no credit risk on the employee, and only has to contend with a) fraud (eg the employee faked their hours) or b) the employer goes out of business. This would reduce the overall cost of capital by converting this type of transaction from a “float style” transaction where Chime is essentially extending credit, to a good funds type of transaction where Chime has 100% certainty it’s going to get paid (other than in fraud cases which you'd optimize separately). 

To fund this infrastructure, payroll companies (like ADP) need a piece of the economics. Today, payroll apis mostly scrape data from ADP and others (similar to Plaid with banks in the early days). The real time paychecks use case requires explicit endpoints for retrieving time and net earnings, as well as webhooks for ADP to post anytime a consumer switches their direct deposits and for the neobank to post anytime they advance cash against a particular period’s wages. ADP can and should charge for these richer endpoints; even though this increases costs for the neobanks in the short term, it reduces risk from the system which will reduce cost and should reflect in lower interest rates. 

I genuinely think this is the holy grail of consumer banking. It would require a significant amount of coordination between payroll providers like ADP, payroll linking platforms like Pinwheel, and consumer banks like Cash App and Chase. But once one major player adopts this, basically 100% of the industry has to adopt it, because any consumer that’s not somehow cross-sold (eg using checking + mortgage on Chase) would be at huge risk of churning to a competitor that does offer real-time paychecks via risk, low cost advances. The other reason it’s a gigantic opportunity is because it affects almost 100% of working age adults.

One question we got a lot when building the Cash Card, that I struggled to answer early on (even a lot of Square colleagues would ask this question) is why would a consumer choose the Cash Card over Chase. My canned answer was: 

“there’s a category of people who won’t switch, because by keeping their checking account with Chase, they save 25bps on their mortgage rate, which is (in dollar terms) much greater than what we’re willing to pay in CaC, and greater than any financial benefit you’d get from the Cash Card. There’s a category of consumers who are really truly underbanked, and for them we’re fair game. And there’s a category of people who are dislodgeable, and for them, we just want to be around, and high utility enough, and low cost enough, that when they’re going through the life event that makes a switch likely (change city, change job, graduate, get married, get divorced) we’ll be around to earn their business. The BofA app is pretty good, and in the short term we’re not going to build something 10x better at any one thing you can do with the BofA app. We’re building something that’s 2x better at 10 things.”

This was a good answer, had a lot of nuance, was true, and ultimately worked. But there is a kind of question to which any answer that is not “Yes” is the wrong answer. This is that kind of question. If a consumer could go to a bank that deposited their paycheck EOD for every day they worked, it would be insanely difficult to switch to something with a 2 week cadence. Getting your paycheck delivered every day, for free (and risk free to the provider) for someone living paycheck to paycheck could transform lives. This experience IS 10x better than a BofA checking account. The foundational infrastructure (via RTP and payroll linking software being rolled out) exists. The economic relationships between the depository institutions, the payroll providers, and the payroll apis are in their infancy. The economics are large enough to support all parties. And no regulation is required to make this work. It will just take a few years of optimization to get there.


 

Notes

[1] https://www.federalreserve.gov/pubs/regcc/regcc.htm

[2] In contrast, I remember seeing some stat that said the average customer logs into their online banking 7x/day

[3] In practice, those 26+ banks covered by RTP probably have ~50% or more of the deposit accounts in the US.

[4] https://www.efile.com/efile-tax-return-direct-deposit-statistics/

[5] https://www.irs.gov/individuals/employees/tax-withholding

Thanks to Jake Gibson & Kurtis Lin for reading this in draft form. 

To get notified when I publish a new essay, please subscribe here.