Crypto-as-a-Service Overview

Overview

Crypto-as-a-Service (CaaS) is a customizable B2B2C solution that you can use to operate a crypto financial ecosystem securely and efficiently. Once integrated, you can offer your users comprehensive crypto and fiat capabilities, including holding, buying, selling, and trading assets. You maintain complete control over your branding and user experience. BitGo handles all the underlying crypto and fiat infrastructure, as well as the regulatory and compliance requirements. CaaS with BitGo is flexible and scalable, enabling you to customize the features and services you want to offer based on your business needs.

CaaS Features

CategoryDescription
OnboardingOnboard new users to your platform, including know-your-customer (KYC) checks and sanctions screenings.
On RampsCollect your users' banking information and submit it to BitGo on their behalf.
CustodyBitGo serves as a regulated custodian for your users' accounts, providing complete wallet infrastructure for both fiat and digital assets.
User ManagementManage your users' accounts programmatically or through a lightweight web UI, including viewing select details, such as balances and deposit addresses.
TransactionsYou and your users can initiate transactions, such as buys, sells, trades, and withdrawals.
Off RampsYour users can transfer fiat to their bank accounts and digital assets to other wallets.

By default, all enterprises have the ability to create Go Accounts, trade, stake, and create segregated wallets. You don't have to use all of these products for a CaaS integration. However, they're all available to you as soon as you create an enterprise.

Note: Security and compliance are critically important. BitGo recommends that you also perform your own KYC checks and fraud-prevention verifications.

BitGo Hierarchy

To understand CaaS, it's important to understand the hierarchical model that BitGo uses, which entails the following:

  • Organization: This is the top level of the hierarchy and represents your main business entity. Organizations can create and manage an unlimited number of enterprises (1-to-many relationship). Organization admins have full governance control, including compliance settings, risk management, and API access control.

  • Enterprise: The mid level of the hierarchy is the enterprise and it resides within a single organization (1-to-1 relationship). In CaaS, an enterprise represents your end users, which are individuals or other businesses. An enterprise can represent your main business entity or separate groups or departments within it. Each enterprise operates independently, but is still governed by the parent organization. Each enterprise has a single Go Account for handling all digital asset and fiat activities. Enterprises can have their own specific access controls, user permissions, and transaction policies.

  • Go Account: Within each enterprise is a single Go Account (1-to-1 relationship). The Go Account is the core financial account from which your clients conduct all their transactions. Go Accounts enable your end users to hold fiat and digital assets, execute trades, process settlements, access liquidity providers, and partake in other financial services. Technically, the Go Account is a unique wallet type. While a BitGo enterprise can have an unlimited number of other wallets types, CaaS typically uses just the Go Account for end users. To learn more about Go Accounts and other wallet types, see BitGo Wallet Types.

  • User Account: The bottom level of the hierarchy are users. Users represent individuals and they can belong to one or more enterprises. For your end users, this is likely a 1-to-1 relationship to an enterprise, but for you and your admins, this is likely a 1-to-many relationship. In CaaS, your end users seamlessly interact with their Go Account through a branded experience on your platform.

How It Works

Set Up Your Business

Get your main business entity set up and represented within BitGo. This starts with creating a BitGo account for yourself. Upon completion, BitGo creates the following for you:

  • User account with a unique ID.
  • Enterprise with a unique ID.
  • Organization with a unique ID.

Once you have an enterprise, you can begin adding other members from your business to it. Once your enterprise has other members, you can set up your organization by assigning enterprise members to be organization admins.

Set Up Your End Users

Once your organization is set up, you can create enterprises for your users, each with their own Go Account. The Go Account simplifies wallet management for your users by providing a single wallet for all their assets, including fiat. To distinguish between your enterprise and those of your users, BitGo refers to their enterprises as child enterprises.

A child enterprise is comprised of your end user and a service user of your choosing. The service user is an admin in the child enterprise and is responsible for creating your users' Go Accounts, as well as performing trades on their behalf.

Example Use Case

A trading broker wants to provide crypto trading services using CaaS from BitGo. They structure their integration as follows:

  • Organization: The trading firm itself. Everyone at the firm has a BitGo account and is a member of an enterprise within the firm's organization.
  • Enterprise: Each client, trader, or trading group has their own enterprise within the organization.
  • Go Account: Each client, trader, or trading group has a Go Account in their enterprise that they can use to execute trades and manage funds.
  • User Account: Every individual person has a BitGo user account and is a member of at least one enterprise.

Prerequisites

Get Started

Steps

  1. Set Up Organization
  2. Set Up Child Enterprises
  3. Create Go Accounts

Next Steps

Once you create Go Accounts for your users, follow the integration guides below to enable buying, selling, trading, and withdrawing digital assets.

  1. Deposit Assets
  2. Place Trade Orders
  3. Withdraw from Go Account (Advanced) or Withdraw from Go Account (Simple)

See Also