|
4 | 4 | > |
5 | 5 | > This project is currently in beta and has not been officially released for production use. APIs, features, and documentation may change without notice. Use at your own risk in production environments. |
6 | 6 |
|
7 | | -   |
| 7 | +  |
8 | 8 |
|
9 | | -Advanced wallets are a type of self-custody cryptocurrency wallet that securely enable mutual TLS (mTLS) signing servers with two operational modes: |
| 9 | +Advanced wallets are a type of self-custody cryptocurrency wallet that enable passwordless transactions by integrating your own Key Management Service (KMS) or Hardware Security Module (HSM) for user and backup private keys. Advanced wallets enable isolating sensitive key generation and signing operations in a dedicated, self-hosted service within your own secure environment. |
10 | 10 |
|
11 | | -- **Advanced Wallet Manager Mode** - A lightweight, dedicated keygen/signing server that you can use for secure key operations. This mode includes support for wallet recoveries. |
| 11 | +Advanced wallets operate in two modes: |
| 12 | + |
| 13 | +- **Advanced Wallet Manager Mode** - A lightweight, dedicated keygen/signing server with no internet access that handles all sensitive cryptographic operations. Connects exclusively to your KMS/HSM for secure key operations. This mode includes support for wallet recoveries. |
12 | 14 | - **Master Express Mode** - An Express application that's the orchestrator between the Advanced Wallet Manager and [BitGo APIs](https://developers.bitgo.com/reference/overview#/). This mode serves as an API gateway with integrated signing capabilities. |
13 | 15 |
|
14 | | -Security includes: |
| 16 | +Key features include: |
15 | 17 |
|
16 | | -- **mTLS Security** - Client certificate validation for secure communications. |
| 18 | +- **Complete Infrastructure Control** - Host and manage all components in your own secure environment. |
| 19 | +- **KMS/HSM Integration** - Bring your own KMS or HSM by implementing the provided KMS API interface. Reference implementations available for [AWS HSM](./demo-kms-script/aws-interface.md) and [Dinamo HSM](./demo-kms-script/dinamo-interface.md). |
| 20 | +- **Network Isolation** - Advanced Wallet Manager operates in a completely isolated network segment with no external internet access. |
| 21 | +- **mTLS Security** - Optional mutual TLS with client certificate validation for secure inter-service communications. |
17 | 22 | - **Flexible Configuration** - Environment-based setup with file or variable-based certificates. |
18 | 23 |
|
19 | 24 | ## Table of Contents |
@@ -44,9 +49,9 @@ Security includes: |
44 | 49 | - **npm** or **yarn** package manager. |
45 | 50 | - **OpenSSL** for certificate generation. |
46 | 51 | - **Docker** and **Docker Compose** for containerized deployment (or you can use **Podman** as alternative to Docker). |
47 | | -- **KMS API Implementation** - Advanced Wallet Manager requires a KMS API for secure key operations. For example: |
48 | | - - [AWS HSM Implementation](./demo-kms-script/aws-interface.md) |
49 | | - - [Dinamo HSM Implementation](./demo-kms-script/dinamo-interface.md) |
| 52 | +- **KMS API Implementation** - You must implement the KMS API interface to connect your KMS/HSM to the Advanced Wallet Manager. BitGo provides a specification for the interface and the following example implementations: |
| 53 | + - [AWS HSM Implementation Example](./demo-kms-script/aws-interface.md) |
| 54 | + - [Dinamo HSM Implementation Example](./demo-kms-script/dinamo-interface.md) |
50 | 55 |
|
51 | 56 | ### Setup |
52 | 57 |
|
@@ -160,12 +165,12 @@ curl -X POST http://localhost:3081/ping/advancedWalletManager |
160 | 165 |
|
161 | 166 | ### Advanced Wallet Manager Settings |
162 | 167 |
|
163 | | -| Variable | Description | Default | Required | |
164 | | -| ------------------------------ | ----------------- | ------- | -------- | |
165 | | -| `ADVANCED_WALLET_MANAGER_PORT` | Port to listen on | `3080` | ❌ | |
166 | | -| `KMS_URL` | KMS service URL | - | ✅ | |
| 168 | +| Variable | Description | Default | Required | |
| 169 | +| ------------------------------ | ---------------------------------- | ------- | -------- | |
| 170 | +| `ADVANCED_WALLET_MANAGER_PORT` | Port to listen on | `3080` | ❌ | |
| 171 | +| `KMS_URL` | URL to your KMS API implementation | - | ✅ | |
167 | 172 |
|
168 | | -> **Note:** For KMS API implementation requirements, see the [Prerequisites](#prerequisites). |
| 173 | +> **Note:** The `KMS_URL` points to your implementation of the KMS API interface. You must implement this interface to connect your KMS/HSM. For implementation details and examples, see [Prerequisites](#prerequisites). |
169 | 174 |
|
170 | 175 | ### Master Express Settings |
171 | 176 |
|
|
0 commit comments