Hiro Microblocks API
Read-only endpoints to obtain microblocks details
Read-only endpoints to obtain microblocks details
openapi: 3.0.3
info:
title: Signer Metrics Accounts Microblocks API
description: Welcome to the API reference overview for the Signer Metrics API.
version: 1.0.3
servers:
- url: https://api.hiro.so/
description: mainnet
- url: https://api.testnet.hiro.so/
description: testnet
tags:
- name: Microblocks
description: Read-only endpoints to obtain microblocks details
externalDocs:
description: Stacks Documentation - Microblocks
url: https://docs.stacks.co/understand-stacks/microblocks
paths:
/extended/v1/microblock/:
get:
operationId: get_microblock_list
summary: Get recent microblocks
tags:
- Microblocks
description: "Retrieves a list of microblocks.\n\n If you need to actively monitor new microblocks, we highly recommend subscribing to [WebSockets or Socket.io](https://github.com/hirosystems/stacks-blockchain-api/tree/master/client) for real-time updates."
parameters:
- schema:
minimum: 0
default: 20
maximum: 200
title: Limit
type: integer
in: query
name: limit
required: false
description: Max number of microblocks to fetch
- schema:
minimum: 0
default: 0
title: Offset
type: integer
in: query
name: offset
required: false
description: Result offset
responses:
'200':
description: GET request that returns microblocks
content:
application/json:
schema:
title: MicroblockListResponse
description: GET request that returns microblocks
type: object
properties:
limit:
type: integer
example: 20
offset:
type: integer
example: 0
total:
type: integer
example: 1
results:
type: array
items:
title: Microblock
description: A microblock
type: object
properties:
canonical:
description: Set to `true` if the microblock corresponds to the canonical chain tip.
type: boolean
microblock_canonical:
description: Set to `true` if the microblock was not orphaned in a following anchor block. Defaults to `true` if the following anchor block has not yet been created.
type: boolean
microblock_hash:
description: The SHA512/256 hash of this microblock.
type: string
microblock_sequence:
description: A hint to describe how to order a set of microblocks. Starts at 0.
type: integer
microblock_parent_hash:
description: The SHA512/256 hash of the previous signed microblock in this stream.
type: string
block_height:
description: The anchor block height that confirmed this microblock.
type: integer
parent_block_height:
description: The height of the anchor block that preceded this microblock.
type: integer
parent_block_hash:
description: The hash of the anchor block that preceded this microblock.
type: string
parent_burn_block_hash:
description: The hash of the Bitcoin block that preceded this microblock.
type: string
parent_burn_block_time:
description: The block timestamp of the Bitcoin block that preceded this microblock.
type: integer
parent_burn_block_time_iso:
description: The ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) formatted block time of the bitcoin block that preceded this microblock.
type: string
parent_burn_block_height:
description: The height of the Bitcoin block that preceded this microblock.
type: integer
block_hash:
anyOf:
- description: The hash of the anchor block that confirmed this microblock. This wil be empty for unanchored microblocks
type: string
- type: 'null'
txs:
description: List of transactions included in the microblock
type: array
items:
type: string
required:
- canonical
- microblock_canonical
- microblock_hash
- microblock_sequence
- microblock_parent_hash
- block_height
- parent_block_height
- parent_block_hash
- parent_burn_block_hash
- parent_burn_block_time
- parent_burn_block_time_iso
- parent_burn_block_height
- block_hash
- txs
required:
- limit
- offset
- total
- results
4XX:
description: Default Response
content:
application/json:
schema:
title: Error Response
additionalProperties: true
type: object
properties:
error:
type: string
message:
type: string
required:
- error
/extended/v1/microblock/{hash}:
get:
operationId: get_microblock_by_hash
summary: Get microblock
tags:
- Microblocks
description: Retrieves a specific microblock by `hash`
parameters:
- schema:
type: string
example: '0x3bfcdf84b3012adb544cf0f6df4835f93418c2269a3881885e27b3d58eb82d47'
in: path
name: hash
required: true
description: Hash of the microblock
responses:
'200':
description: A microblock
content:
application/json:
schema:
title: Microblock
description: A microblock
type: object
properties:
canonical:
description: Set to `true` if the microblock corresponds to the canonical chain tip.
type: boolean
microblock_canonical:
description: Set to `true` if the microblock was not orphaned in a following anchor block. Defaults to `true` if the following anchor block has not yet been created.
type: boolean
microblock_hash:
description: The SHA512/256 hash of this microblock.
type: string
microblock_sequence:
description: A hint to describe how to order a set of microblocks. Starts at 0.
type: integer
microblock_parent_hash:
description: The SHA512/256 hash of the previous signed microblock in this stream.
type: string
block_height:
description: The anchor block height that confirmed this microblock.
type: integer
parent_block_height:
description: The height of the anchor block that preceded this microblock.
type: integer
parent_block_hash:
description: The hash of the anchor block that preceded this microblock.
type: string
parent_burn_block_hash:
description: The hash of the Bitcoin block that preceded this microblock.
type: string
parent_burn_block_time:
description: The block timestamp of the Bitcoin block that preceded this microblock.
type: integer
parent_burn_block_time_iso:
description: The ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) formatted block time of the bitcoin block that preceded this microblock.
type: string
parent_burn_block_height:
description: The height of the Bitcoin block that preceded this microblock.
type: integer
block_hash:
anyOf:
- description: The hash of the anchor block that confirmed this microblock. This wil be empty for unanchored microblocks
type: string
- type: 'null'
txs:
description: List of transactions included in the microblock
type: array
items:
type: string
required:
- canonical
- microblock_canonical
- microblock_hash
- microblock_sequence
- microblock_parent_hash
- block_height
- parent_block_height
- parent_block_hash
- parent_burn_block_hash
- parent_burn_block_time
- parent_burn_block_time_iso
- parent_burn_block_height
- block_hash
- txs
4XX:
description: Default Response
content:
application/json:
schema:
title: Error Response
additionalProperties: true
type: object
properties:
error:
type: string
message:
type: string
required:
- error
/extended/v1/microblock/unanchored/txs:
get:
operationId: get_unanchored_txs
summary: Get the list of current transactions that belong to unanchored microblocks
tags:
- Microblocks
description: Retrieves transactions that have been streamed in microblocks but not yet accepted or rejected in an anchor block
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
total:
type: integer
results:
type: array
items:
anyOf:
- title: TokenTransferTransaction
type: object
properties:
tx_id:
description: Transaction ID
type: string
nonce:
description: Used for ordering the transactions originating from and paying from an account. The nonce ensures that a transaction is processed at most once. The nonce counts the number of times an account's owner(s) have authorized a transaction. The first transaction from an account will have a nonce value equal to 0, the second will have a nonce value equal to 1, and so on.
type: integer
fee_rate:
description: Transaction fee as Integer string (64-bit unsigned integer).
type: string
sender_address:
description: Address of the transaction initiator
type: string
sponsor_nonce:
type: integer
sponsored:
description: Denotes whether the originating account is the same as the paying account
type: boolean
sponsor_address:
type: string
post_condition_mode:
anyOf:
- type: string
enum:
- allow
- type: string
enum:
- deny
post_conditions:
type: array
items:
anyOf:
- type: object
properties:
principal:
anyOf:
- type: object
properties:
type_id:
type: string
enum:
- principal_origin
required:
- type_id
- type: object
properties:
type_id:
type: string
enum:
- principal_standard
address:
type: string
required:
- type_id
- address
- type: object
properties:
type_id:
type: string
enum:
- principal_contract
address:
type: string
contract_name:
type: string
required:
- type_id
- address
- contract_name
condition_code:
anyOf:
- type: string
enum:
- sent_equal_to
- type: string
enum:
- sent_greater_than
- type: string
enum:
- sent_greater_than_or_equal_to
- type: string
enum:
- sent_less_than
- type: string
enum:
- sent_less_than_or_equal_to
amount:
type: string
type:
type: string
enum:
- stx
required:
- principal
- condition_code
- amount
- type
- type: object
properties:
principal:
anyOf:
- type: object
properties:
type_id:
type: string
enum:
- principal_origin
required:
- type_id
- type: object
properties:
type_id:
type: string
enum:
- principal_standard
address:
type: string
required:
- type_id
- address
- type: object
properties:
type_id:
type: string
enum:
- principal_contract
address:
type: string
contract_name:
type: string
required:
- type_id
- address
- contract_name
condition_code:
anyOf:
- type: string
enum:
- sent_equal_to
- type: string
enum:
- sent_greater_than
- type: string
enum:
- sent_greater_than_or_equal_to
- type: string
enum:
- sent_less_than
- type: string
enum:
- sent_less_than_or_equal_to
amount:
type: string
type:
type: string
enum:
- fungible
asset:
type: object
properties:
asset_name:
type: string
contract_address:
type: string
contract_name:
type: string
required:
- asset_name
- contract_address
- contract_name
required:
- principal
- condition_code
- amount
- type
- asset
- type: object
properties:
principal:
anyOf:
- type: object
properties:
type_id:
type: string
enum:
- principal_origin
required:
- type_id
- type: object
properties:
type_id:
type: string
enum:
- principal_standard
address:
type: string
required:
- type_id
- address
- type: object
properties:
type_id:
type: string
enum:
- principal_contract
address:
type: string
contract_name:
type: string
required:
- type_id
- address
- contract_name
condition_code:
anyOf:
- type: string
enum:
- sent
- type: string
enum:
- not_sent
type:
type: string
enum:
- non_fungible
asset_value:
type: object
properties:
hex:
type: string
repr:
type: string
required:
- hex
- repr
asset:
type: object
properties:
asset_name:
type: string
contract_address:
type: string
contract_name:
type: string
required:
- asset_name
- contract_address
- contract_name
required:
- principal
- condition_code
- type
- asset_value
- asset
anchor_mode:
description: '`on_chain_only`: the transaction MUST be included in an anchored block, `off_chain_only`: the transaction MUST be included in a microblock, `any`: the leader can choose where to include the transaction.'
anyOf:
- type: string
enum:
- on_chain_only
- type: string
enum:
- off_chain_only
- type: string
enum:
- any
block_hash:
description: Hash of the blocked this transactions was associated with
type: string
block_height:
description: Height of the block this transactions was associated with
type: integer
block_time:
description: Unix timestamp (in seconds) indicating when this block was mined.
type: number
block_time_iso:
description: An ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) indicating when this block was mined.
type: string
burn_block_time:
description: Unix timestamp (in seconds) indicating when this block was mined.
type: integer
burn_block_height:
description: Height of the anchor burn block.
type: integer
burn_block_time_iso:
description: An ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) timestamp indicating when this block was mined.
type: string
parent_burn_block_time:
description: Unix timestamp (in seconds) indicating when this parent block was mined
type: integer
parent_burn_block_time_iso:
description: An ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) timestamp indicating when this parent block was mined.
type: string
canonical:
description: Set to `true` if block corresponds to the canonical chain tip
type: boolean
tx_index:
description: Index of the transaction, indicating the order. Starts at `0` and increases with each transaction
type: integer
tx_status:
description: Status of the transaction
anyOf:
- type: string
enum:
- success
- type: string
enum:
- abort_by_response
- type: string
enum:
- abort_by_post_condition
tx_result:
description: Result of the transaction. For contract calls, this will show the value returned by the call. For other transaction types, this will return a boolean indicating the success of the transaction.
additionalProperties: false
type: object
properties:
hex:
description: Hex string representing the value fo the transaction result
type: string
repr:
description: Readable string of the transaction result
type: string
required:
- hex
- repr
event_count:
description: Number of transaction events
type: integer
parent_block_hash:
description: Hash of the previous block.
type: string
is_unanchored:
description: True if the transaction is included in a microblock that has not been confirmed by an anchor block.
type: boolean
microblock_hash:
description: The microblock hash that this transaction was streamed in. If the transaction was batched in an anchor block (not included within a microblock) then this value will be an empty string.
type: string
microblock_sequence:
description: The microblock sequence number that this transaction was streamed in. If the transaction was batched in an anchor block (not included within a microblock) then this value will be 2147483647 (0x7fffffff, the max int32 value), this value preserves logical transaction ordering on (block_height, microblock_sequence, tx_index).
type: integer
microblock_canonical:
description: Set to `true` if microblock is anchored in the canonical chain tip, `false` if the transaction was orphaned in a micro-fork.
type: boolean
execution_cost_read_count:
description: Execution cost read count.
type: integer
execution_cost_read_length:
description: Execution cost read length.
type: integer
execution_cost_runtime:
description: Execution cost runtime.
type: integer
execution_cost_write_count:
description: Execution cost write count.
type: integer
execution_cost_write_length:
description: Execution cost write length.
type: integer
vm_error:
anyOf:
- description: Clarity VM error produced by this transaction
type: string
- type: 'null'
events:
type: array
items:
anyOf:
- title: SmartContractLogTransactionEvent
description: Only present in `smart_contract` and `contract_call` tx types.
type: object
allOf:
- title: AbstractTransactionEvent
type: object
properties:
event_index:
type: integer
required:
- event_index
- type: object
properties:
event_type:
type: string
enum:
- smart_contract_log
tx_id:
type: string
contract_log:
type: object
properties:
contract_id:
type: string
topic:
type: string
value:
type: object
properties:
# --- truncated at 32 KB (222 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hiro/refs/heads/main/openapi/hiro-microblocks-api-openapi.yml