BitGo is a third-party, multi-signature wallet service available for use with BTC, ZEC, BCH, LTC, and DASH.
Advantages of using BitGo are their reporting options and wallet backup services, which are simpler than creating backups of node wallets, and their security and velocity control over wallet spending.
See our article on BitGo wallet security practices.
A drawback to using BitGo instead of node wallets, is that BitGo charges a 0.25% service fee on the value of each transaction.
Creating a wallet
Create a 'Personal Account' at BitGo's signup page, confirm your email address, and add two-factor authentication with Google Authenticator, YubiKey, or WebAuthn.
On the 'All Wallets' page, click the 'Create Wallet' button. You can use the wallets indicated below with your cryptomat.
For this example, we'll start with Bitcoin:
Choose 'Quick Setup', then give the wallet a name:
You may use either your BitGo account password, or for better security, a wallet-specific secondary password. Ensure you have both securely stored in a password manager. Whichever you choose, you'll enter this Password into your Lamassu admin settings later.
Choose a backup key option. In case you lose access to your wallet, Coincover and BitGo can help you retrieve your balance.
Download, print, securely store, and delete your computer's copy of the keycard from the next page.
Follow the above process for all coins you wish to use with BitGo.
After activating, do not choose the option to 'require admin approval on all outgoing transactions', as this would prevent your wallet from being spent by your cryptomat.
Click on 'Settings' within the new wallet's panel, and copy and paste in a notepad the Wallet ID.
Obtain this value from each coin's wallet you created, as they differ. We'll provide these to your admin in a moment.
Next, click on your name and 'Account Settings'. Click on Developer Options, then click 'Add access token'.
On the 'Add access token' page, enter a Label for the token, and leave the Duration as the default.
Enter your server droplet's IP address. This can be found in your DigitalOcean control panel.
Then, set a 'Lifetime spending limit' of 100000 for the five coins shown below.
(Despite it being labelled 'optional', this is, in fact, required to be set.)
Provide View and Spend permissions, then click the 'Add Access Token' button:
In the next screen, copy the API Token shown in the yellow box and paste it in a password manager. We'll provide this to your admin in a moment. The API Token is shown only once, so ensure it's copied correctly. You also only need to create one, which is applicable to all wallets.
Entering admin credentials
Navigate to your Lamassu admin's 'Settings > 3rd party services' panel and click on the pencil icon in the Bitgo menu.
Input the API Token, Wallet ID(s), and Password(s) for all the wallets you created.
You will only need the Wallet IDs and Passwords for the coins you intend to use with BitGo, thus, some coins' fields can be blank. Leave 'Environment' set to prod. Click the 'Save Changes' button.
Navigate to the 'Settings > Wallet' panel, click on the pencil icon and select BitGo from the dropdown menu, afterwards, click the 'Save' button.
Repeat this for every coin that will be using the BitGo wallet.
Checking for success
Check that your deposit addresses and balances are being seen by going to the 'Maintenance > Funding' panel, and clicking on each coin's tab:
If you receive a 'Network Error' message on a particular crypto or all of them, it's an indication that your credentials are incorrect.
Some common setup errors when seeing 'Network Error':
- The correct IP address was not whitelisted when creating the token. Double-check the IP of your server and generate a new token.
- There are extraneous spaces before or after the Token or Wallet IDs. Ensure that these have been pasted correctly.
If you find that transactions are not sent after pressing 'Send coins' at the machine, it may be due to:
- Incorrect password. If you chose a secondary password during wallet creation, ensure these are used in the admin. If you generated secondary passwords that are unique to each wallet, then each wallet entry in the admin must have the corresponding password.
If you have any questions about the above setup, please let us know by contacting our support team.