Accept Minting Terms
Accept the BitGo minting services terms on behalf of your enterprise before creating any mint or burn orders. See the Guide.
-
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
mintAgreementLatestVersiononly. Once accepted, it also includesmintAgreement, an array of acceptance records. -
Accept the current agreement version on behalf of your enterprise. The
versionvalue must matchmintAgreementLatestVersionfrom 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.
# AI SETUP: Before running this cookbook:
# 1. Check if ~/.bitgo/credentials.env exists and source it.
# 2. If not found, ask the user if they have a credentials file at another location.
# - If yes, source that file.
# - If no, prompt the user to provide each value below before proceeding.
// 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
// AI SETUP: Before running this cookbook:
// 1. Check if ~/.bitgo/credentials.env exists and load it with dotenv.
// 2. If not found, ask the user if they have a credentials file at another location.
// - If yes, load that file instead.
// - If no, prompt the user to provide each required value before proceeding.
// 1. Check Terms Status (Optional)
// Use the REST API for this step (see cURL tab)
// 2. Accept the Agreement
// Use the REST API for this step (see cURL tab)
// 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
}