Ledger Accounts API

The Accounts API from Ledger — 17 operation(s) for accounts.

Operations 17

GET /accounts Search accounts
GET /accounts/{account_id} Get an account by ID
GET /accounts/{account_id}/address Get an address for a non UTXO based account
GET /accounts/{account_id}/address/{index} Get a change or receive address by index for an UTXO account
GET /accounts/{account_id}/addresses [DEPRECATED] Get receiving addresses of an account
GET /accounts/{account_id}/addresses/{index} [DEPRECATED] Get an address by index for an account
GET /accounts/{account_id}/balances Get an account's balances by ID
GET /accounts/{account_id}/balances/history Get an account's balances history by ID
GET /accounts/{account_id}/currency Get the account's currency
GET /accounts/{account_id}/history Get the account's history
GET /accounts/{account_id}/labels Get an account's labels
GET /accounts/{account_id}/nft-collections Retrieve an account’s NFT collections
GET /accounts/{account_id}/nft-portfolio Retrieve an account’s NFT porftolio
GET /accounts/{account_id}/nfts Retrieve an account’s NFTs
GET /accounts/{account_id}/sync Sync the account to update transactions with list status
GET /accounts/{account_id}/tokens Get an account's light token accounts
GET /accounts/{parent_account_id}/erc20-children-accounts Get ERC-20 Child Accounts

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ledger-accounts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ledger-accounts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Vault Accounts API
  version: 1.35.0
  x-logo:
    url: https://www.ledger.com/wp-content/themes/ledger-v2/public/images/ledger-logo-long.svg
  description: '

    # Authentication


    The Ledger Vault API offers several methods of authentication.

    Depending on your LAM configuration you''ll require several of the following headers

    to process API calls. Please refer to the

    [help center](https://help.vault.ledger.com/Content/api/api_overview.html) for more details.


    The `X-Ledger-API-User` header is required for all API calls to LAM

    (except when you register

    [API users on LAM](https://help.vault.ledger.com/Content/api/api_apiusers.html)).


    Note that the `X-Ledger-API-Key` authorization header can be used alongside the

    `X-Ledger-Store-Auth-Token` if both a LAM API key and HashiCorp Vault have

    been set up on your LAM.

    In this case, for every call made to LAM,

    you''ll need to pass all three headers

    `X-Ledger-API-User`, `X-Ledger-API-Key`, and `X-Ledger-Store-Auth-Token`.

    '
security:
- Ledger_API_User: []
- Ledger_API_User: []
  Ledger_API_Key: []
- Ledger_API_User: []
  Ledger_Store_Auth_Token: []
- Ledger_API_User: []
  Ledger_API_Key: []
  Ledger_Store_Auth_Token: []
tags:
- name: Accounts
paths:
  /accounts:
    get:
      summary: Search accounts
      tags:
      - Accounts
      description: Use the following parameters to search accounts.
      parameters:
      - name: account_label
        in: query
        description: A list of label id to filter account by.
        required: false
        explode: true
        schema:
          default: null
          items:
            type: string
          type:
          - array
          - 'null'
        style: form
      - name: account_type
        in: query
        description: Filters the results on the crypto asset type.
        required: false
        schema:
          default: null
          enum:
          - null
          - Bep20
          - Bitcoin
          - Cardano
          - Cosmos
          - Erc20
          - Ethereum
          - Generic
          - Near
          - Polkadot
          - Polygon
          - Ripple
          - Solana
          - Stellar
          - Tezos
          - Trc20
          - Tron
          type:
          - string
          - 'null'
      - name: created_after
        in: query
        description: Returns objects created after the entered date.
        required: false
        schema:
          default: null
          example: '2020-09-12T14:15:22Z'
          format: date-time
          type:
          - string
          - 'null'
      - name: created_before
        in: query
        description: Returns objects created before the entered date.
        required: false
        schema:
          default: null
          example: '2020-12-13T16:17:28Z'
          format: date-time
          type:
          - string
          - 'null'
      - name: currency
        in: query
        description: Filters the results by the account's currency.
        required: false
        schema:
          default: null
          example: bitcoin or ethereum:0xdAC17F958D2ee523a2206206994597C13D831ec7
          type:
          - string
          - 'null'
      - name: entity
        in: query
        description: An entity to filter account by
        required: false
        explode: true
        schema:
          default: null
          items:
            type: integer
          type:
          - array
          - 'null'
        style: form
      - name: group
        in: query
        description: Lists accounts linked to the entered group.
        required: false
        schema:
          default: null
          type:
          - integer
          - 'null'
      - name: id
        in: query
        description: Returns the object corresponding to the entered ID
        required: false
        schema:
          default: null
          type:
          - integer
          - 'null'
      - name: name
        in: query
        description: Filters the list by account name.
        required: false
        schema:
          default: null
          example: hot wallet 1
          type:
          - string
          - 'null'
      - name: order
        in: query
        description: Orders the list of results
        required: false
        schema:
          default: null
          enum:
          - null
          - asc
          - desc
          example: desc
          type:
          - string
          - 'null'
      - name: order_by
        in: query
        description: criteria to order by
        required: false
        schema:
          default: null
          example: name
          type:
          - string
          - 'null'
      - name: page
        in: query
        description: Defines the page number to be fetched.
        required: false
        schema:
          default: 1
          example: 3
          minimum: 1
          type:
          - integer
          - 'null'
      - name: page_size
        in: query
        description: "Defines the number of elements displayed on a page.\n        Must be a positive number with 0 and -1 return a maximum defined in the gate"
        required: false
        schema:
          default: 20
          example: 40
          minimum: -1
          type:
          - integer
          - 'null'
      - name: parent
        in: query
        description: Filters the list of results to display accounts linked to the entered parent account.
        required: false
        schema:
          default: null
          type:
          - integer
          - 'null'
      - name: status
        in: query
        description: Returns objects that match the selected status.
        required: false
        schema:
          default: null
          enum:
          - null
          - ACTIVATION_ABORTED
          - ACTIVE
          - APPROVED
          - HSM_COIN_UPDATED
          - PENDING
          - PENDING_ACTIVATION
          - PENDING_CREATE_IN_HSM
          - PENDING_VIEW_ONLY
          - REJECTED
          - VIEW_ONLY
          type:
          - string
          - 'null'
      - name: user
        in: query
        description: Filters the list to display accounts the entered user belongs to.
        required: false
        schema:
          default: null
          type:
          - integer
          - 'null'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_APISearchAccountResults'
          description: Account search results
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Invalid search parameter
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: This search parameter doesn't exist
  /accounts/{account_id}:
    get:
      summary: Get an account by ID
      tags:
      - Accounts
      description: This method returns the account that matches the entered ID.
      parameters:
      - name: account_id
        in: path
        description: The account's ID
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
          description: Account object
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Account not found
  /accounts/{account_id}/address:
    get:
      summary: Get an address for a non UTXO based account
      tags:
      - Accounts
      description: 'Returns the address of an account in a JWT format.


        The JWT is built in the following format: `base64urlEncoding(header).base64urlEncoding(payload).base64urlEncoding(signature)`

        * header is an object containing: `{"alg": "ES256K, "typ": "JWT"}`

        * payload is an object containing: `{"address": ..., "derivation_path": ..., "blockchain_name": ...}`

        * signature is the header and payload encoded in base64 and signed with the private key of the leaf certificate.

        '
      parameters:
      - name: account_id
        in: path
        description: The account's ID
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                example: eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJhZGRyZXNzIjoiIiwiZGVyaXZhdGlvbl9wYXRoIjoiIiwiYmxvY2tjaGFpbl9uYW1lIjoiIn0.mJnLqum1TREZPPxb5BEmF3pIq6A6Z-wepwtXislPQnaAPYqYKAK40yxUgmDDNBb92OgLx0T4AcitxqudGi0Svg
                format: application/jwt
                pattern: ^([a-zA-Z0-9_=]+)\.([a-zA-Z0-9_=]+)\.([a-zA-Z0-9_\-\+\/=]+)$
                type: string
          description: 'Address data in JWT format.

            '
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: No address matches
  /accounts/{account_id}/address/{index}:
    get:
      summary: Get a change or receive address by index for an UTXO account
      tags:
      - Accounts
      description: 'Returns the receiving or change address corresponding to the specified index in a JWT format. This functionality is available for UTXO-based currencies only.


        The JWT is built in the following format: `base64urlEncoding(header).base64urlEncoding(payload).base64urlEncoding(signature)`

        * header is an object containing: `{"alg": "ES256K, "typ": "JWT"}`

        * payload is an object containing: `{"address": ..., "derivation_path": ..., "blockchain_name": ...}`

        * signature is the header and payload encoded in base64 and signed with the private key of the leaf certificate.


        Change address is not supported yet.

        '
      parameters:
      - name: account_id
        in: path
        description: The account's ID
        required: true
        schema:
          type: integer
      - name: index
        in: path
        required: true
        schema:
          type: integer
      - name: type
        in: query
        description: The type of the address.
        required: true
        schema:
          enum:
          - change
          - receive
          example: receive
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                example: eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJhZGRyZXNzIjoiIiwiZGVyaXZhdGlvbl9wYXRoIjoiIiwiYmxvY2tjaGFpbl9uYW1lIjoiIn0.mJnLqum1TREZPPxb5BEmF3pIq6A6Z-wepwtXislPQnaAPYqYKAK40yxUgmDDNBb92OgLx0T4AcitxqudGi0Svg
                format: application/jwt
                pattern: ^([a-zA-Z0-9_=]+)\.([a-zA-Z0-9_=]+)\.([a-zA-Z0-9_\-\+\/=]+)$
                type: string
          description: 'Address data in JWT format.

            '
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: No address matches
  /accounts/{account_id}/addresses:
    get:
      summary: '[DEPRECATED] Get receiving addresses of an account'
      tags:
      - Accounts
      description: Deprecated - For UTXO-based accounts. Returns a list of the next 3 available fresh addresses for an account. A fresh address is a newly generated address that has not received any previous transactions. It is recommended for privacy and security to use a fresh address for every transaction. On non UTXO-based accounts, this endpoint will return the single public address in use for the account.
      parameters:
      - name: account_id
        in: path
        description: The account's ID
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Addresses'
          description: New address generated
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Provided index invalid
  /accounts/{account_id}/addresses/{index}:
    get:
      summary: '[DEPRECATED] Get an address by index for an account'
      tags:
      - Accounts
      description: Deprecated - Returns the receiving address corresponding to the specified index. The index must already be used or be the next one available. Check the derivation path parameter number to find out how many have already been generated. This functionaltity is available for UTXO-based currencies only. On non UTXO-based accounts, this endpoint will return the single public address in use for the account.
      parameters:
      - name: account_id
        in: path
        description: The account's ID
        required: true
        schema:
          type: integer
      - name: index
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Address'
          description: Address generated
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: No address matches the provided index
  /accounts/{account_id}/balances:
    get:
      summary: Get an account's balances by ID
      tags:
      - Accounts
      description: This method returns the account's balances that matches the entered ID.
      parameters:
      - name: account_id
        in: path
        description: The account's ID
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/AccountBalances'
                - $ref: '#/components/schemas/SolanaBalances'
                - $ref: '#/components/schemas/BitcoinBalances'
          description: Account object
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Account not found
  /accounts/{account_id}/balances/history:
    get:
      summary: Get an account's balances history by ID
      tags:
      - Accounts
      description: This method returns the account's balances history that matches the entered ID.
      parameters:
      - name: account_id
        in: path
        description: The account's ID
        required: true
        schema:
          type: integer
      - name: end
        in: query
        description: End of the balance history time span.
        required: false
        schema:
          default: '2025-06-27T13:51:52.081391+00:00'
          format: date-time
          type:
          - string
          - 'null'
      - name: start
        in: query
        description: Start of the balance history time span.
        required: false
        schema:
          default: '2025-06-27T13:51:52.081380+00:00'
          format: date-time
          type:
          - string
          - 'null'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountBalancesHistory'
          description: Account object
        '501':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Not supported for this currency
  /accounts/{account_id}/currency:
    get:
      summary: Get the account's currency
      tags:
      - Accounts
      description: "This method returns the account's currency.\n\nThe currency with \"magnitude\" 0 is always the default unit, this\nwill be the unit used by `GET /transactions`.\n\nFrom this point, you can deduce all the other units.\n\nFor example, these are the units used by bitcoin accounts:\n ```\n  \"amount_units\": [\n    {\n     \"code\": \"sat\",\n     \"magnitude\": 0\n    },\n    {\n     \"code\": \"bit\",\n     \"magnitude\": 2\n    },\n    {\n     \"code\": \"mBTC\",\n     \"magnitude\": 5\n    },\n    {\n     \"code\": \"BTC\",\n     \"magnitude\": 8\n    }\n   ]\n ```\n So we know `1BTC = 100000000sat` and `1mBTC = 100bit`, and all transactions\n will be expressed in `sat`.\n"
      parameters:
      - name: account_id
        in: path
        description: The account's ID
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountCurrency'
          description: Account currency
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Account not found
  /accounts/{account_id}/history:
    get:
      summary: Get the account's history
      tags:
      - Accounts
      description: This method returns the account's history.
      parameters:
      - name: account_id
        in: path
        description: The account's ID
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIHistoryResults'
          description: Account history
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Account not found
  /accounts/{account_id}/labels:
    get:
      summary: Get an account's labels
      tags:
      - Accounts
      description: This method returns the account's labels.
      parameters:
      - name: account_id
        in: path
        description: The account's ID
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/LiteLabel'
                type: array
          description: Account object
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Account not found
  /accounts/{account_id}/nft-collections:
    get:
      summary: Retrieve an account’s NFT collections
      tags:
      - Accounts
      description: Returns the NFT collections where the account owns tokens.
      parameters:
      - name: account_id
        in: path
        description: The account's ID
        required: true
        schema:
          type: integer
      - name: page
        in: query
        description: Defines the page number to be fetched.
        required: false
        schema:
          default: 1
          example: 3
          minimum: 1
          type:
          - integer
          - 'null'
      - name: page_size
        in: query
        description: Defines the number of elements displayed on a page.
        required: false
        schema:
          default: 10
          example: 40
          minimum: -1
          type:
          - integer
          - 'null'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedNFTCollections'
          description: Paginated NFT collection
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Account not found
  /accounts/{account_id}/nft-portfolio:
    get:
      summary: Retrieve an account’s NFT porftolio
      tags:
      - Accounts
      description: Returns the NFT portfolio’s information
      parameters:
      - name: account_id
        in: path
        description: The account's ID
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NFTPortfolioValuation'
          description: Estimated total NFT value
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Account not found
  /accounts/{account_id}/nfts:
    get:
      summary: Retrieve an account’s NFTs
      tags:
      - Accounts
      description: Returns the NFTs that the account owns.
      parameters:
      - name: account_id
        in: path
        description: The account's ID
        required: true
        schema:
          type: integer
      - name: page
        in: query
        description: Defines the page number to be fetched.
        required: false
        schema:
          default: 1
          example: 3
          minimum: 1
          type:
          - integer
          - 'null'
      - name: page_size
        in: query
        description: Defines the number of elements displayed on a page.
        required: false
        schema:
          default: 10
          example: 40
          minimum: -1
          type:
          - integer
          - 'null'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedNFTs'
          description: Paginated NFT
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Account not found
  /accounts/{account_id}/sync:
    get:
      summary: Sync the account to update transactions with list status
      tags:
      - Accounts
      description: This will synchronize the account's transactions status with the one on the blockchain
      parameters:
      - name: account_id
        in: path
        description: The account's ID
        required: true
        schema:
          type: integer
      - name: synchronous
        in: query
        description: If true, the synchronization will be performed synchronously. Otherwise, it will run a a background task
        required: false
        schema:
          default: false
          example: true
          type:
          - boolean
          - 'null'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
          description: Account object
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Account not found
  /accounts/{account_id}/tokens:
    get:
      summary: Get an account's light token accounts
      tags:
      - Accounts
      description: This method returns the account's light token accounts.
      parameters:
      - name: account_id
        in: path
        description: The account's ID
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/VaultLightTokenAccount'
                type: array
          description: List of light token account description
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Account not found or feature flag desactivated
  /accounts/{parent_account_id}/erc20-children-accounts:
    get:
      summary: Get ERC-20 Child Accounts
      tags:
      - Accounts
      description: This method lists all the ERC-20 child accounts associated with a parent EVM account
      parameters:
      - name: created_after
        in: query
        description: Returns objects created after the entered date.
        required: false
        schema:
          default: null
          example: '2020-09-12T14:15:22Z'
          format: date-time
          type:
          - string
          - 'null'
      - name: created_before
        in: query
        description: Returns objects created before the entered date.
        required: false
        schema:
          default: null
          example: '2020-12-13T16:17:28Z'
          format: date-time
          type:
          - string
          - 'null'
      - name: entity
        in: query
        description: Filters for accounts that belong to the specified entity
        required: false
        explode: true
        schema:
          default: null
          items:
            type: integer
          type:
          - array
          - 'null'
        style: form
      - name: group
        in: query
        description: Lists accounts linked to the entered group.
        required: false
        schema:
          default: null
          type:
          - integer
          - 'null'
      - name: id
        in: query
        description: Returns the object corresponding to the entered ID
        required: false
        schema:
          default: null
          type:
          - integer
          - 'null'
      - name: order
        in: query
        description: Orders the list of results
        required: false
        schema:
          default: null
          enum:
          - null
          - asc
          - desc
          example: desc
          type:
          - string
          - 'null'
      - name: order_by
        in: query
        description: criteria to order by
        required: false
        schema:
          default: null
          example: name
          type:
          - string
          - 'null'
      - name: page
        in: query
        description: Defines the page number to be fetched.
        required: false
        schema:
          default: 1
          example: 3
          minimum: 1
          type:
          - integer
          - 'null'
      - name: page_size
        in: query
        description: "Defines the number of elements displayed on a page.\n        Must be a positive number with 0 and -1 return a maximum defined in the gate"
        required: false
        schema:
          default: 20
          example: 40
          minimum: -1
          type:
          - integer
          - 'null'
      - name: parent_account_id
        in: path
        description: The ID of the parent account
        required: true
        schema:
          type: integer
      - name: status
        in: query
        description: Returns objects that match the selected status.
        required: false
        schema:
          default: null
          enum:
          - null
          - ACTIVATION_ABORTED
          - ACTIVE
          - APPROVED
          - HSM_COIN_UPDATED
          - PENDING
          - PENDING_ACTIVATION
          - PENDING_CREATE_IN_HSM
          - PENDING_VIEW_ONLY
          - REJECTED
          - VIEW_ONLY
          type:
          - string
          - 'null'
      - name: user
        in: query
        description: Filters for accounts that the specified user belongs to (i.e. is part of the account’s governance rules).
        required: false
        schema:
          default: null
          type:
          - integer
          - 'null'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_APISearchAccountResults'
          description: Account search results
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Invalid search parameter
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: This search parameter doesn't exist
components:
  schemas:
    EthereumAndEvmFields:
      properties:
        staking:
          allOf:
          - $ref: '#/components/schemas/EthereumStakingInfo'
          default: null
          description: Ethereum Staking data
        type:
          default: EthereumAndEvm
      type: object
    NFTMetadata:
      properties:
        description:
          default: null
          type:
          - string
          - 'null'
        links:
          additionalProperties:
            default: null
            type:
            - string
            - 'null'
          default: null
          type:
          - object
          - 'null'
        media:
          type: string
        medias:
          $ref: '#/components/schemas/Medias'
        nftName:
          default: null
          type:
          - string
          - 'null'
        properties:
          items:
            $ref: '#/components/schemas/Property'
          type: array
        staxImage:
          default: null
          type:
          - string
          - 'null'
        tokenId:
          type: string
        tokenName:
          type: string
        tokenNameThumbnail:
          default: null
          type:
          - string
          - 'null'
      required:
      - media
      - medias
      - properties
      - tokenId
      - tokenName
      type: object
    _APISearchAccountResults:
      properties:
        edges:
          items:
            $ref: '#/components/schemas/AccountSearchResult'
          type: array
        page_info:
          $ref: '#/components/schemas/APISearchPageInfo'
      required:
      - edges
      - page_info
      type: object
    Media:
      properties:
        mediaType:
          default: null
          type:
          - string
          - 'null'
        uri:
          type: string
      required:
      - uri
      type: object
    NFTCollectionResult:
      properties:
        cursor:
          example: 0
          type: integer
        node:
          $ref: '#/components/schemas/NFTCollection'
      required:
      - cursor
      - node
      type: object
    BitcoinBalances:
      properties:
        available:
          description: Sum of balances in status available
          example: '750'
          type: string
        confirmed:
          description: Balance of confirmed UTXOs
          example: '100'
          type: string
        mempool_change:
          description: Balance of change UTXOs from transactions in mempool
          example: '100'
          type: string
        mempool_in:
          description: Balance of incoming UTXOs from transactions in mempool
          example: '200'
          type: string
        mempool_out:
          description: Balance of outgoing UTXOs from transactions in mempool
          example: '400'
          type: string
        pending:
          description: Sum of balances in status pending
          example: '250'
          type: string
        total:
          description: Total balance of the account
          example: '1000'
          type: string
        under_confirmation_change:
          description: Balance of change UTXOs from transactions with less than 6 confirmations
          example: '500'
          type: string
        under_confirmation_in:
          description: Balance of incoming UTXOs from transactions with less than 6 confirmations
          example: '700'
          type: string
        under_confirmation_out:
          description: Balance of outgoing UTXOs from transactions with less than 6 confirmations
          example: '500'
          type: string
        worthless:
          description: Balance of worthless (aka dust) UTXOs
          example: '50'
          type: string
      required:
      - available
      - confirmed
      - mempool_change
      - mempool_in
      - mempool_out
      - pending
      - total
      - under_confirmation_change
      - under_confirmation_in
      - under_confirmation_out
      - worthless
      type: object
    PaginatedNFTs:
      properties:
        edges:
          items:
            $ref: '#/components/schemas/NFTResult'
          type: array
        page_info:
          $ref: '#/components/schemas/APISearchPageInfo'
      required:
      - edges
      - page_info
      type: object
    NFTCollection:
      properties:
        account_id:
          type: integer
        contract_address:
          type: string
        image:
          allO

# --- truncated at 32 KB (64 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ledger/refs/heads/main/openapi/ledger-accounts-api-openapi.yml