> ## 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 Bitcoin transaction information with metaprotocol data including Runes and inscriptions, mempool-aware.

# Transaction Info with Metaprotocols (Mempool-aware)



## OpenAPI

````yaml bitcoin/mempool-monitoring-api/openapi.json get /mempool/transactions/{tx_hash}/metaprotocols
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/transactions/{tx_hash}/metaprotocols:
    get:
      tags:
        - Transactions
      summary: Transaction Info with Metaprotocols (Mempool-aware)
      description: >-
        Returns an enhanced view of the transaction, including info about
        metaprotocols in both inputs and outputs. Useful for deep inspection
        tools.


        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: tx_info_with_metaprotocols
      parameters:
        - name: tx_hash
          in: path
          description: Transaction hash
          required: true
          schema:
            type: string
          example: 1b07f02356aed6ddca37db8226c6292f2953d55ea741d7f58d44427976e7d4ee
      responses:
        '200':
          description: Requested data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MempoolTimestampedTxInfoMetaprotocols'
              example:
                data:
                  fees: '508'
                  height: 900962
                  inputs:
                    - address: >-
                        bc1qyvtvxfyz60mmudgsmtxxpf22jl040ejmpj5mqnwv9lwr30jzmygqhr9tv8
                      inscriptions: []
                      runes: []
                      satoshis: '3666696'
                      script_pubkey: >-
                        00202316c32482d3f7be3510dacc60a54a97df57e65b0ca9b04dcc2fdc38be42d910
                      txid: >-
                        ed6273c6ff9259ec6a68dff0b21ddc4499e2e6d9837981f8c5089ac4935f6cf5
                      vout: 0
                    - address: >-
                        bc1pn2w92qyh7mwpf9rzmnvjnc0whswft243n0ntj50lurpnsjwwfy9sjur75v
                      inscriptions: []
                      runes: []
                      satoshis: '600'
                      script_pubkey: >-
                        51209a9c550097f6dc149462dcd929e1eebc1c95aab19be6b951ffe0c33849ce490b
                      txid: >-
                        a115a1818805fa06a80eaa57287c0c3f57d5993c1f0d3f771523b4d11711d31f
                      vout: 1
                  metaprotocols:
                    - runes
                  outputs:
                    - address: null
                      inscriptions: []
                      runes: []
                      satoshis: '0'
                      script_pubkey: 6a5d0b00c0a23303ffbedbb50201
                      spending_tx: null
                    - address: >-
                        bc1pdruptufwh9awfepzq506kh03392lk074n4a5cy3v8zu0ma0sjvtqhwdu85
                      inscriptions: []
                      runes: []
                      satoshis: '546'
                      script_pubkey: >-
                        512068f815f12eb97ae4e422051fab5df18955fb3fd59d7b4c122c38b8fdf5f09316
                      spending_tx: null
                    - address: >-
                        bc1qyvtvxfyz60mmudgsmtxxpf22jl040ejmpj5mqnwv9lwr30jzmygqhr9tv8
                      inscriptions: []
                      runes: []
                      satoshis: '3641305'
                      script_pubkey: >-
                        00202316c32482d3f7be3510dacc60a54a97df57e65b0ca9b04dcc2fdc38be42d910
                      spending_tx: null
                    - address: bc1qp8j9sx6609h7llqufurxjgrwsqwt020tqzn0gs
                      inscriptions: []
                      runes: []
                      satoshis: '580'
                      script_pubkey: 001409e4581b5a796feffc1c4f0669206e801cb7a9eb
                      spending_tx: null
                    - address: bc1qqx7h6wrl52hxwqnp8v8k072ahnr3sq8huzynww
                      inscriptions: []
                      runes: []
                      satoshis: '24357'
                      script_pubkey: 001401bd7d387fa2ae6702613b0f67f95dbcc71800f7
                      spending_tx: null
                  sats_per_vb: 2
                  volume: '3666788'
                indexer_info:
                  chain_tip:
                    block_hash: >-
                      0000000000000000000148c7dbf4f8721db8912485cc6860e5b22f9b62e09870
                    block_height: 900961
                  estimated_blocks:
                    - block_height: 900962
                      sats_per_vb:
                        max: 101
                        median: 4
                        min: 2
                  mempool_timestamp: '2025-06-12 17:27:29'
        '400':
          description: Malformed query parameters
        '404':
          description: Requested entity not found on-chain
        '500':
          description: Internal server error
