On blockchains today we find many different stablecoins. Most of them are pegged to USD, which means they are meant to follow the value of USD. Their use case is obvious, as a less volatile on-chain asset, but we're early days. Many have failed for various reasons, like the recently infamous UST, while others push on with impeccable track records.
No matter the overall market conditions, running a stable stablecoin is possible. This is either done with off-chain collateral, like is the case for USDC, or with on-chain collateral. For the on-chain collateral variants, we find those with a lot of hands-on governance, like DAI, and those that are fully on-chain with immutable smart contracts and no admin, like LUSD.
There are hence many ways of classifying stablecoins, and all those different variations each represent different risk factors that should be considered. But, here's one angle that maybe hasn't been considered as classification categories: Open source vs enterprise.
Firstly, let me define what I don't mean by enterprise in this context: Closed source. Most enterprises today tend to use a lot of open source software, and they like this as it often avoids vendor lock-in risks. And what they are looking for in addition to open source software is support options from one or more vendors. They need to be able to call someone when stuff breaks. And whoever they call, they expect quick turnarounds.
Can an enterprise then use a stablecoin? Sure, why not? If you read my last blog post about layer 3s, it would make perfect sense for enterprises to not just use stablecoins, but to prefer to use stablecoins over ‘old fiat’ as part of their 'connected finance' strategy, in order to leverage programmable money with better asset allocation, control and insights. But when they do, we also need to understand that money in the form of stablecoins is in fact software. And not just any software, but blockchain managed software, where rolling back a mistake might not be possible.
You've maybe read about it elsewhere, when people experiment with smart contracts on public permissionless blockchains, that there's a risk they might accidentally lock up their tokens. They send it to the wrong address, or due to a smart contract bug or missing feature it's no longer possible to withdraw. As someone who's been in software for many years, I know all too well that this is just part of the job. And blockchains and smart contracts aren't immune to bugs, no matter how many test cases we add.
What we need is a technical risk management framework. There needs to then be a way to say, 'hey, ops, I've accidentally locked up 1 million USDC in this smart contract we just deployed due to a bug,' and to have Circle, the operators of USDC say, 'oh, let me have a look and fix that for you.' And through the support deal with Circle (or some other stablecoin operator or payment provider), they'd fix that within predefined SLAs. That's enterprise money. Banks do this today to some degree, as a custodian providing you with bank accounts. But bank managed money isn't software as such, and can't give you those nice new Web3 features.
Running an 'on-chain money market fund,' as we might want to compare stablecoins to, isn't known to be a big margin business. But if you think of it like Red Hat for money, it's more interesting. As blockchain infrastructure becomes available at all layers of the stack, I expect to see a rush of enterprise money providers and solutions.
Are we just returning to a centralised custodial model?
Having someone to call when things go wrong doesn’t imply a centralised system, it just means someone’s watching out and removing some rough edges. Already, the smart contract that manages the USDC stablecoin comes with admin features. It follows a proxy-logic pattern, so the logic can be updated.
Some will argue this isn’t truly decentralised, and they have a point. For those that take issue with this, they can look at using something like LUSD, and can take on-board the full responsibility for their operations. There’s nothing wrong with that, and it’s good that we have a choice - a choice we currently don’t have when it comes to digital money in the traditional sense.
But as we’ve seen with most things complicated, you’d want to engage with someone who can help you remove some of that specialist knowledge risk and requirement. Just like most companies don’t run their own email or web servers, they probably will use some Web3 payment provider to help with some of the more complex parts.
And what’s also important to remember is that with Web3 we expect to put the user in control. We give the user ownership of the token, and they can transact and interact with this token in private as they see fit. Only when something goes wrong do they need to involve others, and in that case still only those they chose to work with.
So, it’s not just another classic centralised custodial model at all, as control remains with the owner. It’s a model where multiple service providers can help remove some issues and challenges you might not want to deal with yourself. And they can help unlock those advanced features enterprises have been unlocking in technology elsewhere for years.
It’s time we unlock those enterprise features also in money.