BitGo Wallets API

The Wallets API from BitGo — 2 operation(s) for wallets.

OpenAPI Specification

bitgo-wallets-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: BitGo Platform Addresses Wallets API
  description: Representative specification of the BitGo Platform REST API v2 for institutional digital-asset custody. Covers wallets, addresses, transactions and transfers, keychains, webhooks, wallet policies, staking, trading and settlement over the Go Network, and enterprise / user surfaces. Most endpoints are namespaced under a coin (for example `btc`, `eth`, `hteth`) via the `{coin}` path parameter. Authentication uses a Bearer access token. Transaction-signing operations that require private-key material are typically issued against a self-hosted BitGo Express proxy.
  termsOfService: https://www.bitgo.com/legal/terms-of-service/
  contact:
    name: BitGo Support
    url: https://developers.bitgo.com/
  version: '2.0'
servers:
- url: https://app.bitgo.com/api/v2
  description: BitGo production platform
- url: https://app.bitgo-test.com/api/v2
  description: BitGo test environment
- url: http://localhost:3080/api/v2
  description: Self-hosted BitGo Express signing proxy (default port)
security:
- accessToken: []
tags:
- name: Wallets
paths:
  /{coin}/wallet:
    get:
      operationId: listWallets
      tags:
      - Wallets
      summary: List wallets
      description: List the wallets of the authenticated user for a given coin.
      parameters:
      - $ref: '#/components/parameters/coin'
      - name: prevId
        in: query
        description: Continue from the previous page using this cursor.
        schema:
          type: string
      - name: limit
        in: query
        description: Maximum number of results to return per page.
        schema:
          type: integer
          default: 25
      responses:
        '200':
          description: A paginated list of wallets.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletList'
    post:
      operationId: generateWallet
      tags:
      - Wallets
      summary: Generate wallet
      description: Create a new multi-signature wallet for a coin. This is typically issued against BitGo Express so the user and backup keychains can be created locally. Returns the wallet along with its keychains.
      parameters:
      - $ref: '#/components/parameters/coin'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateWalletRequest'
      responses:
        '200':
          description: The newly created wallet.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Wallet'
  /{coin}/wallet/{walletId}:
    get:
      operationId: getWallet
      tags:
      - Wallets
      summary: Get wallet
      description: Retrieve a single wallet by its identifier.
      parameters:
      - $ref: '#/components/parameters/coin'
      - $ref: '#/components/parameters/walletId'
      responses:
        '200':
          description: The requested wallet.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Wallet'
components:
  schemas:
    WalletList:
      type: object
      properties:
        wallets:
          type: array
          items:
            $ref: '#/components/schemas/Wallet'
        nextBatchPrevId:
          type: string
    GenerateWalletRequest:
      type: object
      properties:
        label:
          type: string
        passphrase:
          type: string
          description: Passphrase used to encrypt the user keychain private key.
        enterprise:
          type: string
        backupXpub:
          type: string
          description: Optional user-provided backup public key.
      required:
      - label
      - passphrase
    Wallet:
      type: object
      properties:
        id:
          type: string
        coin:
          type: string
        label:
          type: string
        m:
          type: integer
          description: Number of signatures required to spend.
        n:
          type: integer
          description: Number of keys on the wallet.
        keys:
          type: array
          items:
            type: string
          description: The keychain IDs backing the wallet (user, backup, BitGo).
        balanceString:
          type: string
          description: The confirmed balance as a base-unit string.
        spendableBalanceString:
          type: string
        enterprise:
          type: string
        type:
          type: string
          enum:
          - hot
          - cold
          - custodial
          - trading
      required:
      - id
      - coin
  parameters:
    walletId:
      name: walletId
      in: path
      required: true
      description: The wallet identifier.
      schema:
        type: string
    coin:
      name: coin
      in: path
      required: true
      description: The coin or token ticker (for example `btc`, `eth`, `hteth`, `sol`, `matic`). Testnet coins are prefixed with `t` (for example `tbtc`).
      schema:
        type: string
      example: btc
  securitySchemes:
    accessToken:
      type: http
      scheme: bearer
      bearerFormat: accessToken
      description: 'BitGo access token passed as `Authorization: Bearer <token>`.'
Where this information came from

This is an independent, third-party profile of BitGo Wallets API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.