components:
  schemas:
    MempoolTimestampedTxInfoMetaprotocols:
      type: object
      required:
        - data
        - indexer_info
      properties:
        data:
          $ref: '#/components/schemas/MempoolTxInfoMetaprotocols'
        indexer_info:
          $ref: '#/components/schemas/MempoolLastUpdated'
    MempoolTxInfoMetaprotocols:
      type: object
      required:
        - height
        - volume
        - fees
        - sats_per_vb
        - metaprotocols
        - inputs
        - outputs
      properties:
        fees:
          type: string
          description: Fees paid to the miner.
          example: '2504'
        height:
          type: integer
          format: int64
          description: Block height.
          example: 875075
          minimum: 0
        inputs:
          type: array
          items:
            $ref: '#/components/schemas/TxInMetaprotocols'
          description: List of inputs, in the same order as the transaction.
        metaprotocols:
          type: array
          items:
            $ref: '#/components/schemas/Metaprotocol'
          description: Whether any of the transactions in the block involved metaprotocols.
        outputs:
          type: array
          items:
            $ref: '#/components/schemas/TxOutMetaprotocols'
          description: List of outputs, in the same order as the transaction.
        sats_per_vb:
          type: integer
          format: int64
          description: sats per vB of the transaction.
          example: 15
          minimum: 0
        volume:
          type: string
          description: >-
            Total number of satoshis that went through this transaction, minus
            fees.
          example: '12345678'
    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
    TxInMetaprotocols:
      type: object
      required:
        - txid
        - vout
        - script_pubkey
        - satoshis
        - inscriptions
        - runes
      properties:
        address:
          type: string
          description: Address-encoding of the script pubkey at which the input resides.
          example: bc1p5u4y8vdhn46adxhfv5scfv4c8myykw6r5uyzlavm42k4wgjewktq7xqcyr
          nullable: true
        inscriptions:
          type: array
          items:
            $ref: '#/components/schemas/InscriptionAndOffset'
          description: List of inscription IDs and their offsets in this input.
        runes:
          type: array
          items:
            $ref: '#/components/schemas/RuneAndAmount'
          description: List of rune IDs and their amount in this input.
        satoshis:
          type: string
          description: Total number of satoshis in the UTxO.
          example: '1234567'
        script_pubkey:
          type: string
          description: Script pubkey at which the input resides.
          example: 5120a72a43b1b79d75d69ae9652184b2b83ec84b3b43a7082ff59baaad5722597596
        txid:
          type: string
          description: Transaction hash of the UTxO.
          example: 2ca28d42583fc5bace84fe024d3697969e06dd1cf769a2141286825b81773fd5
        vout:
          type: integer
          format: int32
          description: Output index of the UTxO.
          example: 0
          minimum: 0
    Metaprotocol:
      type: string
      enum:
        - inscriptions
        - runes
        - brc20
    TxOutMetaprotocols:
      type: object
      required:
        - script_pubkey
        - satoshis
        - inscriptions
        - runes
      properties:
        address:
          type: string
          description: >-
            Address-encoding of the script pubkey at which the output containing
            the inscription resides.
          example: bc1ppth27qnr74qhusy9pmcyeaelgvsfky6qzquv9nf56gqmte59vfhqwkqguh
          nullable: true
        inscriptions:
          type: array
          items:
            $ref: '#/components/schemas/InscriptionAndOffset'
          description: List of inscription IDs and their offsets in this input.
        runes:
          type: array
          items:
            $ref: '#/components/schemas/RuneAndAmount'
          description: List of rune IDs and their amount in this input.
        satoshis:
          type: string
          description: Total number of satoshis in the UTxO.
          example: '1234567'
        script_pubkey:
          type: string
          description: >-
            Script pubkey at which the output containing the inscription
            resides.
          example: 51200aeeaf0263f5417e40850ef04cf73f43209b13401038c2cd34d201b5e685626e
        spending_tx:
          type: string
          description: >-
            If this output is known to have been spent, hash of the transaction
            that spent it.
          example: 2ca28d42583fc5bace84fe024d3697969e06dd1cf769a2141286825b81773fd5
          nullable: true
    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'
    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
    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

````