Hiro · Capability
Stacks Blockchain API — Names
Stacks Blockchain API — Names. 10 operations. Lead operation: Get Names Owned by Address. Self-contained Naftiko capability covering one Hiro business surface.
What You Can Do
GET
Getnamesownedbyaddress
— Get Names Owned by Address
/v1/v1/addresses/{blockchain}/{address}
GET
Getallnames
— Get All Names
/v1/v1/names
GET
Getnameinfo
— Get Name Details
/v1/v1/names/{name}
GET
Fetchsubdomainslistforname
— Get Name Subdomains
/v1/v1/names/{name}/subdomains
GET
Fetchzonefile
— Get Zone File
/v1/v1/names/{name}/zonefile
GET
Gethistoricalzonefile
— Get Historical Zone File
/v1/v1/names/{name}/zonefile/{zonefilehash}
GET
Getallnamespaces
— Get All Namespaces
/v1/v1/namespaces
GET
Getnamespacenames
— Get Namespace Names
/v1/v1/namespaces/{tld}/names
GET
Getnameprice
— Get Name Price
/v1/v2/prices/names/{name}
GET
Getnamespaceprice
— Get Namespace Price
/v1/v2/prices/namespaces/{tld}
MCP Tools
get-names-owned-address
Get Names Owned by Address
read-only
idempotent
get-all-names
Get All Names
read-only
idempotent
get-name-details
Get Name Details
read-only
idempotent
get-name-subdomains
Get Name Subdomains
read-only
idempotent
get-zone-file
Get Zone File
read-only
idempotent
get-historical-zone-file
Get Historical Zone File
read-only
idempotent
get-all-namespaces
Get All Namespaces
read-only
idempotent
get-namespace-names
Get Namespace Names
read-only
idempotent
get-name-price
Get Name Price
read-only
idempotent
get-namespace-price
Get Namespace Price
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Stacks Blockchain API — Names
description: 'Stacks Blockchain API — Names. 10 operations. Lead operation: Get Names Owned by Address. Self-contained Naftiko
capability covering one Hiro business surface.'
tags:
- Hiro
- Names
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-names
baseUri: https://api.hiro.so
description: Stacks Blockchain API — Names business capability. Self-contained, no shared references.
resources:
- name: v1-addresses-blockchain-address
path: /v1/addresses/{blockchain}/{address}
operations:
- name: getnamesownedbyaddress
method: GET
description: Get Names Owned by Address
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: blockchain
in: path
type: string
description: the layer-1 blockchain for the address
required: true
- name: address
in: path
type: string
description: the address to lookup
required: true
- name: v1-names
path: /v1/names/
operations:
- name: getallnames
method: GET
description: Get All Names
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: page
in: query
type: integer
description: names are defaulted to page 1 with 100 results. You can query specific page results by using the 'page'
query parameter.
- name: v1-names-name
path: /v1/names/{name}
operations:
- name: getnameinfo
method: GET
description: Get Name Details
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: name
in: path
type: string
description: fully-qualified name
required: true
- name: v1-names-name-subdomains
path: /v1/names/{name}/subdomains
operations:
- name: fetchsubdomainslistforname
method: GET
description: Get Name Subdomains
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: name
in: path
type: string
description: fully-qualified name
required: true
- name: v1-names-name-zonefile
path: /v1/names/{name}/zonefile
operations:
- name: fetchzonefile
method: GET
description: Get Zone File
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: name
in: path
type: string
description: fully-qualified name
required: true
- name: v1-names-name-zonefile-zoneFileHash
path: /v1/names/{name}/zonefile/{zoneFileHash}
operations:
- name: gethistoricalzonefile
method: GET
description: Get Historical Zone File
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: name
in: path
type: string
description: fully-qualified name
required: true
- name: zoneFileHash
in: path
type: string
description: zone file hash
required: true
- name: v1-namespaces
path: /v1/namespaces/
operations:
- name: getallnamespaces
method: GET
description: Get All Namespaces
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: v1-namespaces-tld-names
path: /v1/namespaces/{tld}/names
operations:
- name: getnamespacenames
method: GET
description: Get Namespace Names
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: page
in: query
type: number
description: namespace values are defaulted to page 1 with 100 results. You can query specific page results by using
the 'page' query parameter.
- name: unanchored
in: query
type: boolean
description: Include data from unanchored (i.e. unconfirmed) microblocks
- name: tld
in: path
type: string
description: the namespace to fetch names from.
required: true
- name: v2-prices-names-name
path: /v2/prices/names/{name}
operations:
- name: getnameprice
method: GET
description: Get Name Price
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: the name to query price information for
required: true
- name: v2-prices-namespaces-tld
path: /v2/prices/namespaces/{tld}
operations:
- name: getnamespaceprice
method: GET
description: Get Namespace Price
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: tld
in: path
type: string
description: the namespace to fetch price for
required: true
exposes:
- type: rest
namespace: stacks-blockchain-names-rest
port: 8080
description: REST adapter for Stacks Blockchain API — Names. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/v1/addresses/{blockchain}/{address}
name: v1-addresses-blockchain-address
description: REST surface for v1-addresses-blockchain-address.
operations:
- method: GET
name: getnamesownedbyaddress
description: Get Names Owned by Address
call: stacks-blockchain-names.getnamesownedbyaddress
with:
unanchored: rest.unanchored
blockchain: rest.blockchain
address: rest.address
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/names
name: v1-names
description: REST surface for v1-names.
operations:
- method: GET
name: getallnames
description: Get All Names
call: stacks-blockchain-names.getallnames
with:
unanchored: rest.unanchored
page: rest.page
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/names/{name}
name: v1-names-name
description: REST surface for v1-names-name.
operations:
- method: GET
name: getnameinfo
description: Get Name Details
call: stacks-blockchain-names.getnameinfo
with:
unanchored: rest.unanchored
name: rest.name
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/names/{name}/subdomains
name: v1-names-name-subdomains
description: REST surface for v1-names-name-subdomains.
operations:
- method: GET
name: fetchsubdomainslistforname
description: Get Name Subdomains
call: stacks-blockchain-names.fetchsubdomainslistforname
with:
unanchored: rest.unanchored
name: rest.name
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/names/{name}/zonefile
name: v1-names-name-zonefile
description: REST surface for v1-names-name-zonefile.
operations:
- method: GET
name: fetchzonefile
description: Get Zone File
call: stacks-blockchain-names.fetchzonefile
with:
unanchored: rest.unanchored
name: rest.name
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/names/{name}/zonefile/{zonefilehash}
name: v1-names-name-zonefile-zonefilehash
description: REST surface for v1-names-name-zonefile-zoneFileHash.
operations:
- method: GET
name: gethistoricalzonefile
description: Get Historical Zone File
call: stacks-blockchain-names.gethistoricalzonefile
with:
unanchored: rest.unanchored
name: rest.name
zoneFileHash: rest.zoneFileHash
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/namespaces
name: v1-namespaces
description: REST surface for v1-namespaces.
operations:
- method: GET
name: getallnamespaces
description: Get All Namespaces
call: stacks-blockchain-names.getallnamespaces
with:
unanchored: rest.unanchored
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/namespaces/{tld}/names
name: v1-namespaces-tld-names
description: REST surface for v1-namespaces-tld-names.
operations:
- method: GET
name: getnamespacenames
description: Get Namespace Names
call: stacks-blockchain-names.getnamespacenames
with:
page: rest.page
unanchored: rest.unanchored
tld: rest.tld
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/prices/names/{name}
name: v2-prices-names-name
description: REST surface for v2-prices-names-name.
operations:
- method: GET
name: getnameprice
description: Get Name Price
call: stacks-blockchain-names.getnameprice
with:
name: rest.name
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/prices/namespaces/{tld}
name: v2-prices-namespaces-tld
description: REST surface for v2-prices-namespaces-tld.
operations:
- method: GET
name: getnamespaceprice
description: Get Namespace Price
call: stacks-blockchain-names.getnamespaceprice
with:
tld: rest.tld
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: stacks-blockchain-names-mcp
port: 9090
transport: http
description: MCP adapter for Stacks Blockchain API — Names. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: get-names-owned-address
description: Get Names Owned by Address
hints:
readOnly: true
destructive: false
idempotent: true
call: stacks-blockchain-names.getnamesownedbyaddress
with:
unanchored: tools.unanchored
blockchain: tools.blockchain
address: tools.address
outputParameters:
- type: object
mapping: $.
- name: get-all-names
description: Get All Names
hints:
readOnly: true
destructive: false
idempotent: true
call: stacks-blockchain-names.getallnames
with:
unanchored: tools.unanchored
page: tools.page
outputParameters:
- type: object
mapping: $.
- name: get-name-details
description: Get Name Details
hints:
readOnly: true
destructive: false
idempotent: true
call: stacks-blockchain-names.getnameinfo
with:
unanchored: tools.unanchored
name: tools.name
outputParameters:
- type: object
mapping: $.
- name: get-name-subdomains
description: Get Name Subdomains
hints:
readOnly: true
destructive: false
idempotent: true
call: stacks-blockchain-names.fetchsubdomainslistforname
with:
unanchored: tools.unanchored
name: tools.name
outputParameters:
- type: object
mapping: $.
- name: get-zone-file
description: Get Zone File
hints:
readOnly: true
destructive: false
idempotent: true
call: stacks-blockchain-names.fetchzonefile
with:
unanchored: tools.unanchored
name: tools.name
outputParameters:
- type: object
mapping: $.
- name: get-historical-zone-file
description: Get Historical Zone File
hints:
readOnly: true
destructive: false
idempotent: true
call: stacks-blockchain-names.gethistoricalzonefile
with:
unanchored: tools.unanchored
name: tools.name
zoneFileHash: tools.zoneFileHash
outputParameters:
- type: object
mapping: $.
- name: get-all-namespaces
description: Get All Namespaces
hints:
readOnly: true
destructive: false
idempotent: true
call: stacks-blockchain-names.getallnamespaces
with:
unanchored: tools.unanchored
outputParameters:
- type: object
mapping: $.
- name: get-namespace-names
description: Get Namespace Names
hints:
readOnly: true
destructive: false
idempotent: true
call: stacks-blockchain-names.getnamespacenames
with:
page: tools.page
unanchored: tools.unanchored
tld: tools.tld
outputParameters:
- type: object
mapping: $.
- name: get-name-price
description: Get Name Price
hints:
readOnly: true
destructive: false
idempotent: true
call: stacks-blockchain-names.getnameprice
with:
name: tools.name
outputParameters:
- type: object
mapping: $.
- name: get-namespace-price
description: Get Namespace Price
hints:
readOnly: true
destructive: false
idempotent: true
call: stacks-blockchain-names.getnamespaceprice
with:
tld: tools.tld
outputParameters:
- type: object
mapping: $.