Fiat Connect is a universal API specification for cash in and cash out on the blockchain. This tutorial will provide an overview of the problem Fiat Connect aims to solve and explain the key features and benefits of using the specification. We will also explore the development process and available resources for both wallet developers and cash in/cash out providers.
In the current landscape, integrating with different cash in/cash out providers on the blockchain is a time-consuming and complex task. Each provider has its own unique API, resulting in significant engineering effort and limited innovation on core products. Wallets struggle to support multiple providers, leading to a poor user experience with non-native flows and limited options for end users.
Fiat Connect offers a universal API specification that addresses the challenges of integrating with multiple providers. By adopting the specification, wallets and providers can simplify the process and unlock numerous benefits for all parties involved.
- Easy Integration: Adding support for additional regions becomes effortless by updating a configuration file.
- Access to Multiple Providers: Wallets gain access to every wallet on the platform integrated with the Fiat Connect API, expanding their user base and reach.
- Enhanced User Experience: Wallet developers can focus on innovating and improving the wallet experience instead of spending most of their time on cash in/cash out integrations.
- Simplified Integration: Providers can quickly integrate their services by following the Fiat Connect specification.
- Access to Wallet User Base: By complying with the Fiat Connect API, providers gain access to a larger pool of users from integrated wallets.
- Scalable Expansion: Adding support for new regions is streamlined, eliminating the need for complex and time-consuming integrations.
- Richer DeFi Experience: Wallet developers can dedicate more time to innovating and enhancing the wallet experience, resulting in a smoother and more seamless cash in/cash out process.
- Increased Options: With more providers integrated via Fiat Connect, end users have a wider range of options for cash in and cash out transactions.
The Fiat Connect specification is a free and open-source standard that describes the APIs used for cash in and cash out from the Celo blockchain. It was developed by leveraging existing APIs and gathering feedback from providers and wallets throughout the process. The specification consists of four main groups of endpoints, each serving a specific purpose:
- Quotes: Clients can request a quote for a given transfer, enabling them to obtain necessary details from the server.
- KYC (Know Your Customer): These endpoints facilitate the KYC process by allowing users to provide required information before initiating a transaction.
- Account Information: Clients can communicate account details, such as source or destination information, to the server.
- Transfer Initiation and Monitoring: End users can initiate transfers and monitor their status over time, with real-time updates from the server.
To demonstrate the potential of Fiat Connect, two demo videos showcase the cash in and cash out processes using a Fiat Connect compliant wallet, such as Valora:
- Cash In: Users select their preferred currency and choose a Fiat Connect compliant provider. They link their bank account, review the transfer, and initiate the cash in process.
- Cash Out: Users can smoothly withdraw funds by selecting the withdrawal amount. Since they have previously linked their bank account, the process is expedited.
Whether you are a wallet developer or a cash in/cash out provider, there are resources available to help you get started with Fiat Connect:
Fiat Connect Specification: The specification is available on GitHub, where you can find the complete documentation, including the API specification, endpoint details, and example requests and responses. You can access the specification at Fiat Connect GitHub Repository.
Developer Guides: The repository also includes comprehensive developer guides for both wallet developers and cash in/cash out providers. These guides provide step-by-step instructions and best practices for implementing the Fiat Connect API in your application.
Sample Code: To further assist developers, the repository contains sample code snippets and libraries in popular programming languages. These resources can serve as a starting point for integrating Fiat Connect into your wallet or provider system.
Community Support: If you have any questions or need assistance while working with Fiat Connect, you can join the official community channels, such as the Discord server or forum, where you can engage with other developers and experts in the field.
Contributing to Fiat Connect: If you are interested in contributing to the development of Fiat Connect or suggesting improvements to the specification, you can find guidelines in the repository on how to submit pull requests and participate in the community-driven evolution of the project.
Fiat Connect is a universal API specification that aims to simplify cash in and cash out integrations on the blockchain. By adopting the specification, wallets and providers can streamline their integration efforts, enhance user experiences, and access a wider user base. With its open-source nature and comprehensive documentation, Fiat Connect offers a standardized solution for cash in and cash out transactions, promoting innovation and scalability in the blockchain ecosystem.