Changelog

Product updates, new endpoints, and improvements to the BitGo platform.

  1. Custody Starter Architecture

    The Developer Portal now includes a use-case guide called Custody Starter Architecture that walks you through the most common custody integration, designed for clients operating within a single enterprise. This new section is a complete end-to-end guide that you can use to set up the most popular custody configuration.

    How It Works

    Custody starter architecture utilizes three wallets for each coin, each with varying degrees of security and balance sizes. This pattern helps your enterprise maximize security while maintaining operational flexibility.

    The new guide walks you through creating these three wallets with distinct roles:

    • A custody wallet that provides cold storage for the majority of your assets, guarded by strict policies.
    • A self-custody hot wallet that serves as a standby wallet, with moderate policies.
    • Another self-custody hot wallet with the lowest balance. This wallet handles all deposits and withdrawals for day-to-day transactions, with minimal policy restrictions.

    Integration Guides

    Get started with:

  2. Margin Trading

    BitGo adds support for Margin Trading for users with Go Accounts. You can programmatically transfer assets from your Go Account to your Collateral Account and start trading with assets in your Margin Account. BitGo offers a one-click close feature, which allows you to close all your open positions with one API call.

    For complete details on the new integration flow, see Margin Trading Overview

    See Also

  3. Trade Permission

    BitGo adds a new trade enum value to the permission parameter that you can use to grant users trading privileges for a Go Account (wallet "type": "trading").

    The new trade permission enables greater customization and control over what your enterprise users can do within your wallets. Users with the trade permission can initiate trades, but cannot initiate withdrawals from the Go Account or any other wallet.

    Breaking Change

    With this update, the spend permission no longer grants trading privileges. To grant users trading privileges, you must update your integration to include the new trade permission.

    Any user with the spend permission prior to this update retains their ability to initiate trades.

    Change Log

    For a comprehensive list of all SDK changes, view the BitGoJS Change Log in GitHub.

    See Also

  4. Bitcoin Testnet4

    BitGo is migrating from the Bitcoin testnet3 to testnet4. The new Bitcoin testnet provides easier access to testnet bitcoin and lower transaction fees.

    Breaking Changes

    BitGo is deprecating support for Bitcoin testnet3 by end of year, 2024. Ensure streamlined support in your testing environment by updating your testnet integrations to use testnet4. To migrate, create tbtc4 wallets and update all instances in your code of tbtc to tbtc4.

    See Also

  5. MPC Withdrawals

    BitGo streamlines the advanced integration flow for withdrawing from MPC hot wallets, removing the need for you to manually send half-signed transactions to BitGo. In addition, you now collect approvals before signing MPC transactions. Once a transaction is half-signed, it's automatically sent to BitGo for final signing and broadcasting to the blockchain.

    For complete details on the new integration flow, see Withdraw from Wallet - Self-Custody MPC Hot (Advanced)

    See Also

  6. Wallets Renaming

    With this update BitGo renames the following wallet types:

    • self-managed to self-custody
    • custodial to custody

    This name change better reflects current industry standards for wallet types.

  7. MPCv2

    MPCv2 - MPC Wallets for ECDSA Assets

    BitGo expands support for multi-party computation (MPC) wallets for ECDSA assets, such as Ethereum, Polygon, and Cosmos SDK assets. MPC wallets enable you to bundle transactions and sign with only 1 on-chain signature, saving you money on fees, compared to multisignature wallets.

    This update builds upon existing MPC functionality currently available for EdDSA assets. When creating keys for MPC wallets, there are now 2 different integration flows, depending if the asset is ECDSA or EdDSA. Transaction signing also slightly differs between the 2 elliptic curves.

    To distinguish between the two elliptic curves in the code, BitGo now uses MPCv1 for EdDSA wallets and MPCv2 for ECDSA wallets. This update doesn't change the MPC version for any of your existing MPC wallets. You can determine which version of MPC a wallet uses by calling the Get Wallet by Coin and ID endpoint and checking the value of the multisigTypeVersion response field.

    For simplicity, BitGo now refers to TSS wallets as MPC wallets in both the web app and the developer documentation. BitGo's implementation of MPC is still TSS. However, the MPC name better reflects current industry standards.

    The MPCv2 feature is currently available only in test environment. When the feature is available in production, BitGo will send an email notification and display an announcement in the web app.

    To use MPCv2, ensure you're running the latest version of Express or the JavaScript SDK, depending on your integration. For details on how to update, see Install BitGo Express and Update SDK.

    Note: MPCv2 enables multiple receive addresses with automatic consolidations to the root address. This functionality requires you to Fund Gas Tanks with a sufficient balance to cover gas fees. Funding gas tanks is now a required step in the Get Started. To use MPCv2 without issues, ensure that your gas tanks are funded.

    Change Log

    For a comprehensive list of all SDK changes, view the BitGoJS Change Log in GitHub.

    Integration Guide

    To learn more, see the following topics:

    See Also

  8. Policy Builder

    The Policy Builder enables you to enhance security for your digital-assets and streamline your enterprise operations. With the Policy Builder, you can create policy rules that govern how specific actions must occur, and you can even automate resolutions. For example, you can create policy rules to automatically approve or reject certain types of transactions, or require approvals from specific users.

    The Policy Builder enables you to:

    • Ensure your policies are standardized across your wallets.
    • Easily create or update policies, no matter how many wallets you have.
    • Have clear audit trails of your policies (who did what when).

    Integration Guide

    To learn more, see the Policy Builder integration guide.

    API Reference

    View the REST API endpoints in the Policy Builder API reference.

  9. Crypto-as-a-Service

    Crypto-as-a-Service is a new offering that provides a suite of services to enable you to build and scale your blockchain applications. With Crypto-as-a-Service, you can leverage BitGo's industry-leading security, compliance, and infrastructure to build your applications faster and more securely. You control the user experience of your app, while BitGo handles the underlying blockchain, monetary, and compliance infrastructure.

    Crypto-as-a-Service includes the following:

    • Custody
    • Fiat on ramps and off ramps
    • Onboarding
    • Transactions
    • User management

    Integration Guide

    To learn more, see the Crypto-as-a-Service integration guide.

    API Reference

    View the REST API endpoints for Crypto-as-a-Service in the API Reference:

    Breaking Changes

    BitGo also deprecates the Portfolio API. Instead, use the Allocate API. Allocations are part of the Go Network. For more information, see the integration guides Go Network Overview and Allocate Overview.

  10. JavaScript SDK

    Bug Fixes

    Version 38.0.0 of the SDK removes a validation when creating addresses.

    Breaking Changes

    The JavaScript SDK upgrades the bitgo package to version 38.0.0, deprecating support for Node.js 16. BitGo now requires Node.js 18, or higher. However, BitGo recommends using Node 20 LTS.

    Change Log

    For a comprehensive list of all changes, view the BitGoJS Change Log in GitHub.

    See Also

    Update SDK