Skip to main content
This guide walks you through the technical onboarding for C8 Enterprise Wallet — what to share with the C8 team, what you’ll receive in return, and how to bring the service up with Docker Compose.

Before you begin

To get started, share the following with the C8 team:
  • Your DockerHub username
The C8 team will then provide:
  • Access to the C8 DockerHub repository
  • Integration credentials:
    • client_id
    • access_key_id
    • secret_access_key
  • A coupon code for MainNet registration
You will also need the following on the deployment host:
Self-custody notice. C8 Enterprise Wallet is self-custodial. You must generate and securely store the wallet mnemonic phrase during deployment.If the mnemonic phrase is lost, C8 cannot recover accounts or funds.

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. Using bip39:
Or using bitcoin-cli:
Store the mnemonic securely. Do not commit it to source control.

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 provided docker-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:
To run the wallet in the background, add -d:

5. Verify the deployment

After deployment, open Swagger UI:
The public API documentation is also available at:

API account creation

When creating new accounts through the API, include the coupon parameter:
The exact value will be provided during integration.

Configuration reference

Security notes

  • Keep .env, mnemonic phrases, and AWS credentials out of source control.
  • Use AUTH_TYPE=noop only 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.
  1. In your .env, set the following URLs:
    .env
  2. On DevNet, you don’t need a signup coupon to register new accounts — just omit the coupon parameter when creating accounts through the API.