Before you begin
To get started, share the following with the C8 team:- Your DockerHub username
- Access to the C8 DockerHub repository
- Integration credentials:
client_idaccess_key_idsecret_access_key
- A coupon code for MainNet registration
- Docker Compose
- A 24-word BIP39 mnemonic phrase that you generate yourself (see Generate a BIP39 mnemonic below)
Deployment flow
The full deployment is a five-step sequence. Each step is described in detail below.1
Generate a BIP39 mnemonic
Create the 24-word phrase that backs the self-custodial wallet.
2
Create the environment file
Define
WALLET_MNEMONIC, CLIENT_ID, backend URLs, and auth/batch settings in .env.3
Prepare Docker Compose
Fill in the C8-provided image in
docker-compose-client.yml.4
Deploy
Start the container with the CloudWatch logging parameters.
5
Verify the deployment
Open Swagger UI and confirm the API is reachable.
1. Generate a BIP39 mnemonic
Generate a random 24-word BIP39 mnemonic phrase. Usingbip39:
bitcoin-cli:
2. Create the environment file
Create a.env file next to docker-compose-client.yml:
.env
AUTH_TYPE=noop disables authentication for the wallet API. With this setting, all API endpoints are exposed without authentication.For production deployments, C8 can provide Keycloak or Auth0 configuration. When identity-provider authentication is enabled, all C8 Enterprise Wallet API endpoints expect a valid JWT token from the configured IdP.3. Prepare Docker Compose
Use the provideddocker-compose-client.yml template and set the image value to the DockerHub image shared by C8:
docker-compose-client.yml
4. Deploy
Run Docker Compose with the CloudWatch logging parameters provided during integration:-d:
5. Verify the deployment
After deployment, open Swagger UI:API account creation
When creating new accounts through the API, include thecoupon parameter:
Configuration reference
Security notes
- Keep
.env, mnemonic phrases, and AWS credentials out of source control. - Use
AUTH_TYPE=nooponly in controlled environments. - Prefer IdP-backed API authentication for production deployments.
- Rotate integration credentials according to your organization security policy.
Try it on DevNet
Want to try the wallet before going to production? You can point it at the C8 DevNet environment.- In your
.env, set the following URLs:.env - On DevNet, you don’t need a signup coupon to register new accounts — just omit the
couponparameter when creating accounts through the API.
