Hiro · Capability

Stacks Blockchain API — Accounts

Stacks Blockchain API — Accounts. 11 operations. Lead operation: Get account assets. Self-contained Naftiko capability covering one Hiro business surface.

Run with Naftiko HiroAccounts

What You Can Do

GET
Getaccountassets — Get account assets
/v1/extended/v1/address/{principal}/assets
GET
Getaccountbalance — Get account balances
/v1/extended/v1/address/{principal}/balances
GET
Getaccountnonces — Get the latest nonce used by an account
/v1/extended/v1/address/{principal}/nonces
GET
Getaccountstxbalance — Get account STX balance
/v1/extended/v1/address/{principal}/stx
GET
Getaccountinbound — Get inbound STX transfers
/v1/extended/v1/address/{principal}/stx-inbound
GET
Getaccounttransactions — Get account transactions
/v1/extended/v1/address/{principal}/transactions
GET
Getaccounttransactionswithtransfers — Get account transactions including STX transfers for each transaction.
/v1/extended/v1/address/{principal}/transactions-with-transfers
GET
Getsingletransactionwithtransfers — Get account transaction information for specific transaction
/v1/extended/v1/address/{principal}/{tx-id}/with-transfers
GET
Getprincipalftbalances — Get principal FT balances
/v1/extended/v2/addresses/{principal}/balances/ft
GET
Getprincipalftbalance — Get principal FT balance
/v1/extended/v2/addresses/{principal}/balances/ft/{token}
GET
Getprincipalstxbalance — Get principal STX balance
/v1/extended/v2/addresses/{principal}/balances/stx

MCP Tools

get-account-assets

Get account assets

read-only idempotent
get-account-balances

Get account balances

read-only idempotent
get-latest-nonce-used-account

Get the latest nonce used by an account

read-only idempotent
get-account-stx-balance

Get account STX balance

read-only idempotent
get-inbound-stx-transfers

Get inbound STX transfers

read-only idempotent
get-account-transactions

Get account transactions

read-only idempotent
get-account-transactions-including-stx

Get account transactions including STX transfers for each transaction.

read-only idempotent
get-account-transaction-information-specific

Get account transaction information for specific transaction

read-only idempotent
get-principal-ft-balances

Get principal FT balances

read-only idempotent
get-principal-ft-balance

Get principal FT balance

read-only idempotent
get-principal-stx-balance

Get principal STX balance

read-only idempotent

Capability Spec

