WaaS 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:
- In the UI at Coinbase Cloud, to create organizations, projects, and API keys.
- At a terminal, in the repos @coinbase/waas-client-library-go and @coinbase/waas-sdk-react-native.
- On a device, real or simulated, to test your work against iOS and/or Android.
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.

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.
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 iOS and Android Quickstart guides.
