Announcing Flexa Capacity
Everything you need to know about Flexa network collateralization and the Flexa Capacity smart contracts
It’s been an eventful past few months for the Flexa team! Since our last update in August, we’ve been meeting with merchant partners, cryptocurrency enthusiasts, and project teams around the world. You may have seen Flexa at Devcon 5, Money20/20, Invest: Asia, Invest: NYC, the Merchant Advisory Group Annual Conference, the Theta Capital Legends4Legends conference, the Cumberland Summit, the 1kx Summit, the L1 Digital Summit, or other recent events — not to mention Blockchain Week Berlin, Vegas Blockchain Week, SF Blockchain Week, and Blockchain Weekend NYC.
Of course, we’ve also been hard at work developing our Flexa Capacity dApp and collateralization smart contracts. Hundreds of you have helped us test the Capacity dApp on Rinkeby, and we’ve received lots of valuable feedback that’s helped us improve both its user experience and the underlying mechanics of Flexa network collateralization. Today, we’d like to share the next steps in launching Flexa Capacity on mainnet and how we’re planning to enable collateralization on the Flexa network for the wallets yet to come.
A quick reminder of where we’re headed…
If you’re already familiar with the Flexa network, then you know that one of its primary purposes is to enable the real-time spending of any cryptocurrency in any context. Ultimately, the decentralized nature of digital currencies makes this difficult: on some blockchains, transactions can take tens of seconds — or even several minutes — to confirm. For most merchants processing in-person transactions, this delay simply doesn’t scale. In fact, we believe that the speed of cryptocurrency transaction settlement has been one of the major barriers to broader retail adoption over the last decade.
One possible approach to improving the speed of digital currency–backed transactions is to bolt them on top of legacy payment instruments like debit or gift cards. But this compromises the cost savings, security benefits, and other efficiencies that blockchain-based cryptocurrencies can offer, while possibly introducing even more fraud and loss into payments.
Instead, we’re developing brand-new payment infrastructure that integrates as closely as possible with existing merchant payment systems — thereby preserving the inherent fraud-resistance of cryptocurrencies while reducing merchant costs to rates far below a standard credit card transaction. And in order to enable this infrastructure for as many wallets as possible, we’ve developed a novel collateralization platform that uses a new digital collateral token called Flexacoin (FXC).
We’ve previously written about the mechanics of the Flexa network, as well as provided a brief overview of Flexacoin’s role in collateralization. Now, we’d like to offer a deeper dive into the inner workings of our collateralization system, Flexa Capacity.
Why did we build Flexa Capacity?
Flexa is designed to enable any cryptocurrency to be spent from any wallet, whether custodial or non-custodial. In order for this to happen, the network uses FXC as collateral to guarantee that merchants will always receive payment for transactions processed via our real-time infrastructure.
At a high level, the collateralization system looks like this:
Before a point-of-sale transaction takes place, the Capacity smart contract locks the commensurate amount of FXC against the fiat value of the purchase. Then, the wallet making the purchase sends the equivalent amount of digital currency to an exchange address. Finally, once the digital currency transaction is sufficiently confirmed on chain, the lock on the FXC collateral is released, enabling it to support any future network activity.
Today, it’s not feasible to scale this type of “lock and release” activity on a digital ledger. Instead, Flexa uses off-chain mechanisms to secure FXC collateral for each purchase and publishes the resulting output as a root index to the Ethereum blockchain, on a recurring schedule. In order to secure FXC collateral against wallet activity, Flexa requires each wallet app to have some FXC collateral allocated—and that’s where Flexa Capacity comes in.
Flexa Capacity is two things:
- First, and foremost, it’s a tool for supplying collateral to the Flexa network and allocating it toward Flexa-enabled wallets.
- Second, it’s a live view of Flexa network capacity, with which anyone can see the total value of unconfirmed transactions that the network can support at any given point in time.
We’ve designed Flexa Capacity so that it can be perfectly and completely open to anyone who wants to participate in enabling cryptocurrency spending at scale. And we’re excited to announce that as of today, Flexa network capacity is both visible to any entity or individual (in real-time), and is available to be collateralized in any denomination, all the way down to a single Flexacoin.
The path to meaningful collateralization
Importantly, none of the parties participating directly in a Flexa payment need to be aware of FXC’s role in securing that digital currency transaction. Neither consumers nor merchants need to hold FXC in order to make fraud-resistant, low-cost payments on the network, and even wallet app developers can add Flexa spending functionality to their apps without touching a single unit of FXC. Instead, Flexa network collateralization is open to everyone. Those who choose to provide capacity for the network supply their FXC because they believe that digital currencies are the future of payments.
One of the many benefits of digital currencies is that they enable new types of financial models, and the Flexa network’s is no exception. As an incentive for providing capacity to the network and collateralizing spending activity, each Flexa payment results in a small network reward being distributed, pro rata, to everyone who provided capacity for the payment to occur. Specifically, this reward is sourced from the minor merchant fees related to a transaction, which are used to repurchase FXC from the market and distributed back to the FXC holders providing collateral by Flexa Capacity.
We’ve thought deeply about how to provide enough spending capacity to power the network in its early phases. Synchronizing wallet distribution and network capacity with consumer and merchant adoption is a chicken-and-egg problem of immense proportions. Without large volumes of spending activity, there is simply no incentive for capacitors to collateralize transactions. And while Flexa currently holds enough liquid Flexacoin to collateralize these transactions, that kind of an approach is antithetical to building a community-powered network.
Instead, we’ve decided to jump-start collateralization of the Flexa network by distributing the first year’s supply of 1 billion FXC from our Network Development Fund as a static reward on allocated capacity.
What this means is that throughout the next twelve months, approximately 2,500,000 FXC will be distributed each day to everyone providing capacity for the Flexa network, commensurate with both the capacity allocated to each wallet as well as its spending activity.
We previously wrote that the Network Development Fund was intended to support the development of the Flexa network over the first decade of its operation, and we can’t think of a better way to grow the network than distributing these tokens directly to the community of people providing capacity and security for Flexa-powered payments.
The Flexa Capacity launch schedule
The next several weeks will give everyone the opportunity to try Flexa Capacity for themselves, not only in terms of allocating FXC capacity, but also earning a portion of the initial rewards distribution:
- As of today, November 19, 2019, Flexa Capacity is live on mainnet, although no network rewards will be distributed for a period of several weeks. (This is to ensure everyone an equal and fair chance to participate in the initial reward distribution.)
- During the first half of December 2019, we’ll begin distributing 2,500,000 FXC per day across all allocated capacity. (We’ll provide at least 24 hours advance notice of staking on our Twitter timeline—now is a good time to make sure that you’re following @FlexaHQ.)
Update 2019–12–13: The timeline for network reward distribution has been announced on Twitter. The first Flexa network rewards will be distributed to everyone providing allocated capacity beginning on Monday, December 16, 2019 at 3 p.m. ET. In order to earn part of the initial rewards distribution, your FXC tokens must be supplied and allocated by this time.
Anyone who holds FXC is welcome to participate in providing capacity to Flexa and earning network rewards. If you want to supply and allocate your capacity as collateral, here are step-by-step instructions for getting started:
- Supply your Flexacoin to the Capacity smart contract.
Today, it’s easiest to supply capacity using the Flexa Capacity dApp. In the future, we’ll add support for on-chain deposits, so that allocating capacity to a wallet is as simple as sending FXC to an app’s designated smart contract address. For now, you’ll need to transfer your FXC tokens to a MetaMask-compatible wallet, and supply them directly with the dApp.
- Allocate and deploy your capacity to a Flexa-enabled wallet app.
Once your FXC is on-contract, you need to choose how to allocate it. To do this, click the “Manage” button on the wallet popover. As of now, SPEDN is the only wallet app enabled for Flexa payments on Flexa Capacity, so you’ll want to allocate as much of your capacity as you feel comfortable to the SPEDN app. Of course, you can choose to allocate all of your on-contract FXC, or only a portion, and you can always modify your allocation later.
- In December 2019: Track collateralization activity and earn rewards
Once your capacity is allocated and deployed to an active wallet, Flexa will automatically start using it as collateral for wallet spending activity. Only capacity which has been allocated to a wallet can be used as collateral and incur rewards—simply supplying capacity to the network without allocating does not make your capacity eligible to earn network rewards.
- In December 2019: Withdraw your supplied capacity as you like.
Any FXC supplied to Flexa Capacity is held on-contract, which means that it’s managed and allocated by the Flexa Capacity smart contracts instead of your own private keys. However, Flexa Capacity frequently publishes a merkle tree to the Ethereum blockchain which serves to unlock account balances for withdrawal. To withdraw your FXC, request a withdrawal using the Flexa Capacity dApp, which will schedule any locked capacity for release so that you can execute an on-chain transfer out of the contract.
Some answers to common questions
Below, we’ve outlined answers to a few of the questions we’ve heard most frequently since we announced our collateralization approach back in August:
Why should I trust Flexa Capacity with my FXC?
We’re building Flexa Capacity in the open, with a commitment to transparency and open source development. The Flexa Capacity smart contracts are available on GitHub, and were thoroughly reviewed for vulnerabilities by the third-party research firm Trail of Bits. Trail of Bits is well-renowned as a software security research agency, and has conducted assessments of both the smart contracts that power the Compound protocol (at the heart of many blockchain lending platforms), and the Kubernetes service orchestration framework (behind the infrastructure of many Fortune 500 companies), among many others.
What happens if Flexa Capacity goes offline?
When Flexa Capacity publishes the merkle roots of collateralization and reward activity to the Ethereum blockchain for reward distribution and withdrawals, it also publishes a secondary “fallback” root. This fallback root ensures that if the smart contract does not receive any interaction from the Flexa Capacity backend for a period of approximately 262,144 (or 2¹⁸) blocks, it will automatically release all supplied FXC for withdrawal.
Can I withdraw my FXC after I supply it?
Although the underlying withdrawal features are live and tested, withdrawals will not be supported by the Flexa Capacity dApp immediately at launch. Withdrawal functionality will be added to the Capacity dApp sometime during the first half of December 2019. If you are at all worried about being able to access your FXC before that date, please do not supply any FXC to Flexa Capacity during this initial period.
Update 2019–12–13: Withdrawals are currently in testing on Rinkeby, and will be released to mainnet within the next few days.
Does Flexa Capacity make Flexa transactions less private?
Because we believe that transparency is critical to building trust in the Flexa network, we’ve worked to enable visibility into network dynamics wherever we can. At the same time, we know that Flexa Capacity can’t compromise the privacy of users’ transactions—neither merchants nor consumers should tolerate their transaction activity being broadcast as a result of using a digital payments network. Transaction privacy is inherent to Flexa’s design: since consumer wallets send payments directly to network exchange addresses, merchants receive settlement off-chain, and collateralization is calculated with zero-knowledge contracts, we ensure that it’s not actually possible to monitor spending inputs or outputs based on collateralization activity alone.
How decentralized is Flexa Capacity?
The FXC that collateralizes Flexa transactions for Flexa Capacity resides in a smart contract on the Ethereum network, which includes fallback withdrawal mechanisms in the case of the contract’s unavailability over an extended period of time. Although the payments infrastructure that enables Flexa transactions for merchants requires some degree of centralization, we believe that the wallet app interface for Flexa payments needs to be as open and accessible as possible. While we’re presently launching Flexa Capacity through a proprietary dApp interface, all of the underlying smart contracts are fully extensible. Soon, we’ll enable support for interfacing directly with the smart contracts themselves — through addresses specific to each wallet being collateralized — and we hope that this will enable the development of even more tools and services that interact with live Flexacoin collateral more seamlessly and autonomously.
Looking even further forward…
The Flexa team is incredibly excited about the launch of Flexa Capacity on mainnet, and looking forward to fostering a new ecosystem of Flexa-enabled wallets in the months to come.
As noted above, the first several weeks of Flexa Capacity’s launch will be focused on enabling basic collateralization and rewards distribution via spending activity from the SPEDN app. However, at this time, we also want to share some details about the launch of the Flexa Wallet SDK, and the additional wallets that will be enabling Flexa spending in coming months.
The first wallets to enable Flexa for their users will be a series of custodial wallets, provided by exchanges for the purposes of trading and spending digital assets on the go. These wallets are the simplest to secure and collateralize, and will likely drive the most significant early adoption of Flexa. We expect that the first custodial wallet enabling Flexa spending will be made available in the first quarter of 2020.
The second set of wallets to enable Flexa will leverage a more extensible version of the Flexa Wallet SDK, that we’ve been referring to internally as the “non-custodial SDK.” We’ve already engaged with some of the most innovative open-source and self-managed wallet teams to develop and discover best practices related to spending cryptocurrencies and securely enabling payments en masse, and we’ll be announcing this group of wallets in the first quarter of 2020. If you’re working on a non-custodial wallet and would like to participate, please email email@example.com.
Finally, just because we have so much to share about Flexa Capacity at the moment doesn’t mean that we’re not also focused on growing the Flexa acceptance network. Don’t forget to use Flexa and see all of the innovative retail technology on display at our pop-up partnership with McKinsey at the Mall of America throughout the holiday season. And if you find yourself in New York City this January, come visit us our booths at the NRF Big Show! We’re sponsoring the National Retail Federation’s annual conference and will be announcing some exciting new functionality live at the event.
In the meantime, our sincere thanks to all of you for the support and enthusiasm you’ve shown us over the last six months since we launched Flexa at Consensus in May. We can’t wait to see how Flexa Capacity is adopted, and we look forward to continuing to improve access to Flexa payments and collateralization for many years to come. As always, don’t hesitate to reach out on Twitter or join our Telegram channel for more updates about Flexa and Flexa network collateralization as they become available.