This guide is designed to guide your through the installation of BitGo Express node, to enable CAS to use your BitGo wallet (on the BitGo website) after you’ve created your BitGo account (on their website).

BitGo Express is designed and written by BitGo for their BitGo website wallet.

IMPORTANT: you will be exposing your BitGo wallet's private keys on this server. This may be a substantial security risk. Without airtight protection, your funds might be exposed. Securing your server is of paramount importance. If you proceed, you are doing so at your own risk.

BitGo holds and secures your cryptocurrency keys.

BitGo Wallet is a hot wallet option in the Crypto Application Server (CAS).

BitGo Express is used to interface with BitGo. CAS does not interact with BitGo directly. 


This article presumes you have a bare installation of Ubuntu 20.04 LTS running on a VPS with a publicly exposed IP.

  • We recommend you deploy a separate VPS server (from CAS).

  • These instructions are illustrated using a non-root account. “root” installation & usage will be different and is not recommended.

  • We recommend Digital Ocean as your VPS provider: Create a VPS on Digital Ocean

1. Install Docker.

Install the Ubuntu dependencies:

sudo apt update && sudo apt dist-upgrade
sudo apt-get install ca-certificates curl gnupg lsb-release

Install the product signatures to verify file integrity:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo   "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Install the latest stable version of Docker:

sudo apt-get install docker-ce docker-ce-cli containerd.io

Assuming the installation went as planned, this next command should succeed:

sudo docker run hello-world

Success looks like this:


2. Install the GB Tunnel.

Click this link to open installation instructions.


3. Install & run Bitgo Express.

Navigate to your home directory (~). The home directory is the default login directory.

cd ~

Run BitGo Express:

sudo docker run -it -p 3080:3080 bitgosdk/express:latest -p 3080 -e prod --disablessl

This is an example of a successful start:


4. Test it.

Verify that your node is working properly by sending a command via another terminal window.

  1. Open a new Terminal window/tab.

  2. Login on the second window via SSH to the Bitgo Express node.

  3. Type the following:

curl localhost:3080/api/v2/ping

You should see something similar to this reply:

On the first window, you’ll see confirmation that the second window said “hello”:

Great, everything seems to be working with that! You can close the second window, we’re done there.

You’ll also see messages from CAS (in the first window) as you test the Hot Wallet settings. This is a great tool to help diagnose any problems.


5. Ensure continuity.

BitGo Express MUST be running at all times to be available as a Hot Wallet for CAS. If the program terminates for any reason, the Hot Wallet will fail to function. If the server goes down, so does your Hot Wallet. You need the server up & Bitgo Express operating constantly for proper operation.

The best way to ensure that Bitgo Express is always running is to implement Docker’s detached mode:

sudo docker run -d -p 3080:3080 bitgosdk/express:latest -p 3080 -e prod --disablessl &

This is an example of BitGo Express successfully started in the background (detached mode):

sudo docker attach a2be980a8ef9

6. Create a new Crypto Setting for use with this node.


More Hot Wallet & Exchange guides: