TLDR: The first US dollar-backed stablecoin has arrived on Flow and it's available to all developers who want to offer their users the benefits of blockchain with the ease of fiat onboarding options, while augmenting user experience and unlocking a world of open access.
Beginning today and available for developers is Flow’s native stablecoin, Flow USD (FUSD), a 1:1 USD-backed stablecoin issued by Prime Trust, the fully regulated one-stop shop for financial infrastructure for digital asset and fintech innovators. With FUSD, financial institutions and wallet providers alike will be able to offer easy fiat on-ramp globally to the broad Flow ecosystem.
Integrating FUSD will allow projects to increase their potential target audience and enrich user engagement. This stems from the streamlined onboarding experience FUSD offers: by enabling integration of simple fiat-to-crypto onramps like Ramp today and Moonpay in the future.
FUSD also minimises the friction of any interaction beyond onboarding, since users do not have to keep track of various conversion rates, nor do they need to keep up to date with the fluctuation of their tokens. Transactions of value become more transparent and easily understandable by consumers.
Below, learn how to integrate FUSD into your application to grow your blockchain-enabled application and plug into the vibrant economy of open worlds on Flow.
In the early days of crypto, many teams focused primarily on the innovative features blockchain could unlock, like novel incentive models and smart contract engineering, rather than great user experience. However, it became evident relatively soon that in order to reach true consumer-scale adoption, better UX design and seamless user onboarding were essential factors.
That is the lesson the Dapper Labs team learned when they launched CryptoKitties in 2017, as the most popular blockchain application at that time, and later NBA Top Shot, an application that now has over one million signups. Flow was designed to specifically address the most frequent hurdles that many experienced teams struggled with when building on other blockchains: scalability, usability and developer ergonomics - with environmentally friendly architecture.
But even with the next generation smart contract language Cadence, and developer tools like Flow Client Library (FCL) that make building blockchain applications on Flow as easy as a traditional app, there remained barriers to unlock true consumer adoption: seamless fiat on-ramp and stable means to easily trade across the entire ecosystem.
And this is where stablecoins come into play! Stablecoins are fixed-price assets on the blockchain that peg to an external currency — the US dollar in most cases. Stablecoins avoid volatility while preserving the benefits of blockchain technology: security, autonomy and interoperability.
With FUSD, the power of stablecoins is now on Flow.
Flow has a vibrant community of users, partners, creatives and developers. The launch of FUSD will strengthen cross-platform collaborations within the Flow ecosystem by allowing transactions of stable assets to flow freely across the whole network.
Wallets and decentralised exchanges like Blocto and Bloctoswap already support FUSD on testnet, with mainnet support coming imminently. In the future, services like these will let users take their assets to any application on Flow’s mainnet, leveraging existing integrations to provide a better user experience. As a developer, you can integrate these FUSD-compatible wallets in just one line, using the Flow Client Library (FCL).
At the same time, FUSD opens up the ecosystem for whole groups of new participants. Especially those users that do not want to or are not able to buy the native FLOW token can now use FUSD as a simple alternative to take part in this ever growing ecosystem.
Thanks to the resource-oriented nature of our smart contract language Cadence, implementing FUSD into your application can be done in a matter of minutes while providing top-notch security.
To send and receive FUSD for the first time, a user has to initialise a vault. You can do this from your application with a single transaction. Please note that the following snippets use the testnet version of the FUSD contract.
In essence, this snippet first checks if the current user already has a FUSD vault in their account. If not, it will create a new vault resource by calling the createEmptyVault method on the FUSD contract, saving the resource to the user's account. Finally, it will link a public capability to the receiver and balance interface, giving external users the possibility to deposit tokens to this address and check its balance.
Sending and receiving tokens can also be achieved in just a few of lines:
We provide an FUSD amount and receiver address as parameters to the transfer transaction. Before sending the tokens, we first withdraw the given amount to a temporary vault by calling the private withdraw method on our own FUSD vault. To finish the transaction, we now only have to borrow the receiver's vault resource and call the public deposit method on it, handing over our temporary vault with the token balance.
As you can see from these examples, integrating FUSD into your application can be done in a matter of minutes, instantly giving you the power to join the economy of open worlds on Flow — supercharged by FUSD.
If you want to dive deeper into the details of FUSD, Cadence, FCL or Flow foundations, please refer to the additional resources below. If you run into trouble, feel free to reach out to us on the channels listed below — we are more than happy to help.