Enterprise & Organization Setup, Management, and Account Type Issues
Enterprise & Organization Setup, Management, and Account Type Issues
Problem
Customers encounter a range of issues when creating, configuring, or managing BitGo enterprises and organizations. Common scenarios include: accidentally selecting "Institution" instead of "Individual" during signup, being unable to find or access their enterprise after account creation, needing to close or delete an unwanted enterprise, wanting to add a new user or create API keys within an enterprise, needing to move an enterprise between organizations or consolidate multiple enterprises, encountering errors when logging into testnet enterprises, and confusion about what an Enterprise ID is versus a wallet address. These issues span the BitGo web UI, testnet, and production environments.
Diagnostics
- Identify the environment: Confirm whether the customer is on production (
app.bitgo.com) or testnet (app.bitgo-test.com). The environment drives which internal tools to use. - Look up the user in internal tooling: Search by email address to find the User ID, associated Enterprise IDs, and Organization IDs. Confirm the user's role (Owner vs. Member) on each enterprise.
- Check enterprise status: Determine whether the enterprise is active, frozen, or terminated. A frozen/terminated enterprise will block login and new enterprise creation if the user's email is still linked to it.
- Check organization membership: If the customer reports issues with custom roles or admin console features, verify whether their enterprises are in the same organization. Enterprises in different organizations can prevent the admin console from listing them in dropdowns.
- Determine account type: Check whether the enterprise is Retail, Starter, or Institutional (Trust). This determines what features are available and whether Sales/Trust onboarding is required.
- Check for duplicate enterprises: Search by user email to see if multiple enterprises were inadvertently created (common after password resets or re-registration attempts). Note which enterprise has completed KYC/verification.
- Review error details: If the customer provides an ErrorID or RequestId, search internal logs (e.g., Grafana/Loki) using that identifier. For 500 errors on enterprise retrieval, check for data-decoding issues in wallet-platform logs.
- Confirm mobile app vs. web: If the customer reports being "stuck" or unable to navigate, ask whether they are using the BitGo mobile app (which is limited to approvals only) or the web browser at
https://app.bitgo.com/web/auth/login.
Resolution
Scenario: enterprise-organization-test-org#wrong-account-type
Trigger: Customer accidentally selected "Institution" instead of "Individual" (or vice versa) during registration and wants to change or delete the enterprise.
Signals: wrong account type, institution instead of individual, delete enterprise, change to individual, accidental enterprise
Steps:
- Look up the user's email in internal tooling to identify all enterprises associated with the account.
- If the customer needs to keep one enterprise and remove another, identify which enterprise has completed KYC and which is the unwanted one.
- If the customer created the wrong type for an FTX claim, confirm whether they have successfully created a second enterprise of the correct type under the same email. If so, verify KYC status on the correct enterprise and inform the customer no further action is needed.
- If the unwanted enterprise must be removed, escalate to the internal team that handles enterprise deletion/closure (Support cannot self-serve enterprise deletion).
- Advise the customer that they can create a new enterprise under the same email once the conflicting enterprise is removed or if their email is not blocked by an existing enterprise.
Notes: Users may have both an FTX-related enterprise and a personal/institutional enterprise under the same email. There is no harm in having two enterprises; they are separate environments. Inform the customer of this if deletion is not strictly necessary.
"Thanks for your email. Yes one of it belongs to FTX which you would require. Further, there is no harm in having two enterprises. They are just two environments belonging to you." (ticket #278779)
"We see you have successfully created another BitGo enterprise for your FTX claim under the same email. This is to inform that KYC for your BitGo-FTX account under [EMAIL] is approved and no further action is required at this point." (ticket #153499)
Scenario: enterprise-organization-test-org#cannot-find-enterprise
Trigger: Customer reports they "can't find my enterprise" or are stuck on a selection screen after login.
Signals: can't find enterprise, stuck, finding my enterprise, signature page, where is enterprise
Steps:
- Ask the customer for a full-window screenshot of what they see.
- Confirm whether the customer is using the BitGo mobile app or the web browser. If they are using the mobile app downloaded from the App Store or Google Play, inform them: "This app is not a fully functional version of our platform. Its only used for providing approvals. You will want to login directly to our site through webbrowser, our signin link can be found in our homepage."
- If the customer is on the web UI and sees an enterprise name displayed (e.g., their own name or company), instruct them to click on the displayed enterprise name to enter it.
- If the user's email is linked to a frozen or terminated enterprise, the enterprise may not be accessible. Check enterprise status in internal tooling.
- If no enterprise is found for the user, they may need to create one or be invited to an existing enterprise by an Enterprise Owner.
Notes: Retail/FTX users sometimes see their personal name as the enterprise name and do not recognize it as their enterprise. Confirm the enterprise name displayed matches what is expected.
"That is the enterprise which is showing up on the screen: TOH HEAH TAN. Please click on that." (ticket #263425)
"Are you attempting to use the Bitgo App downloaded from the App or Android store? If yes, this app is not a fully functional version of our platform. Its only used for providing approvals." (ticket #246520)
Scenario: enterprise-organization-test-org#enterprise-id-confusion
Trigger: Customer asks whether the Enterprise ID is their wallet address, or does not understand what an Enterprise ID is.
Signals: enterprise ID, wallet address, what is enterprise ID, miner, deposit address
Steps:
- Explain: "An Enterprise ID is an organizational unit. You can consider it an account that can hold many different wallet types for the various crypto you may have with us."
- Clarify that the Enterprise ID is not a deposit address. To receive funds, the customer must create a wallet within the enterprise and use the wallet's receive address.
- Guide the customer: "When you login to the platform, you should see a button called, 'Create Wallet'. You will use this to create a wallet for BTC. This wallet will have an address."
- Note: "unspents of less than 2750 Satoshis are not usable on our platform."
"An Enterprise ID is an organizational unit. You can consider it an account that can hold many different wallet types for the various crypto you may have with us. When you login to the platform, you should see a button called, 'Create Wallet'. You will use this to create a wallet for BTC." (ticket #263290)
Scenario: enterprise-organization-test-org#add-user-and-api-keys
Trigger: Customer wants to add a new user to their enterprise or create API access tokens for a new email account.
Signals: add user, create account, API key, access token, invite user, new email, developer options
Steps:
- Instruct the customer to set up the new email account within their organization's mail system.
- Add the new user to the BitGo enterprise:
- Log in as an Enterprise Owner in the BitGo UI.
- Go to Enterprise Settings > Users > Add Users (or Users & Invites > Invite User).
- Enter the new email address, assign a role (Owner or Member), and send the invitation.
- The invited user follows the emailed link to complete setup and set their password.
- Generate API keys once the new user account is active:
- Log in with that account.
- Navigate to Enterprise Settings > Developer Options (or Settings > Developer Options).
- Click +Add Access Token (or +Create Access Token).
- Fill in the required fields (valid until date, IP address allow list, permissions).
- Store and secure the token.
- Note: Enterprise Owners must be added to individual wallets separately to access them. Only Enterprise Owners can create wallets under the enterprise.
Notes: For specific API permissions (e.g., "CryptoCompare Kit" for price APIs), the customer must select the relevant permission checkbox at the bottom of the access token creation form.
"Log in as an Enterprise Owner in the BitGo UI. Go to Enterprise Settings > Users > Add Users. Enter the new email address and send the invitation. The invited user follows the link to complete setup and set their password." (ticket #267074)
"You'll need to create an access token first. You can do so by going to Settings > Developer Options. Click the '+Add Access Token' button and fill in the relevant information (valid until date, IP address allow list, etc). For these 2 API calls, you'll need to give the token the 'CryptoCompare Kit' permission at the bottom of the list." (ticket #67046)
Scenario: enterprise-organization-test-org#email-tied-to-frozen-terminated-enterprise
Trigger: Customer's email is still linked to a frozen or terminated enterprise, preventing them from creating a new enterprise or signing up again.
Signals: frozen enterprise, terminated, cannot sign up, email linked, old entity, deregistered, new entity
Steps:
- Look up the user's email to identify the frozen/terminated enterprise and list all Owners and Members still associated with it.
- Confirm with the customer whether they want to be removed from the old enterprise so they can create a new one.
- Remove the user from the old enterprise (support can remove users from enterprises). Verify the user can now proceed with new enterprise creation.
- If multiple users need removal, confirm the full list with the customer before proceeding.
- If the old enterprise was frozen by the Billing team, check with Billing whether a temporary unfreeze is needed to complete the transition. Escalate via internal Slack/channels as required.
- Once the user is unblocked, provide the onboarding link (e.g., Persona inquiry link) if Trust onboarding is required for the new entity.
Notes: A user cannot create a new enterprise if their email is still associated with an existing enterprise that blocks re-registration. Removing the user from the old enterprise resolves this.
"I have removed your account from Ent: 60940b01177701000627bab48b089ce7 please assist to check if this has fixed the issue. Will proceed to remove the remaining users once we can confirm this has unblocked you from creating the new Entity" (ticket #247884)
Scenario: enterprise-organization-test-org#institutional-onboarding-next-steps
Trigger: Customer has created an institutional/enterprise account and asks what the next steps are to complete setup, verification, or begin trading.
Signals: institutional account, next steps, verification, activate, KYC, start trading, trust application, onboarding
Steps:
- If the customer has a Retail account and wants institutional services, direct them to contact the Sales team at:
https://www.bitgo.com/connect-with-us/ - If the customer already has an institutional enterprise and needs to activate their Go Account, instruct them: "Please switch to the trade tab and select Start Trading to submit an application."
- If Trust KYC is pending, follow up with the Trust team (via internal Slack channel or trustoperations@bitgo.com) on the application status.
- If Persona identity verification is required, provide the customer with a Persona inquiry link. If the link expires, generate a new one.
- For new Trust enterprise creation requests from internal Sales/Solutions teams, confirm the request has been routed to Trust Onboarding (Patrick Fjerstad or trustoperations@bitgo.com).
Notes: Enterprise creation for Trust clients requires coordination between Sales, Support, and Trust Operations. Support cannot create Trust enterprises directly. The onboarding steps include: Account Creation → Trust Application → Key Individuals Details → Review Process → Legal Document Signing.
"Please switch to the trade tab and select Start Trading to submit an application. Our team will then review and get back to you." (ticket #244568)
"You can contact our sales team to discuss further by using the following URL: https://www.bitgo.com/connect-with-us/" (ticket #242526)
Scenario: enterprise-organization-test-org#testnet-500-login-error
Trigger: Customer receives a 500 error when logging into testnet, caused by a backend data-decoding issue on the enterprise object.
Signals: 500 error, testnet, login, enterprise.getById, failed to decode enterprise, GetEnterpriseResponse, activePricingType, DateFromISOString
Steps:
- Collect the Enterprise ID, User ID, and RequestId from the customer or internal reporter.
- Search internal logs (Grafana/Loki for
wallet-platformapp) using the RequestId to confirm the 500 error and its root cause (e.g.,enterprise.getById 500 error: failed to decode enterprise ... as GetEnterpriseResponse). - Escalate to the Engineering team with the enterprise ID, user ID, RequestId, and log excerpts.
- Inform the customer that the issue has been referred to engineering for investigation and provide updates as they become available.
- Once engineering confirms the fix is deployed, verify with the customer that the login issue is resolved.
Notes: This type of error is a backend data issue, not something the customer or support can fix directly. Engineering must patch the data or code.
"enterprise.getById 500 error: failed to decode enterprise: 640948fac66e65000711be05d62c0112 as GetEnterpriseResponse: Invalid value '"2023-03-09T02:04:22.916Z"' supplied to ... activePricingType ... expected DateFromISOString." (ticket #73864)
Scenario: enterprise-organization-test-org#consolidate-or-move-enterprises-between-orgs
Trigger: Customer needs to move an enterprise from one organization to another, or consolidate multiple enterprises under a single organization (typically on testnet).
Signals: move enterprise, migrate, consolidate, organization, different org, custom role, admin console empty, enterprises empty array
Steps:
- Collect the target Organization ID, the Enterprise ID(s) to be moved, and the Organization ID(s) to be removed.
- Confirm the customer's production Enterprise ID to understand context.
- Ask the customer to describe the business need for the migration.
- Escalate to the Engineering team, as enterprise migration between organizations requires backend intervention. Support cannot perform this in self-service tooling.
- Advise the customer to hold off on any enterprise/wallet/user actions until the migration is complete.
- Once engineering confirms the migration is done, verify with the customer.
Notes: If custom role creation in the admin console returns an empty array from the organizations/enterprises API endpoint, this is likely because the enterprises are in different organizations. Migrating them into the same organization resolves the issue. Also verify the customer has not simply missed the "Add" button in the custom role UI.
"Our engineering team will migrate the enterprise 69767717c3d22a10c07e6a48aef8e293 to org id 698a4914792869ecdc49796b0dfbe25c. We will provide an ATA once available." (ticket #324030)
"We are seeing this may be because the 2 enterprises you are in are in different organisations and so one may need to be migrated." (ticket #316053)
Scenario: enterprise-organization-test-org#change-enterprise-ownership-entity
Trigger: Customer wants to change the legal entity that owns an existing enterprise (e.g., restructuring from one company to another).
Signals: change owner, new entity, restructure, KYB, ownership change, different company
Steps:
- Determine whether the change is a simple name change or a transfer to an entirely new legal entity. This drives the requirements.
- If it is a new legal entity, the request must go through Trust Onboarding. Route to trustoperations@bitgo.com or the Trust Onboarding contact (e.g., Patrick Fjerstad).
- The new entity will likely need to complete KYB (Know Your Business) and sign new legal documents (e.g., Custodial Services Agreement).
- Coordinate with the customer's Sales/Customer Success Manager if one is assigned.
- Keep the customer updated on progress, as this process may involve multiple internal teams and take several weeks.
Notes: This is not a self-service action. It requires coordination between Support, Trust Operations, Sales, and potentially Billing. If the customer is on BitGo Trust, legal document execution is required before the change takes effect.
Scenario: enterprise-organization-test-org#registration-error-reset
Trigger: Customer encounters an error during registration (e.g., entered wrong information like EIN instead of SSN, or received an APIResponseError) and wants to start over.
Signals: registration error, ErrorID, APIResponseError, reset account, start over, wrong information, crapped out
Steps:
- Ask the customer for the email address used during registration and any ErrorID provided (e.g.,
cm4sw98gg017v0ewvhbvwfd6o). - If the customer received an APIResponseError when accepting an enterprise invitation, advise them to:
- Use Google Chrome (try an Incognito window).
- Visit
https://app.bitgo.com/web/auth/logindirectly. - Use the "Forgot Password" link to reset their password.
- After resetting, log in, configure 2FA, and proceed to submit KYC.
- If the customer's Persona KYC application is stuck or has incorrect data, escalate to the Trust team to reset the Persona inquiry so the customer can re-submit.
- Provide the new Persona inquiry link once the reset is confirmed.
"You can also visit https://app.bitgo.com/web/auth/login directly and then choose the Forgot Password link to reset your password. Once this is done, you should be able to login, configure your 2FA, and proceed to the dashboard to submit your KYC information." (ticket #252037)
Scenario: enterprise-organization-test-org#close-or-delete-enterprise
Trigger: Customer requests closure or deletion of an enterprise (Starter, unwanted, or duplicate).
Signals: close enterprise, delete enterprise, remove enterprise, starter enterprise, unwanted enterprise, detach enterprise
Steps:
- Confirm the Enterprise ID the customer wants closed/deleted and verify there are no remaining funds in any wallets under that enterprise.
- Confirm the customer's identity and authorization (they must be an Enterprise Owner).
- Escalate the closure request internally. Support agents cannot self-serve enterprise deletion; it requires action from the appropriate internal team (Billing, Trust Operations, or Engineering depending on enterprise type).
- Once confirmed, notify the customer that the enterprise has been closed/resolved.
Notes: Multiple tickets reference requests to close or delete organizations/enterprises. This is a recurring request pattern. Ensure no wallets contain funds before proceeding.
Related
- custodial-enterprise-overview — Covers enterprise user roles (Owner vs. Member), inviting users, and video verification requirements.
- the-bitgo-admin-console — Explains Organization/Enterprise architecture, custom roles, and admin console access requirements.
- ethereum-in-testnet — Instructions for creating testnet enterprises and wallets, including contacting support@bitgo.com for testnet enterprise setup.