Install BitGo Express

Overview

BitGo Express is a light-weight service that runs as a local server daemon in your data center that proxies to our collection of REST APIs. BitGo Express is language agnostic, allowing you the flexibility to choose a language, without having to rewrite any logic.

When you integrate BitGo Express, you can securely run sensitive operations client-side. For example, you can partially sign your transactions before submitting them to BitGo using your own access tokens and wallet keys to prevent exposure risks. Most importantly, your private keys never leave your network and are never seen by BitGo.

Although you can manually develop and deploy the BitGo Express server locally, we recommend running it through our provided Docker container, because this is the most secure way to run the server. We keep our Docker containers up to date, ensuring continuous feature parity with our SDK and REST APIs. When you use Docker, you don't have to upgrade SDK packages directly on your own instance of the server.

Prerequisites

Set up your coding environment. We recommend the following:

Steps

Install with Docker

1. Pull the Latest Docker Container

  • CLI
1 docker pull bitgo/express:latest

2. Run the Latest Docker Container

  • CLI
1 docker run -it -p 3080:3080 bitgo/express:latest
Step Result
  • CLI
1 2 3 4 ... BitGo-Express running Environment: test Base URI: http://0.0.0.0:3080

3. Send a Ping Request to BitGo Express

  • CLI
1 curl localhost:3080/api/v2/ping
Step Result
  • CLI
1 # {"status":"service is ok!","environment":"BitGo Testnet","configEnv":"testnet","configVersion":79}

4. (Optional) Send Command-Line Arguments to BitGo Express

  • CLI
1 docker run -it -p 4000:4000 bitgo/express:latest --port 4000
Step Result

BitGo Express starts on the specified port, 4000.

  • CLI
1 2 3 4 ... BitGo-Express running Environment: test Base URI: http://0.0.0.0:4000

Install Manually

We reasonably accommodate any integration issues that occur during proper usage of our software. However, we can't anticipate all types of server configurations and versions of personal environments. We recommend installing BitGo Express manually only if using Docker isn't an option for you.

1. Clone BitGo JavaScript SDK Repository and Install the Project

  • CLI (HTTPS)
  • CLI (SSH)
1 2 3 4 5 git clone https://github.com/BitGo/BitGoJS.git cd ./BitGoJs yarn install

Note: We don't recommend installing BitGo Express as root. However, if you must do so, run npm ci --unsafe-perm for the last step instead of npm ci.

Step Result

You installed all the SDK packages and BitGo Express server dependencies.

2. Start Your Local BitGo Express Instance

  • CLI
1 2 3 cd ./modules/express npm run start
Step Result
  • CLI
1 2 3 4 ... BitGo-Express running Environment: test Base URI: http://localhost:3080

3. (Optional) Pass Startup Arguments to BitGo Express

Ensure you insert an extra -- to separate the arguments. For example:

  • CLI
1 npm run start -- --port 4000
Step Result

BitGo Express starts on the specified port, 4000, and you can now make requests against your local BitGo Express server.

  • CLI
1 2 3 4 ... BitGo-Express running Environment: test Base URI: http://localhost:4000

Next

Get started making Express calls in the testnet environment. For more details, see Wallets Overview.

If you're ready to use BitGo Express in production, see Run in Production.

See also

  • See all BitGo Express tags on Docker.
  • See all configuration parameters in the Reference.