> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gomaestro.org/llms.txt
> Use this file to discover all available pages before exploring further.

> Get UTXOs for a Bitcoin address with real-time mempool awareness including pending transactions.

# UTxOs by Address (Mempool-aware)



## OpenAPI

````yaml bitcoin/mempool-monitoring-api/openapi.json get /mempool/addresses/{address}/utxos
openapi: 3.0.3
info:
  title: Bitcoin - Mempool Monitoring API
  description: >-
    Maestro's Bitcoin Mempool Monitoring API offers core indexer endpoints with
    mempool awareness, providing real-time visibility into unconfirmed
    transactions, enabling developers to build responsive, fee-optimized, and
    mempool-aware applications without managing their own node infrastructure.


    #### Key Features:

    - **Real-Time Transaction Monitoring:** Track unconfirmed transactions
    instantly as they enter the mempool, providing immediate insights for
    enhanced user experience.

    - **Optimal Fee Estimation:** Analyze current mempool conditions to help
    users set appropriate transaction fees, ensuring timely confirmations and
    cost efficiency.

    - **Network Health Analysis:** Monitor mempool size and state to detect
    network congestion and anomalies, aiding in informed decision-making
    regarding transaction timing.

    - **Custom Transaction Selection for Miners:** Utilize mempool data to
    prioritize transactions with higher fees, maximizing profits during block
    construction.


    #### Key Benefits for Developers:

    Developers can enhance their applications and improve user experience
    through real-time blockchain insights and optimized transaction processing.
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.txt
  version: v0.1.0
servers:
  - url: https://xbt-mainnet.gomaestro-api.org/v0
    description: Bitcoin Mainnet
  - url: https://xbt-testnet.gomaestro-api.org/v0
    description: Bitcoin Testnet
security:
  - api-key: []
paths:
  /mempool/addresses/{address}/utxos:
    get:
      tags:
        - Addresses
      summary: UTxOs by Address (Mempool-aware)
      description: >-
        Retrieves all UTXOs associated with a Bitcoin address or script pubkey.
        Ideal for wallet views, dust filtering, or balance calculations. Can be
        tailored to exclude certain categories of UTXOs such as those used in
        metaprotocols.


        In addition to confirmed transactions, mempool endpoints return data
        which reflects pending transactions in some number of "estimated" blocks
        - predicted blocks containing transactions which have been propagated
        around the network but not yet included in a mined block, with
        transactions with a higher sat/vB value being prioritised. The response
        details how many of these estimated blocks were considered when fetching
        the data.
      operationId: mempool_utxos_by_address
      parameters:
        - name: address
          in: path
          description: Bitcoin address or hex encoded script pubkey
          required: true
          schema:
            type: string
          example: bc1phyrmjs2jm5c98tldke2ykp0h66lsx3wy0ey8ug2fjj5mxsn8ftqsa24un8
        - name: filter_dust
          in: query
          description: Ignore UTxOs containing less than 100000 sats
          required: false
          schema:
            type: boolean
            nullable: true
        - name: filter_dust_threshold
          in: query
          description: Ignore UTxOs containing less than specified satoshis
          required: false
          schema:
            type: integer
            format: int64
            nullable: true
            minimum: 0
        - name: exclude_metaprotocols
          in: query
          description: >-
            Exclude UTxOs involved in metaprotocols (currently only runes and
            inscriptions will be discovered, more metaprotocols may be supported
            in future)
          required: false
          schema:
            type: boolean
            nullable: true
        - name: ignore_used_brc20
          in: query
          description: >-
            When used with exclude_metaprotocols=true, still include UTXOs which
            only contain used BRC20 inscriptions
          required: false
          schema:
            type: boolean
            nullable: true
        - name: count
          in: query
          description: The max number of results per page
          required: false
          schema:
            allOf:
              - type: integer
                default: 100
                minimum: 0
            nullable: true
        - name: order
          in: query
          description: >-
            The order in which the results are sorted (by height at which UTxO
            was produced)
          required: false
          schema:
            allOf:
              - type: string
                default: asc
                enum:
                  - asc
                  - desc
            nullable: true
        - name: from
          in: query
          description: Return only UTxOs created on or after a specific height
          required: false
          schema:
            type: integer
            format: int64
            nullable: true
            minimum: 0
        - name: to
          in: query
          description: Return only UTxOs created on or before a specific height
          required: false
          schema:
            type: integer
            format: int64
            nullable: true
            minimum: 0
        - name: mempool_blocks_limit
          in: query
          description: >-
            Limit the number of estimated mempool blocks to be reflected in the
            data (default: as many as available)
          required: false
          schema:
            type: integer
            format: int32
            nullable: true
            minimum: 0
        - name: cursor
          in: query
          description: >-
            Pagination cursor string, use the cursor included in a page of
            results to fetch the next page
          required: false
          schema:
            type: string
            nullable: true
      responses:
        '200':
          description: Requested data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MempoolPaginatedUtxo'
              example:
                data:
                  - address: >-
                      bc1pkh05juaxqc3d388klrjq8msszzzfr33nnn5kt2na00jja3mue89q5wxvew
                    height: 867154
                    inscriptions: []
                    mempool: false
                    runes:
                      - amount: '2000'
                        rune_id: '867138:1861'
                    satoshis: '546'
                    script_pubkey: >-
                      5120b5df4973a60622d89cf6f8e403ee10108491c6339ce965aa7d7be52ec77cc9ca
                    txid: >-
                      e60e70271cce70df4cc1f9d0217d7cc9cbced26f0526c6ba946945cd155b49e4
                    vout: 0
                  - address: >-
                      bc1pkh05juaxqc3d388klrjq8msszzzfr33nnn5kt2na00jja3mue89q5wxvew
                    height: 867155
                    inscriptions:
                      - inscription_id: >-
                          47bb5438d366863b25b4b1782af0d0cf0a89a922adce5da81253790d3e651501i0
                        offset: 0
                    mempool: true
                    runes:
                      - amount: '44000'
                        rune_id: '867138:1861'
                    satoshis: '546'
                    script_pubkey: >-
                      5120b5df4973a60622d89cf6f8e403ee10108491c6339ce965aa7d7be52ec77cc9ca
                    txid: >-
                      9f00f52bc6e9d95797e5597ea50427258ba873df059b13a319f0868ca9da1265
                    vout: 0
                indexer_info:
                  chain_tip:
                    block_hash: >-
                      00000000000000000002da06787fe86324e1cc1421861d899b7bd1e340aa1930
                    block_height: 867154
                  estimated_blocks:
                    - block_height: 867155
                      sats_per_vb:
                        max: 16
                        median: 14
                        min: 12
                  mempool_timestamp: '2025-01-06 16:43:32'
                next_cursor: null
        '400':
          description: Malformed query parameters
        '404':
          description: Requested entity not found on-chain
        '500':
          description: Internal server error
