Accept Minting Terms

Accept the BitGo minting services terms on behalf of your enterprise before creating any mint or burn orders. See the Guide.

  1. Retrieve the enterprise to check whether it has already accepted the minting services terms, and to read the version number you accept in the next step.

    You need an access token for a user with the enterprise member or admin role. If the terms are not yet accepted, the response includes mintAgreementLatestVersion only. Once accepted, it also includes mintAgreement, an array of acceptance records.

    API Reference

  2. Accept the current agreement version on behalf of your enterprise. The version value must match mintAgreementLatestVersion from the previous step.

    Accepting is a one-time action per version, and is required before any mint or burn order can be created. Creating an order first returns 401 Unauthorized.

    API Reference

// 1. Check Terms Status (Optional)
export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>"
export ENTERPRISE_ID="<YOUR_ENTERPRISE_ID>"

curl -X GET \
  "https://app.bitgo-test.com/api/v2/enterprise/$ENTERPRISE_ID" \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer $ACCESS_TOKEN"
// 2. Accept the Agreement
export BASE_URL="https://app.bitgo-test.com/api/mint/v1"  # app.bitgo.com for production

curl -s -X PUT "$BASE_URL/enterprise/$ENTERPRISE_ID/agreement" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "x-enterprise-id: $ENTERPRISE_ID" \
  -H 'Content-Type: application/json' \
  -d '{ "version": 1 }'
Response
// 1. Check Terms Status (Optional) Response
{
  "id": "6437d9ae435d8b0007635c3f0db52154",
  "name": "Example Enterprise",
  "mintAgreement": [
    {
      "user": "682de31be80bbf9a733a2553d30e5cb5",
      "date": "2026-03-23T14:20:58.892Z",
      "ip": "10.24.183.6",
      "version": 1
    }
  ],
  "mintAgreementLatestVersion": 1
}

// 2. Accept the Agreement Response
{
  "enterpriseId": "your-enterprise-id",
  "version": 1
}