stacks-blockchain-accounts.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Stacks Blockchain API — Accounts
  description: 'Stacks Blockchain API — Accounts. 11 operations. Lead operation: Get account assets. Self-contained Naftiko
    capability covering one Hiro business surface.'
  tags:
  - Hiro
  - Accounts
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    HIRO_API_KEY: HIRO_API_KEY
capability:
  consumes:
  - type: http
    namespace: stacks-blockchain-accounts
    baseUri: https://api.hiro.so
    description: Stacks Blockchain API — Accounts business capability. Self-contained, no shared references.
    resources:
    - name: extended-v1-address-principal-assets
      path: /extended/v1/address/{principal}/assets
      operations:
      - name: getaccountassets
        method: GET
        description: Get account assets
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: integer
          description: Results per page
        - name: offset
          in: query
          type: integer
          description: Result offset
        - name: unanchored
          in: query
          type: boolean
          description: Include data from unanchored (i.e. unconfirmed) microblocks
        - name: until_block
          in: query
          type: string
          description: Block hash or block height. Return data representing the state up until that point in time, rather
            than the current block. Note - Use either of the query parame
        - name: principal
          in: path
          type: string
          required: true
    - name: extended-v1-address-principal-balances
      path: /extended/v1/address/{principal}/balances
      operations:
      - name: getaccountbalance
        method: GET
        description: Get account balances
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: unanchored
          in: query
          type: boolean
          description: Include data from unanchored (i.e. unconfirmed) microblocks
        - name: until_block
          in: query
          type: string
          description: Block hash or block height. Return data representing the state up until that point in time, rather
            than the current block. Note - Use either of the query parame
        - name: principal
          in: path
          type: string
          required: true
    - name: extended-v1-address-principal-nonces
      path: /extended/v1/address/{principal}/nonces
      operations:
      - name: getaccountnonces
        method: GET
        description: Get the latest nonce used by an account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: block_height
          in: query
          type: integer
          description: Optionally get the nonce at a given block height.
        - name: block_hash
          in: query
          type: string
          description: Optionally get the nonce at a given block hash. Note - Use either of the query parameters but not both
            at a time.
        - name: principal
          in: path
          type: string
          required: true
    - name: extended-v1-address-principal-stx
      path: /extended/v1/address/{principal}/stx
      operations:
      - name: getaccountstxbalance
        method: GET
        description: Get account STX balance
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: unanchored
          in: query
          type: boolean
          description: Include data from unanchored (i.e. unconfirmed) microblocks
        - name: until_block
          in: query
          type: string
          description: Block hash or block height. Return data representing the state up until that point in time, rather
            than the current block. Note - Use either of the query parame
        - name: principal
          in: path
          type: string
          required: true
    - name: extended-v1-address-principal-stx_inbound
      path: /extended/v1/address/{principal}/stx_inbound
      operations:
      - name: getaccountinbound
        method: GET
        description: Get inbound STX transfers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: integer
          description: Results per page
        - name: offset
          in: query
          type: integer
          description: Result offset
        - name: height
          in: query
          type: integer
          description: Filter for transactions only at this given block height
        - name: unanchored
          in: query
          type: boolean
          description: Include data from unanchored (i.e. unconfirmed) microblocks
        - name: until_block
          in: query
          type: string
          description: Block hash or block height. Return data representing the state up until that point in time, rather
            than the current block. Note - Use either of the query parame
        - name: principal
          in: path
          type: string
          required: true
    - name: extended-v1-address-principal-transactions
      path: /extended/v1/address/{principal}/transactions
      operations:
      - name: getaccounttransactions
        method: GET
        description: Get account transactions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: integer
          description: Results per page
        - name: offset
          in: query
          type: integer
          description: Result offset
        - name: height
          in: query
          type: integer
          description: Filter for transactions only at this given block height
        - name: unanchored
          in: query
          type: boolean
          description: Include data from unanchored (i.e. unconfirmed) microblocks
        - name: until_block
          in: query
          type: string
          description: Block hash or block height. Return data representing the state up until that point in time, rather
            than the current block. Note - Use either of the query parame
        - name: exclude_function_args
          in: query
          type: boolean
          description: Exclude function_args from contract call responses for smaller transaction sizes.
        - name: principal
          in: path
          type: string
          required: true
    - name: extended-v1-address-principal-transactions_with_transfers
      path: /extended/v1/address/{principal}/transactions_with_transfers
      operations:
      - name: getaccounttransactionswithtransfers
        method: GET
        description: Get account transactions including STX transfers for each transaction.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: integer
          description: Results per page
        - name: offset
          in: query
          type: integer
          description: Result offset
        - name: height
          in: query
          type: integer
          description: Filter for transactions only at this given block height
        - name: unanchored
          in: query
          type: boolean
          description: Include data from unanchored (i.e. unconfirmed) microblocks
        - name: until_block
          in: query
          type: string
          description: Block hash or block height. Return data representing the state up until that point in time, rather
            than the current block. Note - Use either of the query parame
        - name: principal
          in: path
          type: string
          required: true
    - name: extended-v1-address-principal-tx_id-with_transfers
      path: /extended/v1/address/{principal}/{tx_id}/with_transfers
      operations:
      - name: getsingletransactionwithtransfers
        method: GET
        description: Get account transaction information for specific transaction
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: principal
          in: path
          type: string
          required: true
        - name: tx_id
          in: path
          type: string
          description: Transaction ID
          required: true
    - name: extended-v2-addresses-principal-balances-ft
      path: /extended/v2/addresses/{principal}/balances/ft
      operations:
      - name: getprincipalftbalances
        method: GET
        description: Get principal FT balances
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: integer
          description: Results per page
        - name: offset
          in: query
          type: integer
          description: Result offset
        - name: principal
          in: path
          type: string
          required: true
    - name: extended-v2-addresses-principal-balances-ft-token
      path: /extended/v2/addresses/{principal}/balances/ft/{token}
      operations:
      - name: getprincipalftbalance
        method: GET
        description: Get principal FT balance
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: principal
          in: path
          type: string
          required: true
        - name: token
          in: path
          type: string
          description: fungible token identifier, e.g. `SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.sbtc-token::sbtc-token`
          required: true
    - name: extended-v2-addresses-principal-balances-stx
      path: /extended/v2/addresses/{principal}/balances/stx
      operations:
      - name: getprincipalstxbalance
        method: GET
        description: Get principal STX balance
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: include_mempool
          in: query
          type: boolean
          description: Include pending mempool transactions in the balance calculation
        - name: principal
          in: path
          type: string
          required: true
  exposes:
  - type: rest
    namespace: stacks-blockchain-accounts-rest
    port: 8080
    description: REST adapter for Stacks Blockchain API — Accounts. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/extended/v1/address/{principal}/assets
      name: extended-v1-address-principal-assets
      description: REST surface for extended-v1-address-principal-assets.
      operations:
      - method: GET
        name: getaccountassets
        description: Get account assets
        call: stacks-blockchain-accounts.getaccountassets
        with:
          limit: rest.limit
          offset: rest.offset
          unanchored: rest.unanchored
          until_block: rest.until_block
          principal: rest.principal
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/extended/v1/address/{principal}/balances
      name: extended-v1-address-principal-balances
      description: REST surface for extended-v1-address-principal-balances.
      operations:
      - method: GET
        name: getaccountbalance
        description: Get account balances
        call: stacks-blockchain-accounts.getaccountbalance
        with:
          unanchored: rest.unanchored
          until_block: rest.until_block
          principal: rest.principal
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/extended/v1/address/{principal}/nonces
      name: extended-v1-address-principal-nonces
      description: REST surface for extended-v1-address-principal-nonces.
      operations:
      - method: GET
        name: getaccountnonces
        description: Get the latest nonce used by an account
        call: stacks-blockchain-accounts.getaccountnonces
        with:
          block_height: rest.block_height
          block_hash: rest.block_hash
          principal: rest.principal
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/extended/v1/address/{principal}/stx
      name: extended-v1-address-principal-stx
      description: REST surface for extended-v1-address-principal-stx.
      operations:
      - method: GET
        name: getaccountstxbalance
        description: Get account STX balance
        call: stacks-blockchain-accounts.getaccountstxbalance
        with:
          unanchored: rest.unanchored
          until_block: rest.until_block
          principal: rest.principal
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/extended/v1/address/{principal}/stx-inbound
      name: extended-v1-address-principal-stx-inbound
      description: REST surface for extended-v1-address-principal-stx_inbound.
      operations:
      - method: GET
        name: getaccountinbound
        description: Get inbound STX transfers
        call: stacks-blockchain-accounts.getaccountinbound
        with:
          limit: rest.limit
          offset: rest.offset
          height: rest.height
          unanchored: rest.unanchored
          until_block: rest.until_block
          principal: rest.principal
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/extended/v1/address/{principal}/transactions
      name: extended-v1-address-principal-transactions
      description: REST surface for extended-v1-address-principal-transactions.
      operations:
      - method: GET
        name: getaccounttransactions
        description: Get account transactions
        call: stacks-blockchain-accounts.getaccounttransactions
        with:
          limit: rest.limit
          offset: rest.offset
          height: rest.height
          unanchored: rest.unanchored
          until_block: rest.until_block
          exclude_function_args: rest.exclude_function_args
          principal: rest.principal
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/extended/v1/address/{principal}/transactions-with-transfers
      name: extended-v1-address-principal-transactions-with-transfers
      description: REST surface for extended-v1-address-principal-transactions_with_transfers.
      operations:
      - method: GET
        name: getaccounttransactionswithtransfers
        description: Get account transactions including STX transfers for each transaction.
        call: stacks-blockchain-accounts.getaccounttransactionswithtransfers
        with:
          limit: rest.limit
          offset: rest.offset
          height: rest.height
          unanchored: rest.unanchored
          until_block: rest.until_block
          principal: rest.principal
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/extended/v1/address/{principal}/{tx-id}/with-transfers
      name: extended-v1-address-principal-tx-id-with-transfers
      description: REST surface for extended-v1-address-principal-tx_id-with_transfers.
      operations:
      - method: GET
        name: getsingletransactionwithtransfers
        description: Get account transaction information for specific transaction
        call: stacks-blockchain-accounts.getsingletransactionwithtransfers
        with:
          principal: rest.principal
          tx_id: rest.tx_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/extended/v2/addresses/{principal}/balances/ft
      name: extended-v2-addresses-principal-balances-ft
      description: REST surface for extended-v2-addresses-principal-balances-ft.
      operations:
      - method: GET
        name: getprincipalftbalances
        description: Get principal FT balances
        call: stacks-blockchain-accounts.getprincipalftbalances
        with:
          limit: rest.limit
          offset: rest.offset
          principal: rest.principal
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/extended/v2/addresses/{principal}/balances/ft/{token}
      name: extended-v2-addresses-principal-balances-ft-token
      description: REST surface for extended-v2-addresses-principal-balances-ft-token.
      operations:
      - method: GET
        name: getprincipalftbalance
        description: Get principal FT balance
        call: stacks-blockchain-accounts.getprincipalftbalance
        with:
          principal: rest.principal
          token: rest.token
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/extended/v2/addresses/{principal}/balances/stx
      name: extended-v2-addresses-principal-balances-stx
      description: REST surface for extended-v2-addresses-principal-balances-stx.
      operations:
      - method: GET
        name: getprincipalstxbalance
        description: Get principal STX balance
        call: stacks-blockchain-accounts.getprincipalstxbalance
        with:
          include_mempool: rest.include_mempool
          principal: rest.principal
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: stacks-blockchain-accounts-mcp
    port: 9090
    transport: http
    description: MCP adapter for Stacks Blockchain API — Accounts. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: get-account-assets
      description: Get account assets
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stacks-blockchain-accounts.getaccountassets
      with:
        limit: tools.limit
        offset: tools.offset
        unanchored: tools.unanchored
        until_block: tools.until_block
        principal: tools.principal
      outputParameters:
      - type: object
        mapping: $.
    - name: get-account-balances
      description: Get account balances
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stacks-blockchain-accounts.getaccountbalance
      with:
        unanchored: tools.unanchored
        until_block: tools.until_block
        principal: tools.principal
      outputParameters:
      - type: object
        mapping: $.
    - name: get-latest-nonce-used-account
      description: Get the latest nonce used by an account
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stacks-blockchain-accounts.getaccountnonces
      with:
        block_height: tools.block_height
        block_hash: tools.block_hash
        principal: tools.principal
      outputParameters:
      - type: object
        mapping: $.
    - name: get-account-stx-balance
      description: Get account STX balance
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stacks-blockchain-accounts.getaccountstxbalance
      with:
        unanchored: tools.unanchored
        until_block: tools.until_block
        principal: tools.principal
      outputParameters:
      - type: object
        mapping: $.
    - name: get-inbound-stx-transfers
      description: Get inbound STX transfers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stacks-blockchain-accounts.getaccountinbound
      with:
        limit: tools.limit
        offset: tools.offset
        height: tools.height
        unanchored: tools.unanchored
        until_block: tools.until_block
        principal: tools.principal
      outputParameters:
      - type: object
        mapping: $.
    - name: get-account-transactions
      description: Get account transactions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stacks-blockchain-accounts.getaccounttransactions
      with:
        limit: tools.limit
        offset: tools.offset
        height: tools.height
        unanchored: tools.unanchored
        until_block: tools.until_block
        exclude_function_args: tools.exclude_function_args
        principal: tools.principal
      outputParameters:
      - type: object
        mapping: $.
    - name: get-account-transactions-including-stx
      description: Get account transactions including STX transfers for each transaction.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stacks-blockchain-accounts.getaccounttransactionswithtransfers
      with:
        limit: tools.limit
        offset: tools.offset
        height: tools.height
        unanchored: tools.unanchored
        until_block: tools.until_block
        principal: tools.principal
      outputParameters:
      - type: object
        mapping: $.
    - name: get-account-transaction-information-specific
      description: Get account transaction information for specific transaction
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stacks-blockchain-accounts.getsingletransactionwithtransfers
      with:
        principal: tools.principal
        tx_id: tools.tx_id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-principal-ft-balances
      description: Get principal FT balances
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stacks-blockchain-accounts.getprincipalftbalances
      with:
        limit: tools.limit
        offset: tools.offset
        principal: tools.principal
      outputParameters:
      - type: object
        mapping: $.
    - name: get-principal-ft-balance
      description: Get principal FT balance
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stacks-blockchain-accounts.getprincipalftbalance
      with:
        principal: tools.principal
        token: tools.token
      outputParameters:
      - type: object
        mapping: $.
    - name: get-principal-stx-balance
      description: Get principal STX balance
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stacks-blockchain-accounts.getprincipalstxbalance
      with:
        include_mempool: tools.include_mempool
        principal: tools.principal
      outputParameters:
      - type: object
        mapping: $.