components:
  schemas:
    MempoolPaginatedUtxo:
      type: object
      required:
        - data
        - indexer_info
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/MempoolUtxo'
        indexer_info:
          $ref: '#/components/schemas/MempoolLastUpdated'
        next_cursor:
          type: string
          nullable: true
    MempoolUtxo:
      type: object
      required:
        - txid
        - vout
        - script_pubkey
        - satoshis
        - height
        - mempool
        - runes
        - inscriptions
      properties:
        address:
          type: string
          nullable: true
        height:
          type: integer
          format: int64
          minimum: 0
        inscriptions:
          type: array
          items:
            $ref: '#/components/schemas/InscriptionAndOffset'
        mempool:
          type: boolean
        runes:
          type: array
          items:
            $ref: '#/components/schemas/RuneAndAmount'
        satoshis:
          type: string
        script_pubkey:
          type: string
        txid:
          type: string
        vout:
          type: integer
          format: int32
          minimum: 0
    MempoolLastUpdated:
      type: object
      required:
        - chain_tip
        - estimated_blocks
      properties:
        chain_tip:
          $ref: '#/components/schemas/ChainTip'
        estimated_blocks:
          type: array
          items:
            $ref: '#/components/schemas/EstimatedBlock'
          description: >-
            Information about any estimated blocks from the mempool that were
            indexed in addition to the mainchain
        mempool_timestamp:
          type: string
          description: >-
            Timestamp of the indexed mempool snapshot, if any estimated blocks
            from the mempool have been indexed
          nullable: true
    InscriptionAndOffset:
      type: object
      required:
        - offset
        - inscription_id
      properties:
        inscription_id:
          type: string
        offset:
          type: integer
          format: int64
          minimum: 0
    RuneAndAmount:
      type: object
      required:
        - rune_id
        - amount
      properties:
        amount:
          type: string
        rune_id:
          type: string
    ChainTip:
      type: object
      required:
        - block_hash
        - block_height
      properties:
        block_hash:
          type: string
          description: The hash of the block
          example: 0000000000000000000a7f3b7b6b6e1d9a18db65a3b4a3f4f3bcb2e1f1b2d3e7
        block_height:
          type: integer
          format: int64
          description: The height of the block in the blockchain
          example: 707000
          minimum: 0
    EstimatedBlock:
      type: object
      required:
        - block_height
        - sats_per_vb
      properties:
        block_height:
          type: integer
          format: int64
          description: Height of the estimated block
          example: '707001'
          minimum: 0
        sats_per_vb:
          $ref: '#/components/schemas/BlockSatsPerVb'
    BlockSatsPerVb:
      type: object
      description: >-
        For transactions within a block, these are the lowest, median and
        highest

        satoshis per virtual-byte values.
      required:
        - min
        - median
        - max
      properties:
        max:
          type: integer
          format: int64
          description: Highest sat/vB value of the transactions within the block
          example: 255
          minimum: 0
        median:
          type: integer
          format: int64
          description: Median sat/vB value of the transactions within the block
          example: 15
          minimum: 0
        min:
          type: integer
          format: int64
          description: Lowest sat/vB value of the transactions within the block
          example: 11
          minimum: 0
  securitySchemes:
    api-key:
      type: apiKey
      in: header
      name: api-key
      description: Project API Key

````