1. Support Center
  2. Understanding the Platform

How is the Cybrid Platform structured?

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 in certain regions.

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.

Partner Portal

The web-based dashboard partners can use to manage their integration with the Cybrid platform, including details such as customers, transactions, trades, transfers and API keys.

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.

Deposit Addresses

A wallet address that can be generated for certain crypto assets and associated with a specific customer for the purposes of depositing crypto on the platform.

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.

External Wallets

A wallet address that can be registered for a specific customer to allow on-chain withdrawal of crypto assets to an external wallet address.

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 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 provider and compliance program.
    • 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 and program to ensure all regulatory compliance obligations are met.

Note: When using the attestation method for KYC, your organization must have a robust KYC / AML program in place, and you will take full liability for KYC / AML violations, including any regulatory or financial impacts.

  • Funding Method: Each Bank supports several ways to fund the platform with fiat. Fiat account funding is a required step in order to execute trades on the platform. The funding methods include 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: This method leverages a Cybrid account (either FBO account for fiat funds or a crypto account), in which a partner pre-funds a certain amount, which helps improve settlement time and removes the need for users to connect their bank account. This would be a good option for organizations who already manage user funds.
    • Hybrid: Some customers operate with both of the above funding methods, keeping Partner funded accounts, in either Fiat or Crypto, as well as enabling end customers to connect Client bank accounts. This method offers greater flexibility for funding flows, and helps reduce settlement time while enabling Cybrid to debit funds from customer accounts.
  • 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?.