Understand the Cybrid Platform and learn key concepts to accelerate your development.
The software-as-a-service Cybrid Platform provides a full-stack solution to building and releasing cryptocurrency based products, whether that be simple trading use cases, or more advanced offerings such as stablecoin-based cross-border remittance. The platform enables an end-to-end customer experience, from initial onboarding and KYC, to banking and fiat money movement, to cryptocurrency trading and custody.
What are the components of the platform?
The platform is composed of several different component layers:
Component |
Description |
Core Engine |
Underlying Orchestration Engine with Workflow Coordination and Smart Order Routing. |
RESTful API |
An OpenAPI 3.0 specification RESTful API which controls and manages the core aspects of the Cybrid Platform. All core functionality including managing Organizations, Banks, Customers, Identities, Quotes, Trades, Transfers and Configurations is API accessible. |
API Clients |
Clients are auto-generated from our API spec to make it easier for your engineering team to integrate. We automatically generate and test clients in many popular languages including Angular, Java, Kotlin, Python, Ruby, Swift and Typescript. |
Mobile SDKs |
In addition to the convenience of API Clients, we also create mobile-specific UI SDKs, which include UI components for all major parts of the fiat and crypto user experience. SDKs exist for Apple and Android mobile devices. The SDKs can be used as-is to assemble basic trading functionality, or they can be referenced as sample code to speed development. |
Web SDK |
Similar to the mobile SDKs, we offer a packaged web SDK, delivered as a Web Component, that allows you to easily and quickly integrate a web-based flow for crypto trading. |
Demo Apps |
In addition to offering individual Mobile and Web SDK components, we also package a full demo application that can be referred to as a reference implementation. |
All of our API Clients and SDK's are available in our GitHub Repo, and or review our API's in our interactive swagger docs.
Depending on your integration approach, you may work with just the API or API Clients, or additionally leverage our Web or Mobile SDKs to decrease development time or effort.
What core models are important to understand?
Understanding the core objects within the Cybrid Platform is important to begin development and to structure your integration in the best way. The below list covers core models that you'll be interacting with as you build out your solution.
Model |
Description |
Organization |
The root object under which all partner/customer information is stored. |
Bank |
A specific bank instance that contains customers and all downstream objects. |
Customer |
The core customer object, which has an identity, accounts, quotes, trades, etc. |
Identity Verification |
An identity record associated with a customer, supporting either platform KYC provided by Cybrid, or a Partner Attestation of KYC. |
Account |
A number of accounts are associated with a Customer, including fiat and one or more crypto, accounts. |
External Bank Accounts |
An external bank account represents a Plaid connected bank account that an end-user can leverage to fund their fiat account on the Cybrid platform. |
Quote |
A quote record for a fiat-to-crypto or crypto-to-fiat swap |
Trade |
A trade record, representing an executed quote |
Transfers |
A record representing a funding (external fiat deposit/withdraw), book (internal) or crypto (wallet deposit/withdraw) transfer. |
The importance of the Bank model
While the very top of the data food chain is the Organization, it's really the Bank which is one of the most important models in the platform.
The Bank represents a specific instance of a Crypto Bank on the Cybrid Platform, with all downstream activity associated to that instance. The Bank is where important product configuration options are set, which influences the customer experience.
These options include:
- Bank Type: A Bank is in either Sandbox or Production mode. Initially when you register with the Cybrid platform a Bank is created in Sandbox mode, and you can create more banks in sandbox mode through our Partner Portal or API. A Sandbox bank cannot be promoted to a Production bank, so you need to work with the Cybrid team when you are ready to move your integration to production.
- KYC Method: Each Bank instance must have a KYC method configured. Once configured, this is the permanent KYC method, and a different Bank instance must be created to change methods. The KYC methods are one of the following:
- Cybrid (Platform) KYC: This leverages the embedded KYC capability available in our Web and Mobile SDKs. From an integration perspective, you would initiate this KYC process in your Web or Mobile applications. This is a good option if you don't already have your own KYC.
- Attestation KYC: This enables your organization to programmatically attest to the verified identity of an end-customer, and pass certain identification information to the Cybrid Platform. Using this method will require Cybrid to have visibility into your onboarding process, and understand your KYC procedures to ensure all regulatory compliance obligations are met.
- Funding Method: Each Bank must be configured with a method that end users fund their fiat accounts with. Fiat account funding is a required step in order to execute trades on the platform. Once configured, this is the permanent funding method, and a different Bank instance must be created to change methods. The funding methods are one of the following:
- Client Funding (Plaid Connect): This method leverages our partner, Plaid, to enable end users to directly connect their bank account to the Cybrid platform (referred to as External Bank Accounts). Once connected, we are able to initiate money movement, at the users request, between their bank account and their fiat account on the Cybrid platform.
- Partner Funding (Backstopped): This method leverages a Cybrid FBO bank account, in which a partner pre-funds a certain dollar amount, which helps improve settlement time and removes the need for users to connect their bank account. This would be a good option for challenger banks who already manage user funds.
- Country Code: Each bank is associated with a particular country of operation, specified via the Country Code. This determines which locale the KYC and Funding methods operate, ensuring that user onboarding for KYC and bank account selection are specifically tailored to the correct country's banks and type of documents.
- Fiat Account Assets: Each bank must define a specific fiat asset to operate in, with the current supported assets types of either "USD" or "CAD" fiat currencies. Once selected, this is the default currency in which this bank operates. This is the permanent fiat asset for this bank, and a different Bank instance must be created to change assets.
What's next?
With an understanding of the key components and data models, have a look at a typical trade process in: What does the trade process look like?
Or, you can now get started now in our development Sandbox: How do I sign into the Sandbox?.