Skip to main content

Overview

Wallet as a Service is comprised of client libraries (that wrap HTTP API calls) and an React Native SDK. The API client libraries are for server-side development. The SDK is a subset of the APIs and used for mobile-native development.

Interacting with WaaS

There are several ways in which you will interact with WaaS while building your applications:

Coinbase Cloud

Coinbase Cloud is a platform with blockchain infrastructure for building crypto projects with products like Wallet as a Service.

You'll start your WaaS journey in Cloud when you create your first API key pair under Settings > API management.

WaaS is a new product in Coinbase Cloud.

Wallet as a Service

APIs

WaaS APIs are canonically defined by a set of gRPC Protobuffers. They are only accessible through an equivalent set of HTTP endpoints, defined by an OpenAPI specification.

The WaaS APIs consist of a set of microservices for interacting with the blockchain. Each service is responsible for a distinct piece of functionality:

  • BlockchainService: Read-only service with information about supported blockchain networks and assets.
  • ProtocolService: Stateless service for constructing blockchain-specific cryptographic payloads such as addresses and transactions.
  • PoolService: Top-level service for segregating keys, addresses, and funds into different pools.
  • MPCKeyService: Service for managing MPC-based private keys, to be used with the WaaS SDK.
  • MPCWalletService: Service for managing BIP-32-based HD wallets backed by MPC-based private keys and their associated asset balances, to be used with the WaaS SDK.
  • MPCTransactionService: Service for transaction orchestration and nonce management.

SDK

The WaaS SDK is a client-side React Native library that is required for key management operations. It exposes a subset of the WaaS APIs to the mobile developer.

info

The WaaS SDK supports both iOS and Android.

To safely participate in MPC operations and interact with the blockchain, the SDK uses iPhone Secure Enclave for iOS and the hardware-backed keystore for Android.

The write APIs of MPCKeyService and MPCWalletService in particular require the WaaS SDK.

For more on the SDK, see SDK APIs Overview.

iOS and Android

WaaS supports both iOS and Android devices. You can start interacting with the simulators by running the demos in the Quickstart guide.

Xcode Simulator Device Manager
WaaS is a new product in Coinbase Cloud.

Was this helpful?