# Accept Minting Services Terms

Source: https://developers.bitgo.com/docs/accept-mint-terms

## Overview

To create mint or burn orders, you must accept the latest <a href="https://www.bitgo.com/legal/bitgo-coin-minting-services-terms/" target="_blank" rel="noreferrer">BitGo Coin Minting & Redemption Services Terms</a>. If you attempt to create a mint order before accepting the agreement, you receive a `401 Unauthorized` response.

## Prerequisites

[Get Started](/docs/get-started-intro)

## Cookbook

Want the steps without the walkthrough? Expand the cookbook below:

<Cookbook slug="mint-api-accept-terms" title="Accept Minting Terms" />

## 1. Review Terms

Review the <a href="https://www.bitgo.com/legal/bitgo-coin-minting-services-terms/" target="_blank" rel="noreferrer">BitGo Coin Minting & Redemption Services Terms</a> before proceeding.

## 2. Check Terms Status

Get the latest terms version number and status for an enterprise.

> Endpoint: [Get Enterprise](/reference/enterprisegetbyid)

```shell cURL
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 'accept: application/json' \
  -H "Authorization: Bearer $ACCESS_TOKEN"
```

#### Step Result

If the enterprise has ever accepted the terms, the response includes the `stablecoinAgreement` array. Compare the version in the array to the `stablecoinAgreementLatestVersion` to determine if the enterprise accepted the latest version.

If the enterprise hasn't accepted the terms yet, the response only includes the `stablecoinAgreementLatestVersion`.

```json Accepted
{
"id": "6437d9ae435d8b0007635c3f0db52154",
"name": "Example Enterprise",
"stablecoinAgreement": [
{
"user": "682de31be80bbf9a733a2553d30e5cb5",
"date": "2026-03-23T14:20:58.892Z",
"ip": "10.24.183.6",
"version": 1
}
],
"stablecoinAgreementLatestVersion": 1
}
```
```json Not Accepted
{
"stablecoinAgreementLatestVersion": 1,  // This value becomes your version in the next step.
}
```

## 3. Accept Terms

Set the `version` field to match the `stablecoinAgreementLatestVersion` you received in the prior step.

> Endpoint: [Accept mint agreement](/reference/mintv1enterpriseagreementput)

```shell cURL
export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>"
export ENTERPRISE_ID="<YOUR_ENTERPRISE_ID>"


curl -X PUT \
  https://app.bitgo-test.com/api/mint/v1/enterprise/$ENTERPRISE_ID/agreement" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{ 
    "version": 1 
  }'
```

#### Step Result

```json JSON
{
  "enterpriseId": "67bc4ae090e8af8f9b412d3d67e85252",
  "version": 1
}
```

## See Also

* [API Reference: Accept mint agreement](/reference/mintv1enterpriseagreementput)
* [API Reference: Get Enterprise](/reference/enterprisegetbyid)
* [BitGo Coin Minting & Redemption Services Terms](https://www.bitgo.com/legal/bitgo-coin-minting-services-terms/)
