Yeah. But this is the US. This is all we’ve got. Having the central bank do it would be communism, and that’s bad. I learned about it from Saturday morning cartoons.
Ironically it's the central bank (and associated regulations) that cause these intermediaries to exist to begin with.
A protocol to support decentralized payments is a hobby project for an individual. You give each institution an identifier (e.g. their domain name) and each institution gives each customer an account number. If you're account 123 at Chase then you sign in as #123@chase.com, tell Chase you want to send $5 to #456@bankofamerica.com, they send the money and Bank of America tells their customer they have a new deposit. If you want to collect money from someone, you tell your bank to send their bank a payment request and they can either approve it manually (e.g. so you can deliver the goods for a one-time purchase) or configure some rules for which accounts get approved automatically up to some threshold amount (e.g. for recurring payments). Also no reason for banks in different countries not to all support the same protocol.
That doesn't require a central bank or any centralized third party payments intermediary. All it requires is for banks to know how to send money to other banks, which they obviously already do and the specific implementation of that isn't even relevant to the customer-facing payments protocol. So how does this not exist? It can't be that no one wants it, so it's got to be that someone (e.g. Visa/MasterCard) doesn't want it.
Zelle, from my understanding, is a “protocol” – many banks support it in their own apps. (Scare quotes because I’m not entirely sure it’s a proper well-defined protocol.)
And there’s nothing preventing PoS from supporting individual wallet apps – see e.g. WeChat Pay / Alipay in China. (Alipay+ is also a “protocol”, i.e. other banks and wallets support it.)
What I mean by protocol is that there is an RFC or equivalent and anyone who implements the spec and has a bank account can then talk to their bank using the standardized protocol. If that exists for Zelle then where's the spec?
https://api.payments.jackhenry.com/docs/zelle/overview/ Is a white label api that you, as a bank, can implement/hit. Just like your local small business vendor can choose to also take Venmo and CashApp, they can also choose to take Zelle. I've bought a burrito with Zelle before.
That seems to be the protocol that banks use to talk to other banks. The missing piece is the protocol for merchants to use to talk to their own bank (regardless of which bank it is), so that support can be added into generic point of sale terminals or web shopping carts etc.
Having the merchant manually process every payment using the bank-specific app on their personal phone isn't it.
I’ve searched for ‘zelle spec’ and came across this line:
> Zelle® is available in over 2,400 banking and credit union apps.
so I’m pretty sure there is a spec because there is no way in hell this many banks are using ad-hoc protocols to talk to each other and/or a centralized system. But yeah, I don’t see anything published.
Chances are it’s something ISO 20022-ish. (Either that or an Excel spreadsheet.) Speaking of which...
> and has a bank account can then talk to their bank using the standardized protocol
...if you’re a big enough business, you probably can also speak ISO 20022 to your bank. If you want it on your personal account however, well, that makes two of us, but from practical standpoint what I care more about is that I can punch in an account number and send money near instantly, which Zelle seems to provide in the US (but I have to make do with whatever Wise provides, probably regular ACH judging by speeds).