arrow-left

Only this pageAll pages
gitbookPowered by GitBook
triangle-exclamation
Couldn't generate the PDF for 167 pages, generation stopped at 100.
Extend with 50 more pages.
1 of 100

Xverse API

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Address

Bitcoin

Bitcoin RPC, real-time and comprehensive Bitcoin mempool & transaction data, advanced indexing of UTXOs & balances, optimised for apps and dashboards.

[v1] Get Bitcoin UTXOs

circle-info

We recommend switching to [v2] UTXOs for real-time mempool support

Bitcoin Address Summary

Returns the balance and a paginated list of transaction IDs for a given Bitcoin address. Fully mempool-aware.

Balance

Get Started

hashtag
🔌 Endpoints

Network
Endpoint URL

Mainnet

https://api.secretkeylabs.io

Signet

https://api-signet.secretkeylabs.io

hashtag
🔐 Authentication

The Xverse API is currently in private beta. Click to get your API keys and start building!

hashtag
💬 Developer Support & Feedback

Have feedback, feature requests, or want to partner? — we’d love to hear from you.

[v2] Get Bitcoin UTXOs (Mempool-Aware)

Testnet4

https://api-testnet4.secretkeylabs.io

herearrow-up-right
Contact usarrow-up-right

Activity

Node & Mempool

Ordinals

Fetch detailed information on all inscriptions, UTXOs, rare sats — everything you need to power an Ordinals experience.

Automate Ordinal inscriptions with advanced features. Estimate costs, create orders, and track inscription statuses seamlessly.

Ordinals by Address

Collections

Xverse API

hashtag
✨ Welcome to the Xverse API

Build powerful Bitcoin applications with production-grade APIs used by Xverse wallet arrow-up-right— now available to developers.

Our suite of APIs provides everything you need to interact with the modern Bitcoin ecosystem: from Ordinals and Runes, to Bitcoin-native swaps, inscriptions, and Bitcoin L2 integrations. Whether you're building wallets, DeFi platforms, NFT marketplaces, or cross-chain bridges, our infrastructure gives you access to reliable, real-time blockchain data and ready-to-use transaction workflows.


hashtag
🚀 Why use the Xverse API?

We built these APIs to solve the real infrastructure problems we faced while building the Xverse wallet. Now we’re opening them up so Bitcoin developers can skip the heavy lifting and focus on building.

Your Bitcoin RPC, indexer, and data layer — all in one API.

With the Xverse API, you get:

  • ⚡ Ultra-fast Bitcoin RPC and real-time mempool data — without running your own node

  • 🧩 Advanced indexing for transaction history, UTXO data, and Bitcoin asset protocols

  • 🔲 Comprehensive Ordinals, Runes & BRC-20 support — balances, parsing, and transaction data with zero custom indexing


hashtag
🧰 What’s Inside

Our API suite is organized into powerful modules that serve different needs across the Bitcoin ecosystem:

Module
Description

hashtag
⚙️ How It Works

All endpoints are RESTful and return JSON responses. You can use them with your preferred stack — whether you're writing in JavaScript, Python, Rust, or anything else.

Authentication, rate limits, and response formats will be covered in the section.


hashtag
🧑‍💻 Built for Builders

This API suite powers real products — including the Xverse wallet and app — and is optimized for scale, speed, and uptime.

✅ >99% Uptime ⚡ Low-latency responses 🔒 Secure & production-tested 📈 Scalable for any app size


hashtag
💡 Start Building

If you're ready to dive in, check out our guide or browse the to start exploring endpoints.

Looking to integrate specific functionality like swaps, Ordinals support, or Runes minting? Each section is fully documented with example requests, response formats, and real-world use cases.

Historical Activity (Confirmed)

This endpoint returns the combined historical activity across BTC, inscriptions, and runes for a set of addresses, including all incoming/outgoing transfers.

Unconfirmed Transactions

Get Bitcoin Transaction

This endpoint returns confirmation status, block height, and timestamp for a given Bitcoin transaction. Mempool-aware.

Ordinal Transaction Outputs

This endpoint returns detailed info on Ordinal assets (BTC, inscriptions, runes) for each output of a transaction.

It is mempool-aware and includes unconfirmed BTC, inscriptions & runes data for mempool transactions

Ordinal Transaction Inputs

This endpoint returns detailed info on Ordinal assets (BTC, inscriptions, runes) for each input of a transaction.

It is mempool-aware and includes unconfirmed BTC, inscriptions & runes data for mempool transactions

Outputs

Estimate Transaction Fee

Estimate the approximate fee per kilobyte required for a transaction to confirm in the next blocks, based on the current state of the mempool.

Mempool Fees

Retrieve statistics regarding the fee rates of transactions within estimated mempool blocks.

Send Transaction

This endpoint can be used to post a signed raw transaction to the Bitcoin network

Mempool Acceptance Test

This endpoint lets you run a mempool acceptance test to check if the mempool will accept the serialized hex-encoded raw transaction

Get Current Block

Returns the latest Bitcoin block with height, hash, timestamp, and more.

Get Block by Height

Returns block metadata (hash, timestamp, tx count, etc.) for a specific height.

getblockchaininfo

This RPC Method returns an object that contains the information regarding blockchain processing in different states.

getblockstats

This RPC Method calculates per block statistics for a given window.

getchaintips

This RPC Method returns information about all known chaintips in the block tree, including the main chain as well as orphaned branches.

getchaintxstats

This RPC Method calculates data about the total number and rate of transactions in the chain.

getdifficulty

This RPC Method returns the proof-of-work difficulty as a multiple of the minimum difficulty.

getmempoolancestors

This RPC Method returns all in-mempool ancestors for a transaction in the mempool.

getmempoolentry

This RPC Method returns detailed mempool entry data for a specific transaction.

getmempoolinfo

This RPC Method returns mempool statistics such as size, bytes, usage, and limits.

getrawmempool

This RPC Method returns all transaction IDs currently in the mempool.

gettxoutproof

This RPC Method returns a proof that specific transactions are included in a block.

decoderawtransaction

This RPC Method decodes a serialized raw transaction hex into a JSON object.

decodescript

This RPC Method decodes a hex-encoded script into a JSON object.

getrawtransaction

This RPC Method returns detailed information about a raw transaction by txid.

testmempoolaccept

This RPC Method tests whether a raw transaction would be accepted by the mempool.

estimatesmartfee

This RPC Method estimates the transaction fee per kilobyte needed for confirmation within a target number of blocks.

verifymessage

This RPC Method verifies that a signed message was created with the private key corresponding to a given address.

Bitcoin Price

This endpoint can be used to get the latest Bitcoin price

Unconfirmed Inscriptions (Mempool)

Inscriptions of a Collection

Collection by ID

This endpoint is used to retrieve the metadata & market data associated with an ordinal collection, based on the ordinal collection ID.

Top Collections by Volume

This endpoint provides the top collections by sales volume for different time periods, along with collections' metadata & market data.

Transactions

Blocks

Inscriptions

Runes

Query Rune balances, metadata & trading data.

Integrate Runes into your apps without building infra.

Mint and etch Runes, with cost estimates, order management and execution.

Inscription Service

Automate Ordinal inscriptions with advanced features. Estimate costs, create orders, and track inscription statuses seamlessly.

Runes by Address

💹 Live & historical market data for Bitcoin assets: Ordinals, Runes, BRC-20, and Bitcoin L2 tokens

  • 💱 Swap aggregation across Bitcoin AMMs & L2s (Spark, Stacks, Starknet, BOB, Runes AMMs, BRC-20, etc.)

  • 📊 Portfolio analytics with real-time activity and daily balance history

  • ✍️ Automated minting, etching & inscription at scale — simple endpoints that handle high volumes without custom scripts

  • 🌉 Cross-chain swaps & bridging with aggregated liquidity — one interface to move assets seamlessly across Bitcoin and L2s

  • 🔄

    Seamlessly integrate Bitcoin-asset swaps into your application. Aggregate quotes from multiple AMMs across Bitcoin and L2s, generate and execute swap orders, and facilitate cross-chain swaps—all through a unified interface.

    🟠 Bitcoin API

    Bitcoin RPC, real-time and comprehensive Bitcoin mempool & transaction data, advanced indexing of UTXOs & balances, optimised for apps and dashboards.

    🖼️ Ordinals API

    Fetch detailed information on all inscriptions, UTXOs, rare sats — everything you need to power an Ordinals experience. Automate Ordinal inscriptions with advanced features. Estimate costs, create orders, and track inscription statuses seamlessly.

    🔲 Runes API

    Query Rune balances and detailed information. Integrate Runes into your apps without building infra. Mint and etch Runes, with cost estimates, order management and execution.

    🪙 BRC-20 API

    Query BRC-20 balances and detailed information. Integrate BRC-20 into your apps without building infra. Mint and deploy BRC-20, with cost estimates, order management and execution.

    sparkle Spark API

    Query Sparkarrow-up-right balances, transactions & activity for Bitcoin & BTKN tokens. Access Flashnetarrow-up-right market & trading data.

    Integrate Spark & Flashnet into your apps without building infra.

    💹 Portfolio API

    Monitor Bitcoin asset balances and activity across multiple addresses, with automatic daily tracking and historical portfolio insights.

    Getting Started
    Getting Started
    API reference

    Real-Time Mempool Activity (Unconfirmed)

    This endpoint returns the real-time mempool activity across BTC, inscriptions, and runes for a set of addresses, including all incoming/outgoing transfers.

    Get Raw Bitcoin Transaction Hex

    This endpoint returns the raw hex for a given Bitcoin transaction. It supports confirmed and unconfirmed transactions.

    Decode Raw Bitcoin Transaction

    This endpoint decodes a raw Bitcoin transaction. Optimized to use the RPC node only for parsing, while transaction hex and I/O data are retrieved from our indexer.

    Ordinal Transaction

    This endpoint returns detailed info on Ordinal assets (BTC, inscriptions, runes) for each input and output of a transaction.

    It is mempool-aware and includes unconfirmed BTC, inscriptions & runes data for mempool transactions

    getblockhash

    This RPC Method returns the hash of the tip block in the most-work fully-validated chain.

    getblockfilter

    This RPC Method returns the BIP-157 compact block filter and filter header for a given block.

    getblockcount

    This RPC Method returns the height of the fully-validated chain. The genesis block has a height of 0.

    getblockheader

    This RPC Method returns the header of the block given it's hash.

    getblockhash

    This RPC Method returns the hash of the block provided its height.

    getmempooldescendants

    This RPC Method returns all in-mempool descendants for a transaction in the mempool.

    createrawtransaction

    This RPC Method creates an unsigned raw transaction from inputs and outputs.

    sendrawtransaction

    This RPC Method submits a raw signed transaction to the network.

    UTXOs

    Inscriptions

    Collections

    This endpoint returns the full list of indexed Ordinals collections with their basic information and metadata

    UTXOs

    Void inscriptions

    createmultisig

    This RPC Method creates a multisig address and redeem script from a set of public keys.

    Collection Historical Floor Prices

    This endpoint provides the historical floor price for a specific collection and a given time period.

    Collections

    This endpoint returns all Ordinal collections held by a given wallet address, along with the list of inscriptions owned within each collection.

    Inscription Thumbnail

    Returns a generated thumbnail image for the specified inscription ID

    Estimate

    Rune Activity

    Returns historical activity (transfers, mints, etc.) for a specific Rune held by a given address.

    Inscriptions by IDs

    This endpoint returns the information & metadata for multiple inscription IDs in a single request.

    Order

    getblock

    This RPC Method returns information about the block.

    gettxout

    This RPC Method returns details about an unspent transaction output (UTXO).

    Search Runes

    Search existing Runes by name, order results by name or by etching block + index.

    Holders by Collection

    This endpoint is commonly used to pass an ordinal collection ID, and get the full list of wallets holding inscriptions in that collection, and the number of items of the collection they hold.

    Inscriptions by Collection

    This endpoint is commonly used to retrieve the list of inscriptions associated with an ordinal collection, together with their info and metadata.

    Inscription by ID

    This endpoint returns the information & metadata of a specific inscription ID.

    Inscription Activity

    This endpoint returns the full activity history (transfers, listings, sales) for a specific inscription.

    Bitcoin JSON-RPC

    This endpoint offers a unified RPC interface for Bitcoin Core node functionality:

    • Blockchain data: getbestblockhash, getblock, getblockchaininfo, getblockcount, getblockfilter, getblockhash, getblockheader,

    Execute

    Rune by ID

    This endpoint is used to retrieve the metadata & market data associated with a rune, based on the rune ID.

    Runes Top Gainers & Losers

    Returns Runes with the highest and lowest percentage price change over a specified timeframe.

    Get All Rune Transfers by Blocks

    This endpoint returns all Rune transfer activity across the chain. Results are cursor-paginated and can be filtered by runeId, fromBlockHeight, and toBlockHeight.

    [v2] Rune Balances (Mempool-Aware)

    Rune Activity

    Returns the transaction and transfer history for a specific Rune.

    Get All Rune Trades by Blocks

    This endpoint returns all Rune trade activity across the chain. Results are cursor-paginated and can be filtered by runeId, fromBlockHeight, and toBlockHeight.

    Decode Runestone

    This endpoint can be used to pass a transaction hex and extract and decode the runestone present in the OP_RETURN

    Top Runes by Volume

    This endpoint provides the top runes by sales volume for different time periods, along with runes' metadata & market data.

    Swap Aggregator

    Runes by Blocks

    getblockstats
    ,
    getchaintips
    ,
    getchaintxstats
    ,
    getdifficulty
  • Mempool data: getmempoolancestors, getmempooldescendants, getmempoolentry, getmempoolinfo, getrawmempool, testmempoolaccept

  • Transactions: getrawtransaction, sendrawtransaction, gettxout, gettxoutproof

  • Raw tx/script utils: createrawtransaction, decoderawtransaction, decodescript

  • Wallet & addresses: createmultisig, validateaddress, verifymessage

  • Fees: estimatesmartfee

  • Runes Historical Prices

    This endpoint provides the historical floor price for a specific rune and a given time period.

    Runes by IDs

    This endpoint is used to retrieve the metadata & market data associated with a batch of up to 10 runes, based on the runes' IDs, in a single request.

    validateaddress

    This RPC Method verifies whether a Bitcoin address is valid and provides related info.

    Holders by Rune

    This endpoint is commonly used to pass a rune ID, and get the full list of wallets holding the rune, and the amount they hold.

    [v1] Rune Balances

    circle-info

    We recommend switching to [v2] Rune balances for real-time mempool support

    get

    Retrieve confirmed UTXOs ignoring mempool completely. This can be useful for applications that need to rely on confirmed UTXOs only, eg constructing RBF txs as well. To query mempool aware endpoint use /v2/bitcoin/address/:address/utxo. Iterate using offset if hasMore is true.

    Authorizations
    x-api-keystringRequired
    Path parameters
    addressstring · BitcoinAddress · min: 10RequiredDefault: bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch
    Query parameters
    offsetnumberOptionalDefault: 0
    limitnumber · min: 25 · max: 5000OptionalDefault: 60
    Responses
    chevron-right
    200

    Paginated Utxo list

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/bitcoin/address/{address}/utxo
    get

    Get address summary including paginated transaction IDs and balance information. This endpoint is mempool-aware and includes both confirmed and unconfirmed data. Response fields:

    • txids - Paginated list of transaction IDs for this address, ordered by block height descending. When there is mempool activity, unconfirmed transactions appear first.

    • confirmedBalance - Current confirmed balance in satoshis, ignoring mempool activity.

    • unconfirmedBalance - Net unconfirmed balance change (received - sent) in satoshis. It can be negative as it only considers mempool, eg. when spending more than receiving.

    • offset - Current pagination offset.

    • limit - Current pagination limit.

    Authorizations
    x-api-keystringRequired
    Path parameters
    addressstring · BitcoinAddress · min: 10RequiredDefault: bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch
    Query parameters
    offsetnumberOptionalDefault: 0
    limitnumber · min: 25 · max: 25OptionalDefault: 25
    Responses
    chevron-right
    200

    Address summary with txids and balance

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/bitcoin/address/{address}/summary
    get

    Get both confirmed and unconfirmed BTC balances.

    Authorizations
    x-api-keystringRequired
    Path parameters
    addressstring · BitcoinAddress · min: 10RequiredDefault: bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch
    Responses
    chevron-right
    200

    Bitcoin balance for an address

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/bitcoin/address/{address}/balance
    get

    Mempool-aware: Retrieve UTXOs. This endpoint considers both confirmed and unconfirmed utxos. When a confirmed UTXO is spent in the mempool, it will not be returned here as its no longer a utxo. To query confirmed-only endpoint use /v1/bitcoin/address/:address/utxo. Iterate using offset if hasMore is true.

    Authorizations
    x-api-keystringRequired
    Path parameters
    addressstring · BitcoinAddress · min: 10RequiredDefault: bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch
    Query parameters
    offsetnumberOptionalDefault: 0
    limitnumber · min: 25 · max: 5000OptionalDefault: 60
    Responses
    chevron-right
    200

    Paginated Utxo list

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v2/bitcoin/address/{address}/utxo
    get

    Retrieve efficient aggregated confirmed history (Bitcoin, Runes, Inscriptions) for multiple addresses. Up to 3 addresses(comma separated) can be queried via addresses query param.

    Authorizations
    x-api-keystringRequired
    Query parameters
    addressesstring · BitcoinAddressList · min: 10RequiredDefault: bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch,bc1px3kttdtg479vqfu0s2lhxvyuz2snhl8jct3f84k5heerl750n28scr9qt6
    offsetnumberOptionalDefault: 0
    limitnumber · min: 25 · max: 60OptionalDefault: 60
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/global/ordinals/multi-address/activity
    get

    Fetch unconfirmed transactions for a given address.

    Authorizations
    x-api-keystringRequired
    Path parameters
    addressstring · BitcoinAddress · min: 10RequiredDefault: bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch
    Query parameters
    limitnumber · min: 1 · max: 10000OptionalDefault: 25
    Responses
    chevron-right
    200

    List of unconfirmed txs

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/bitcoin/address/{address}/txs/unconfirmed
    get

    Retrieve stats for the transaction. Works for confirmed and unconfirmed transactions.

    Authorizations
    x-api-keystringRequired
    Path parameters
    txidstring · regexRequired

    Transaction id

    Example: 6c5ffa32f6942bb82bf36239fb8a6d233c4da6f91bde81869accef2ef6be674ePattern: ^[a-fA-F0-9]{64}$
    Query parameters
    offsetnumberOptional
    limitnumber · min: 25 · max: 25Optional
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/bitcoin/tx/{txid}
    get

    Retrieve historic ordinal output info for a specific tx. It is mempool aware. isOrdinalsIndexed determines if ordinals data is available

    Authorizations
    x-api-keystringRequired
    Path parameters
    txidstring · regexRequired

    Transaction id

    Example: 6c5ffa32f6942bb82bf36239fb8a6d233c4da6f91bde81869accef2ef6be674ePattern: ^[a-fA-F0-9]{64}$
    Query parameters
    offsetnumberOptional
    limitnumber · min: 25 · max: 25Optional
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/ordinals/tx/{txid}/outputs
    get

    Retrieve historic input output info for a specific tx. It is mempool aware. isOrdinalsIndexed determines if ordinals data is available

    Authorizations
    x-api-keystringRequired
    Path parameters
    txidstring · regexRequired

    Transaction id

    Example: 6c5ffa32f6942bb82bf36239fb8a6d233c4da6f91bde81869accef2ef6be674ePattern: ^[a-fA-F0-9]{64}$
    Query parameters
    offsetnumberOptional
    limitnumber · min: 25 · max: 25Optional
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/ordinals/tx/{txid}/inputs
    post

    Retrieve Ordinal details for a specific list of outputs (txid:vout).

    Authorizations
    x-api-keystringRequired
    Body
    outputsstring · regex[] · min: 1 · max: 20RequiredExample: ["e79134080a83fe3e0e06ed6990c5a9b63b362313341745707a2bff7d788a1375:0"]
    Responses
    chevron-right
    200

    List of ordinal detail outputs

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    post
    /v1/outputs
    get

    Retrieve estimated fee rates to use for transactions to be confirmed within a specific range of blocks.

    Authorizations
    x-api-keystringRequired
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/bitcoin/mempool/fee-estimates
    get

    Retrieve stats for the projected blocks from the transactions in the mempool.

    Authorizations
    x-api-keystringRequired
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/bitcoin/mempool/stats
    post

    Post transaction.

    Authorizations
    x-api-keystringRequired
    Body
    txstringRequired

    Raw transaction hex to be posted to the Bitcoin network.

    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Default Response

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    post
    /v1/rpc/bitcoin/tx
    post

    Forward to RPC using testmempoolaccept method.

    Authorizations
    x-api-keystringRequired
    Body
    txListstring[]Required

    Raw transaction hex to be checked with testmempoolaccept method.

    maxFeeRatenumberOptionalDefault: 0.1Example: 0.1
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Default Response

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    post
    /v1/rpc/bitcoin/testmempoolaccept
    get

    Get information about the current block

    Authorizations
    x-api-keystringRequired
    Responses
    chevron-right
    200

    Block information

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/block/current
    get

    Get information about a specific block by height

    Authorizations
    x-api-keystringRequired
    Path parameters
    heightnumberRequired
    Responses
    chevron-right
    200

    Block information

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/block/height/{height}
    post

    JSON RPC - getblockchaininfo

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/getblockchaininfo
    200

    Default Response

    post

    JSON RPC - getblockstats

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/getblockstats
    200

    Default Response

    post

    JSON RPC - getchaintips

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/getchaintips
    200

    Default Response

    post

    JSON RPC - getchaintxstats

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/getchaintxstats
    200

    Default Response

    post

    JSON RPC - getdifficulty

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/getdifficulty
    200

    Default Response

    post

    JSON RPC - getmempoolancestors

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/getmempoolancestors
    200

    Default Response

    post

    JSON RPC - getmempoolentry

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/getmempoolentry
    200

    Default Response

    post

    JSON RPC - getmempoolinfo

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/getmempoolinfo
    200

    Default Response

    post

    JSON RPC - getrawmempool

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/getrawmempool
    200

    Default Response

    post

    JSON RPC - gettxoutproof

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/gettxoutproof
    200

    Default Response

    post

    JSON RPC - decoderawtransaction

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/decoderawtransaction
    200

    Default Response

    post

    JSON RPC - decodescript

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/decodescript
    200

    Default Response

    post

    JSON RPC - getrawtransaction

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/getrawtransaction
    200

    Default Response

    post

    JSON RPC - getrawtransaction

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/getrawtransaction
    200

    Default Response

    post

    JSON RPC - createmultisig

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/createmultisig
    200

    Default Response

    post

    JSON RPC - createmultisig

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/createmultisig
    200

    Default Response

    get

    Fetch latest bitcoin price.

    Authorizations
    x-api-keystringRequired
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/bitcoin/price
    get

    List all unconfirmed inscriptions an address owns.

    Authorizations
    x-api-keystringRequired
    Path parameters
    addressstring · BitcoinAddress · min: 10RequiredDefault: bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch
    Query parameters
    offsetnumberOptionalDefault: 0
    limitnumber · min: 25 · max: 60OptionalDefault: 60
    Responses
    chevron-right
    200

    Inscriptions owned by the address

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/mempool/ordinals/address/{address}/inscriptions
    get

    Get inscriptions owned by an address in a specific collection. It includes current inscription location

    Authorizations
    x-api-keystringRequired
    Path parameters
    addressstring · BitcoinAddress · min: 10RequiredDefault: bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch
    collectionIdstringRequiredExample: {"value":"wzrds"}
    Query parameters
    offsetnumberOptionalDefault: 0
    limitnumber · min: 25 · max: 25OptionalDefault: 25
    Responses
    chevron-right
    200

    Inscriptions for a specific collection owned by an address

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/ordinals/address/{address}/inscriptions/collection/{collectionId}
    get

    Get metadata and market info for an Ordinals collection.

    Authorizations
    x-api-keystringRequired
    Path parameters
    collectionIdstringRequiredExample: {"value":"wzrds"}
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/ordinals/collections/{collectionId}
    get

    Get top collections by volume.

    Authorizations
    x-api-keystringRequired
    Query parameters
    timePeriodstring · enumOptional
    • 24h - trailing 24 hours' volume, ending at the start of the prior hour (default)
    • trailing7d - trailing 7 days' volume, ending at the start of the prior hour
    • trailing30d - trailing 30 days' volume, ending at the start of the prior hour
    • 1d - prior day's volume, ending at midnight GMT
    • 7d - prior seven days' volume, ending at midnight GMT
    • 30d - prior 30 days' volume, ending at midnight GMT
    Default: 24hPossible values:
    offsetnumberOptionalDefault: 0
    limitnumber · max: 100OptionalDefault: 10
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/ordinals/stats/collections/top-by-volume
    get

    Retrieve efficient aggregated unconfirmed activity (Bitcoin, Runes, Inscriptions) for multiple addresses. Up to 3 addresses(comma separated) can be queried via addresses query param.

    Authorizations
    x-api-keystringRequired
    Query parameters
    addressesstring · BitcoinAddressList · min: 10RequiredDefault: bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch,bc1px3kttdtg479vqfu0s2lhxvyuz2snhl8jct3f84k5heerl750n28scr9qt6
    offsetnumberOptionalDefault: 0
    limitnumber · min: 25 · max: 60OptionalDefault: 60
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/global/ordinals/multi-address/activity/mempool
    get

    Retrieve transaction hex. Supports confirmed and unconfirmed transactions.

    Authorizations
    x-api-keystringRequired
    Path parameters
    txidstring · regexRequired

    Transaction id

    Example: 6c5ffa32f6942bb82bf36239fb8a6d233c4da6f91bde81869accef2ef6be674ePattern: ^[a-fA-F0-9]{64}$
    Responses
    chevron-right
    200

    Default Response

    application/json
    Responsestring
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/bitcoin/tx/{txid}/hex
    post

    Retrieve raw transaction details by txid.

    Authorizations
    x-api-keystringRequired
    Body
    txidstring · regexRequired

    Transaction id

    Example: 6c5ffa32f6942bb82bf36239fb8a6d233c4da6f91bde81869accef2ef6be674ePattern: ^[a-fA-F0-9]{64}$
    Responses
    chevron-right
    200

    Default Response

    No content

    post
    /v1/rpc/bitcoin/rawtx
    200

    Default Response

    No content

    get

    Retrieve historic ordinal info (inputs and outputs) for a specific tx. It is mempool aware. isOrdinalsIndexed determines if ordinals data is available

    Authorizations
    x-api-keystringRequired
    Path parameters
    txidstring · regexRequired

    Transaction id

    Example: 6c5ffa32f6942bb82bf36239fb8a6d233c4da6f91bde81869accef2ef6be674ePattern: ^[a-fA-F0-9]{64}$
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/ordinals/tx/{txid}
    post

    JSON RPC - getblockhash

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/getblockhash
    200

    Default Response

    post

    JSON RPC - getblockfilter

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/getblockfilter
    200

    Default Response

    post

    JSON RPC - getblockcount

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/getblockcount
    200

    Default Response

    post

    JSON RPC - getblockheader

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/getblockheader
    200

    Default Response

    post

    JSON RPC - getblockhash

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/getblockhash
    200

    Default Response

    post

    JSON RPC - getmempooldescendants

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/getmempooldescendants
    200

    Default Response

    post

    JSON RPC - createrawtransaction

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/createrawtransaction
    200

    Default Response

    post

    JSON RPC - getrawtransaction

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/getrawtransaction
    200

    Default Response

    get

    Get detailed Ordinals info (inscriptions, rare sats, Runes) for all confirmed UTXOs.

    Authorizations
    x-api-keystringRequired
    Path parameters
    addressstring · BitcoinAddress · min: 10RequiredDefault: bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch
    Query parameters
    offsetnumberOptionalDefault: 0
    limitnumber · min: 25 · max: 60OptionalDefault: 60
    Responses
    chevron-right
    200

    Ordinal information for all utxos belonging to the address

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/ordinals/address/{address}/utxo
    get

    List all confirmed inscriptions an address owns. Note: The Api response includes limit & offset for future pagination extension, but at the moment query parameters are ignored and the response is always the full list. So, limit equals the total items number, be sure to handle pagination as the limit can change once pagination is implemented.

    Authorizations
    x-api-keystringRequired
    Path parameters
    addressstring · BitcoinAddress · min: 10RequiredDefault: bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch
    Query parameters
    offsetnumberOptionalDefault: 0
    limitnumber · min: 25 · max: 60OptionalDefault: 60
    Responses
    chevron-right
    200

    Inscriptions owned by the address

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/ordinals/address/{address}/inscriptions
    get

    Get list of ordinals collections.

    Authorizations
    x-api-keystringRequired
    Query parameters
    offsetnumberOptionalDefault: 0
    limitnumber · min: 25 · max: 25OptionalDefault: 25
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/ordinals/collections
    get

    Get Rune UTXOs for a specific address with pagination support.

    Authorizations
    x-api-keystringRequired
    Path parameters
    addressstring · BitcoinAddress · min: 10RequiredDefault: bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch
    Query parameters
    offsetnumberOptionalDefault: 0
    limitnumber · min: 25 · max: 60OptionalDefault: 60
    runeIdstringOptional
    includeUnconfirmedbooleanOptionalDefault: false
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/runes/address/{address}/utxo
    get

    Get BRC20 & TAP void inscriptions(already spent/used) owned by an address in a specific collection. A void inscription is a BRC-20 or TAP inscription that is no longer protocol valid (transfer inscriptions become invalid after first transfer, other inscriptions like mint become invalid right after inscribe).

    Authorizations
    x-api-keystringRequired
    Path parameters
    addressstring · BitcoinAddress · min: 10RequiredDefault: bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch
    collectionIdstringRequiredExample: bitminer
    Query parameters
    offsetnumberOptionalDefault: 0
    limitnumber · min: 25 · max: 25OptionalDefault: 25
    Responses
    chevron-right
    200

    Inscriptions for a specific collection owned by an address

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/ordinals/address/{address}/void-protocol-inscriptions/collection/{collectionId}
    post

    JSON RPC - createmultisig

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/createmultisig
    200

    Default Response

    get

    Get historical floor prices for an Ordinals collection.

    Authorizations
    x-api-keystringRequired
    Path parameters
    collectionIdstringRequiredExample: {"value":"wzrds"}
    Query parameters
    fromTimestampstringRequired

    ISO timestamp - no older than 1 year ago (e.g. 2024-08-29T03:09:35.236Z)

    toTimestampstringOptional

    ISO timestamp - up until now / not in the future

    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/ordinals/collections/{collectionId}/historical-floor-prices
    get

    Fetch inscriptions by collection for assets in a specific address.

    Authorizations
    x-api-keystringRequired
    Path parameters
    addressstring · BitcoinAddress · min: 10RequiredDefault: bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch
    Query parameters
    offsetnumberOptionalDefault: 0
    limitnumber · min: 25 · max: 60OptionalDefault: 60
    Responses
    chevron-right
    200

    Collection info for inscriptions owned by the address

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/ordinals/address/{address}/collections
    get

    Get inscription rendered thumbnail.

    Authorizations
    x-api-keystringRequired
    Path parameters
    inscriptionIdstringRequiredExample: 5f3dafcdd142358b332e0939d37174b76472735df8df29325901d2c7d18a152ci2
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/inscriptions/{inscriptionId}/thumbnail
    post

    hashtag
    Coming soon...

    Estimate total cost for a new inscription order.

    Authorizations
    x-api-keystringRequired
    Body
    objectOptional
    Responses
    chevron-right
    200

    Default Response

    application/json
    Responseobject
    post
    /v1/inscriptions/estimate
    200

    Default Response

    get

    Get rune activity for a specific address and rune

    Authorizations
    x-api-keystringRequired
    Path parameters
    addressstringRequiredExample: bc1px3kttdtg479vqfu0s2lhxvyuz2snhl8jct3f84k5heerl750n28scr9qt6
    identifierstringRequiredExample: {"value":"UNCOMMONGOODS"}
    Query parameters
    offsetnumberOptionalDefault: 0
    limitnumber · min: 25 · max: 25OptionalDefault: 25
    fromBlockHeightnumberOptional
    toBlockHeightnumberOptional
    Responses
    chevron-right
    200

    Rune activity for a specific rune or address

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/ordinals/address/{address}/runes/{identifier}/activity
    get

    Get inscription info with collection & pricing for a batch of Inscriptions by IDs. Collection and price fields will be undefined if not available. The inscriptionIds query parameter should be a comma-separated list of Inscription IDs.

    Authorizations
    x-api-keystringRequired
    Query parameters
    inscriptionIdsstring · min: 1RequiredExample: 5f3dafcdd142358b332e0939d37174b76472735df8df29325901d2c7d18a152ci2
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/inscriptions/batch
    post

    hashtag
    Coming soon...

    Create an inscription order (returns a funding address to pay).

    Authorizations
    x-api-keystringRequired
    Body
    objectOptional
    Responses
    chevron-right
    200

    Default Response

    application/json
    Responseobject
    post
    /v1/inscriptions/order
    200

    Default Response

    get

    hashtag
    Coming soon...

    Retrieve status for a given inscription order.

    Authorizations
    x-api-keystringRequired
    Path parameters
    orderIdstringRequired
    Responses
    chevron-right
    200

    Default Response

    application/json
    Responseobject
    get
    /v1/inscriptions/order/{orderId}
    200

    Default Response

    post

    JSON RPC - getblock

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/getblock
    200

    Default Response

    post

    JSON RPC - gettxout

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/gettxout
    200

    Default Response

    get

    Search for runes by name.

    Authorizations
    x-api-keystringRequired
    Query parameters
    startingWithstring · min: 1Required

    Search for runes starting with this string

    Example: UNCOMMON
    sortBystring · enumOptional
    • runeName - sort by rune name ascending
    • etch - sort by etching order block_height, rune_etch_index ascending
    Default: runeNamePossible values:
    offsetnumberOptionalDefault: 0
    limitnumber · min: 1 · max: 10OptionalDefault: 5
    Responses
    chevron-right
    200

    Search results for runes

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/runes
    get

    Get unique holders of an Ordinals collection.

    Authorizations
    x-api-keystringRequired
    Path parameters
    collectionIdstringRequiredExample: {"value":"wzrds"}
    Query parameters
    offsetnumberOptionalDefault: 0
    limitnumber · max: 25OptionalDefault: 10
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/ordinals/collections/{collectionId}/holders
    get

    Get inscriptions for an Ordinals collection.

    Authorizations
    x-api-keystringRequired
    Path parameters
    collectionIdstringRequiredExample: {"value":"wzrds"}
    Query parameters
    offsetnumberOptionalDefault: 0
    limitnumber · max: 25OptionalDefault: 10
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/ordinals/collections/{collectionId}/inscriptions
    get

    Get inscription info with collection & pricing. Collection and price fields will be undefined if not available.

    Authorizations
    x-api-keystringRequired
    Path parameters
    inscriptionIdstringRequiredExample: 5f3dafcdd142358b332e0939d37174b76472735df8df29325901d2c7d18a152ci2
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/inscriptions/{inscriptionId}
    get

    Get activity information for an inscription.

    Authorizations
    x-api-keystringRequired
    Path parameters
    inscriptionIdstringRequiredExample: 5f3dafcdd142358b332e0939d37174b76472735df8df29325901d2c7d18a152ci2
    Query parameters
    offsetnumberOptional
    limitnumber · min: 25 · max: 25Optional
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/inscriptions/{inscriptionId}/activity
    post

    hashtag
    Coming soon...

    Once funded, finalize (execute) the inscription order.

    Authorizations
    x-api-keystringRequired
    Path parameters
    orderIdstringRequired
    Body
    objectOptional
    Responses
    chevron-right
    200

    Default Response

    application/json
    Responseobject
    post
    /v1/inscriptions/order/{orderId}/execute
    get

    Get price info for a specific Rune by ID.

    Authorizations
    x-api-keystringRequired
    Path parameters
    identifierstringRequired
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/runes/{identifier}
    get

    Get top gainers & losers by percentage price change for a specific time frame.

    Authorizations
    x-api-keystringRequired
    Query parameters
    timePeriodstring · enumOptional
    • 24h - trailing 24 hours' volume, ending at the start of the prior hour (default)
    • trailing7d - trailing 7 days' volume, ending at the start of the prior hour
    • trailing30d - trailing 30 days' volume, ending at the start of the prior hour
    • 1d - prior day's volume, ending at midnight GMT
    • 7d - prior seven days' volume, ending at midnight GMT
    • 30d - prior 30 days' volume, ending at midnight GMT
    Default: 24hPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/runes/stats/top-gainers-losers
    get

    Get rune transfer events (inputs and outputs) from the blockchain.

    Filtering Options:

    • Filter by block range using fromBlockHeight/toBlockHeight

    • Filter by specific rune using runeId

    Pagination:

    • Uses cursor-based pagination that returns full blocks of data with variable number of blocks per page depending how many transfers occurred in that period.

    • Pass the nextCursor from the response as cursor to fetch the next page. Stop on items empty or when nextCursor is null.

    Response Structure:

    • Each item represents a transaction with rune transfers

    • inputs: Rune amounts consumed by the transaction

    • outputs: Rune amounts created by the transaction

    Examples:

    • Filter by rune: /block/runes/transfers?runeId=840000:1

    • Block range: /block/runes/transfers?fromBlockHeight=870000&toBlockHeight=875000

    Authorizations
    x-api-keystringRequired
    Query parameters
    runeIdstringOptional

    Filter transfers by specific rune ID

    Example: 840000:1
    fromBlockHeightnumberOptional

    Start of block range (defaults to rune activation height)

    Example: 870000
    toBlockHeightnumberOptional

    End of block range

    Example: 875000
    cursorstringOptional

    Pagination cursor from previous response

    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/block/runes/transfers
    get

    Get confirmed and unconfirmed runes balance. balance fields explained:

    • confirmedBalance is the rune balance ignoring unconfirmed transactions in mempool.

    • availableBalance is the confirmed balance minus amounts used by any outgoing unconfirmed transaction in mempool.

    • projectedBalance is the final balance if all unconfirmed mempool transactions are confirmed.

    • pendingBalance is a breakdown of the unconfirmed transactions amounts. They represent aggregate amounts for the whole mempool activity, so as more transactions are chained together the amounts will increase.

      • incomingAmount is the sum of all incoming unconfirmed amounts.

      • outgoingAmount

    Authorizations
    x-api-keystringRequired
    Path parameters
    addressstring · BitcoinAddress · min: 10RequiredDefault: bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch
    Query parameters
    runeIdstringOptional
    includePricingbooleanOptional
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v2/runes/address/{address}/balance
    get

    Get activity for a specific rune

    Authorizations
    x-api-keystringRequired
    Path parameters
    identifierstringRequiredExample: {"value":"UNCOMMONGOODS"}
    Query parameters
    offsetnumberOptionalDefault: 0
    limitnumber · min: 25 · max: 25OptionalDefault: 25
    Responses
    chevron-right
    200

    Rune activity for a specific rune or address

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/runes/{identifier}/activity
    get

    Get rune transfer events (inputs and outputs) from the blockchain.

    Filtering Options:

    • Filter by block range using fromBlockHeight/toBlockHeight

    • Filter by specific rune using runeId

    Pagination:

    • Uses cursor-based pagination that returns full blocks of data with variable number of blocks per page depending how many transfers occurred in that period.

    • Pass the nextCursor from the response as cursor to fetch the next page. Stop on items empty or when nextCursor is null.

    Response Structure:

    • Each item represents a transaction with rune transfers

    • inputs: Rune amounts consumed by the transaction

    • outputs: Rune amounts created by the transaction

    Examples:

    • Filter by rune: /block/runes/transfers?runeId=840000:1

    • Block range: /block/runes/transfers?fromBlockHeight=870000&toBlockHeight=875000

    Authorizations
    x-api-keystringRequired
    Query parameters
    runeIdstringOptional

    Filter transfers by specific rune ID

    Example: 840000:1
    fromBlockHeightnumberOptional

    Start of block range (defaults to rune activation height)

    Example: 870000
    toBlockHeightnumberOptional

    End of block range

    Example: 875000
    cursorstringOptional

    Pagination cursor from previous response

    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/block/runes/transfers
    post

    Decode a runestone from transaction hex.

    Authorizations
    x-api-keystringRequired
    Body
    txstring · min: 1Required

    Transaction hex string to decode

    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    post
    /v1/tx/runes/decode
    get

    Get top runes by volume.

    Authorizations
    x-api-keystringRequired
    Query parameters
    timePeriodstring · enumOptional
    • 24h - trailing 24 hours' volume, ending at the start of the prior hour (default)
    • trailing7d - trailing 7 days' volume, ending at the start of the prior hour
    • trailing30d - trailing 30 days' volume, ending at the start of the prior hour
    • 1d - prior day's volume, ending at midnight GMT
    • 7d - prior seven days' volume, ending at midnight GMT
    • 30d - prior 30 days' volume, ending at midnight GMT
    Default: 24hPossible values:
    offsetnumberOptionalDefault: 0
    limitnumber · max: 25OptionalDefault: 10
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/runes/stats/top-by-volume
    post

    JSON RPC

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredExample: getrawtransactionPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin
    200

    Default Response

    get

    Get historical floor prices for Runes.

    Authorizations
    x-api-keystringRequired
    Path parameters
    runeIdstringRequiredExample: {"value":"UNCOMMONGOODS"}
    Query parameters
    fromTimestampstringRequired

    ISO timestamp - no older than 1 year ago (e.g. 2024-08-29T03:09:35.236Z)

    toTimestampstringOptional

    ISO timestamp - up until now / not in the future

    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/runes/{runeId}/historical-floor-prices
    get

    Get price info for a list of runes. The runeIds query parameter should be a comma-separated list of Rune IDs.

    Authorizations
    x-api-keystringRequired
    Query parameters
    runeIdsstring · min: 1RequiredExample: UNCOMMONGOODS,840000:3
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/runes/batch-info
    post

    JSON RPC - createmultisig

    Authorizations
    x-api-keystringRequired
    Body
    methodstring · enumRequiredPossible values:
    Responses
    chevron-right
    200

    Default Response

    application/json
    post
    /v2/rpc/bitcoin/createmultisig
    200

    Default Response

    get

    Get holders for a specific Rune by identifier.

    Authorizations
    x-api-keystringRequired
    Path parameters
    identifierstringRequired
    Query parameters
    offsetnumberOptional
    limitnumber · min: 1 · max: 25Optional
    lastModifiedBlockGtenumberOptionalDefault: 0
    Responses
    chevron-right
    200

    Default Response

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/runes/{identifier}/holders
    get

    Retrieve confirmed Runes balances held by a specific address. Note: The Api response includes limit & offset for future pagination extension, but at the moment query parameters are ignored and the response is always the full list. So, limit equals the total items number, be sure to handle pagination as the limit can change once pagination is implemented.

    Authorizations
    x-api-keystringRequired
    Path parameters
    addressstring · BitcoinAddress · min: 10RequiredDefault: bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch
    Query parameters
    offsetnumberOptionalDefault: 0
    limitnumber · min: 25 · max: 60OptionalDefault: 60
    runeIdstringOptional
    Responses
    chevron-right
    200

    Rune balances for all utxos belonging to the address

    application/json
    chevron-right
    400

    Invalid input

    application/json
    chevron-right
    401

    Unauthorized

    application/json
    chevron-right
    404

    Not found

    application/json
    chevron-right
    429

    Rate limit exceeded

    application/json
    chevron-right
    500

    Internal server error

    application/json
    get
    /v1/ordinals/address/{address}/runes
    POST /v2/rpc/bitcoin/createmultisig HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 39
    
    {
      "method": "createmultisig",
      "params": []
    }
    POST /v2/rpc/bitcoin/getblockhash HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 37
    
    {
      "method": "getblockhash",
      "params": []
    }
    POST /v2/rpc/bitcoin/createmultisig HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 39
    
    {
      "method": "createmultisig",
      "params": []
    }
    POST /v2/rpc/bitcoin/createmultisig HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 39
    
    {
      "method": "createmultisig",
      "params": []
    }

    Paginated Utxo list

    Default Response

    200

    Default Response

    Returns complete blocks (no partial results within a block)
    Returns complete blocks (no partial results within a block)
    is the sum of all outgoing unconfirmed amounts.
  • netAmount is incoming - outgoing. The netAmount can be negative, when sending more than receiving. It should always match what is expected to be added to the confirmed balance when all unconfirmed transactions are confirmed, which is computed as projectedBalance for convenience.

  • {
      "hasMore": true,
      "items": [
        {
          "txid": "text",
          "vout": 1,
          "value": 1,
          "status": {
            "confirmed": true,
            "blockHeight": 1,
            "blockHash": "text",
            "blockTime": 1
          }
        }
      ]
    }
    GET /v1/bitcoin/address/{address}/utxo HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    GET /v1/bitcoin/address/{address}/balance HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "address": "text",
      "confirmed": {
        "fundedTxoCount": 1,
        "fundedTxoSum": 1,
        "spentTxoCount": 1,
        "spentTxoSum": 1,
        "txCount": 1
      },
      "unconfirmed": {
        "fundedTxoCount": 1,
        "fundedTxoSum": 1,
        "spentTxoCount": 1,
        "spentTxoSum": 1,
        "txCount": 1
      }
    }
    {
      "hasMore": true,
      "items": [
        {
          "txid": "text",
          "vout": 1,
          "value": 1,
          "status": {
            "confirmed": true,
            "blockHeight": 1,
            "blockHash": "text",
            "blockTime": 1
          }
        }
      ]
    }
    GET /v2/bitcoin/address/{address}/utxo HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "transactions": [
        {
          "txid": "text",
          "blockHeight": 1,
          "blockTime": 1,
          "ownActivity": [
            {
              "address": "text",
              "sent": 1,
              "received": 1,
              "outgoing": 1,
              "incoming": 1
            }
          ],
          "totalOut": 1,
          "totalIn": 1,
          "addressList": {
            "hasMore": true,
            "items": [
              {
                "address": "text",
                "type": "text",
                "isInput": true,
                "isOutput": true
              }
            ]
          },
          "runes": {
            "ownActivity": {
              "items": [
                {
                  "runeId": "text",
                  "runeName": "text",
                  "divisibility": 1,
                  "symbol": "text",
                  "address": "text",
                  "sent": "text",
                  "received": "text",
                  "outgoing": "text",
                  "incoming": "text"
                }
              ],
              "hasMore": true
            },
            "allActivity": {
              "items": [
                {
                  "runeId": "text",
                  "runeName": "text",
                  "divisibility": 1,
                  "symbol": "text",
                  "outgoing": "text",
                  "incoming": "text",
                  "isMint": true,
                  "isEtch": true,
                  "isBurn": true
                }
              ],
              "hasMore": true
            }
          },
          "inscriptions": {
            "items": [
              {
                "inscriptionId": "text",
                "contentType": "text",
                "address": "text",
                "sent": true,
                "received": true,
                "inscribed": true,
                "burned": true
              }
            ],
            "hasMore": true
          }
        }
      ],
      "offset": 1,
      "limit": 1
    }
    GET /v1/global/ordinals/multi-address/activity?addresses=bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch%2Cbc1px3kttdtg479vqfu0s2lhxvyuz2snhl8jct3f84k5heerl750n28scr9qt6 HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    GET /v1/bitcoin/address/{address}/txs/unconfirmed HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "items": [
        {
          "txid": "text",
          "version": 1,
          "locktime": 1,
          "vin": [
            {
              "txid": "text",
              "vout": 1,
              "prevout": {
                "scriptpubkey": "text",
                "scriptpubkeyAsm": "text",
                "scriptpubkeyType": "text",
                "scriptpubkeyAddress": "text",
                "value": 1
              },
              "scriptsig": "text",
              "scriptsigAsm": "text",
              "witness": [
                "text"
              ],
              "isCoinbase": true,
              "sequence": 1
            }
          ],
          "vout": [
            {
              "scriptpubkey": "text",
              "scriptpubkeyAsm": "text",
              "scriptpubkeyType": "text",
              "scriptpubkeyAddress": "text",
              "value": 1
            }
          ],
          "size": 1,
          "weight": 1,
          "sigops": 1,
          "fee": 1,
          "status": {
            "confirmed": true
          }
        }
      ]
    }
    GET /v1/bitcoin/tx/{txid} HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "height": 1,
      "confirmations": 1,
      "inputs": [
        {
          "vin": 1,
          "prevTxid": "text",
          "prevVout": 1,
          "value": 1,
          "address": "text",
          "script": "text",
          "isCoinbase": true
        }
      ],
      "outputs": [
        {
          "vout": 1,
          "value": 1,
          "address": "text",
          "script": "text"
        }
      ]
    }
    GET /v1/ordinals/tx/{txid}/outputs HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "total": 1,
      "offset": 1,
      "limit": 1,
      "confirmations": 1,
      "blockHeight": 1,
      "items": [
        {
          "vout": 1,
          "value": 1,
          "address": "text",
          "script": "text",
          "runes": [
            {
              "runeId": "text",
              "runeName": "text",
              "amount": "text",
              "divisibility": 1
            }
          ],
          "inscriptions": [
            {
              "id": "text",
              "contentType": "text",
              "offset": 1
            }
          ]
        }
      ],
      "isOrdinalsIndexed": true
    }
    GET /v1/ordinals/tx/{txid}/inputs HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "total": 1,
      "offset": 1,
      "limit": 1,
      "confirmations": 1,
      "blockHeight": 1,
      "items": [
        {
          "vin": 1,
          "prevTxid": "text",
          "prevVout": 1,
          "value": 1,
          "address": "text",
          "isCoinbase": true,
          "runes": [
            {
              "runeId": "text",
              "amount": "text",
              "divisibility": 1
            }
          ],
          "inscriptions": [
            {
              "id": "text",
              "contentType": "text",
              "offset": 1
            }
          ]
        }
      ],
      "isOrdinalsIndexed": true
    }
    POST /v1/outputs HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 82
    
    {
      "outputs": [
        "e79134080a83fe3e0e06ed6990c5a9b63b362313341745707a2bff7d788a1375:0"
      ]
    }
    {
      "total": 1,
      "limit": 1,
      "offset": 1,
      "xVersion": 1,
      "items": [
        {
          "txid": "text",
          "address": "text",
          "isSpent": true,
          "vout": 1,
          "result": {
            "blockHeight": 1,
            "value": 1,
            "satRanges": [
              {
                "range": {
                  "start": "text",
                  "end": "text"
                },
                "offset": 1,
                "sattributes": [
                  "ALPHA",
                  "BLOCK78",
                  "FIRST_TRANSACTION",
                  "PIZZA",
                  "VINTAGE",
                  "BLACK_UNCOMMON",
                  "BLACK_RARE",
                  "BLACK_EPIC",
                  "BLACK_LEGENDARY",
                  "BLOCK9",
                  "BLOCK9_450",
                  "BLOCK286",
                  "JPEG",
                  "LEGACY",
                  "OMEGA",
                  "FIBONACCI",
                  "HITMAN",
                  "NAKAMOTO",
                  "SILK_ROAD",
                  "PALINDROME",
                  "1D_PALINDROME",
                  "2D_PALINDROME",
                  "3D_PALINDROME",
                  "PALIBLOCK_PALINDROME",
                  "PALINCEPTION",
                  "PURE_PALINCEPTION",
                  "PERFECT_PALINCEPTION",
                  "SEQUENCE_PALINDROME",
                  "NAME_PALINDROME",
                  "COMMON",
                  "UNCOMMON",
                  "RARE",
                  "EPIC",
                  "LEGENDARY",
                  "MYTHIC"
                ],
                "yearMined": 1,
                "block": 1,
                "inscriptions": [
                  {
                    "contentType": "text",
                    "id": "text"
                  }
                ]
              }
            ],
            "runes": [
              {
                "runeId": "text",
                "runeName": "text",
                "amount": "text",
                "divisibility": 1,
                "symbol": "text"
              }
            ]
          }
        }
      ]
    }
    GET /v1/bitcoin/mempool/fee-estimates HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "currentBlockHeight": 1,
      "estimates": {
        "nextBlock": 1,
        "in2Blocks": 1,
        "in3Blocks": 1
      }
    }
    GET /v1/bitcoin/mempool/stats HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "currentBlockHeight": 1,
      "projectedBlocks": [
        {
          "height": 1,
          "weight": 1,
          "vbytes": 1,
          "txnCount": 1,
          "totalFeesSats": 1,
          "feeRates": {
            "min": 1,
            "max": 1,
            "avg": 1,
            "median": 1,
            "p75": 1,
            "p95": 1
          }
        }
      ]
    }
    POST /v1/rpc/bitcoin/tx HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 13
    
    {
      "tx": "text"
    }
    {
      "result": "text"
    }
    {
      "result": [
        {
          "txid": "text",
          "wtxid": "text",
          "allowed": true,
          "vsize": 1,
          "fees": {
            "base": 1
          },
          "rejectReason": "text",
          "packageError": "text"
        }
      ]
    }
    POST /v1/rpc/bitcoin/testmempoolaccept HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 36
    
    {
      "txList": [
        "text"
      ],
      "maxFeeRate": 0.1
    }
    GET /v1/block/current HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "block": {
        "height": 1,
        "hash": "text",
        "previousHash": "text",
        "timestamp": "text"
      }
    }
    GET /v1/block/height/{height} HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "block": {
        "height": 1,
        "hash": "text",
        "previousHash": "text",
        "timestamp": "text"
      }
    }
    POST /v2/rpc/bitcoin/getblockchaininfo HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 42
    
    {
      "method": "getblockchaininfo",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    POST /v2/rpc/bitcoin/getblockstats HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 38
    
    {
      "method": "getblockstats",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    POST /v2/rpc/bitcoin/getchaintips HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 37
    
    {
      "method": "getchaintips",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    POST /v2/rpc/bitcoin/getchaintxstats HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 40
    
    {
      "method": "getchaintxstats",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    POST /v2/rpc/bitcoin/getdifficulty HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 38
    
    {
      "method": "getdifficulty",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    POST /v2/rpc/bitcoin/getmempoolancestors HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 44
    
    {
      "method": "getmempoolancestors",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    POST /v2/rpc/bitcoin/getmempoolentry HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 40
    
    {
      "method": "getmempoolentry",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    POST /v2/rpc/bitcoin/getmempoolinfo HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 39
    
    {
      "method": "getmempoolinfo",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    POST /v2/rpc/bitcoin/getrawmempool HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 38
    
    {
      "method": "getrawmempool",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    POST /v2/rpc/bitcoin/gettxoutproof HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 38
    
    {
      "method": "gettxoutproof",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    POST /v2/rpc/bitcoin/decoderawtransaction HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 45
    
    {
      "method": "decoderawtransaction",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    POST /v2/rpc/bitcoin/decodescript HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 37
    
    {
      "method": "decodescript",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    POST /v2/rpc/bitcoin/getrawtransaction HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 42
    
    {
      "method": "getrawtransaction",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    POST /v2/rpc/bitcoin/getrawtransaction HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 42
    
    {
      "method": "getrawtransaction",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    POST /v2/rpc/bitcoin/createmultisig HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 39
    
    {
      "method": "createmultisig",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    GET /v1/bitcoin/price HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "currency": "text",
      "rate": 1
    }
    GET /v1/mempool/ordinals/address/{address}/inscriptions HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "limit": 1,
      "offset": 1,
      "items": [
        {
          "id": "text",
          "offset": 1,
          "parentIds": [
            "text"
          ],
          "delegateId": "text",
          "contentType": "text",
          "contentLength": 1,
          "effectiveContentType": "text",
          "number": 1,
          "sat": 1,
          "charms": [
            "text"
          ],
          "currentOutput": "text",
          "currentAddress": "text",
          "value": 1,
          "contentUrl": "text",
          "renderUrl": "text",
          "collectionId": "text",
          "collectionName": "text",
          "collectionFloorPrice": {
            "valueInSats": "text",
            "valueInUsd": "text"
          },
          "lastInscriptionSalePrice": {
            "valueInSats": "text",
            "valueInUsd": "text"
          }
        }
      ]
    }
    GET /v1/ordinals/collections/{collectionId} HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "id": "text",
      "symbol": "text",
      "name": "text",
      "description": "text",
      "supply": "text",
      "holderCount": "text",
      "floorPrice": {
        "valueInSats": "text",
        "valueInUsd": "text",
        "percentageChange24h": {
          "valueInSats": "text",
          "valueInUsd": "text"
        }
      },
      "marketCap": {
        "valueInSats": "text",
        "valueInUsd": "text"
      },
      "volume24h": {
        "valueInSats": "text",
        "valueInUsd": "text",
        "percentageChange": {
          "valueInSats": "text",
          "valueInUsd": "text"
        }
      },
      "links": {
        "coinMarketCap": "text",
        "telegram": "text",
        "twitter": "text",
        "discord": "text",
        "website": "text"
      }
    }
    {
      "total": 1,
      "offset": 1,
      "limit": 1,
      "timePeriod": "text",
      "collections": [
        {
          "collectionId": "text",
          "tradingVolumeSats": "text",
          "name": "text",
          "logo": "text",
          "floorPrice": {
            "valueInSats": "text",
            "valueInUsd": "text",
            "percentageChange24h": {
              "valueInSats": "text",
              "valueInUsd": "text"
            }
          }
        }
      ]
    }
    GET /v1/ordinals/stats/collections/top-by-volume HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "transactions": [
        {
          "txid": "text",
          "ownActivity": [
            {
              "address": "text",
              "sent": 1,
              "received": 1,
              "outgoing": 1,
              "incoming": 1
            }
          ],
          "totalOut": 1,
          "totalIn": 1,
          "addressList": {
            "hasMore": true,
            "items": [
              {
                "address": "text",
                "type": "text",
                "isInput": true,
                "isOutput": true
              }
            ]
          },
          "runes": {
            "ownActivity": {
              "items": [
                {
                  "runeId": "text",
                  "runeName": "text",
                  "divisibility": 1,
                  "symbol": "text",
                  "address": "text",
                  "sent": "text",
                  "received": "text",
                  "outgoing": "text",
                  "incoming": "text"
                }
              ],
              "hasMore": true
            },
            "allActivity": {
              "items": [
                {
                  "runeId": "text",
                  "runeName": "text",
                  "divisibility": 1,
                  "symbol": "text",
                  "outgoing": "text",
                  "incoming": "text",
                  "isMint": true,
                  "isEtch": true,
                  "isBurn": true
                }
              ],
              "hasMore": true
            }
          },
          "inscriptions": {
            "items": [
              {
                "inscriptionId": "text",
                "contentType": "text",
                "address": "text",
                "sent": true,
                "received": true,
                "inscribed": true,
                "burned": true
              }
            ],
            "hasMore": true
          }
        }
      ],
      "offset": 1,
      "limit": 1
    }
    GET /v1/global/ordinals/multi-address/activity/mempool?addresses=bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch%2Cbc1px3kttdtg479vqfu0s2lhxvyuz2snhl8jct3f84k5heerl750n28scr9qt6 HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    GET /v1/bitcoin/tx/{txid}/hex HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    text
    POST /v1/rpc/bitcoin/rawtx HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 75
    
    {
      "txid": "6c5ffa32f6942bb82bf36239fb8a6d233c4da6f91bde81869accef2ef6be674e"
    }
    GET /v1/ordinals/tx/{txid} HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "confirmations": 1,
      "blockHeight": 1,
      "isOrdinalsIndexed": true,
      "inputs": [
        {
          "vin": 1,
          "prevTxid": "text",
          "prevVout": 1,
          "value": 1,
          "address": "text",
          "isCoinbase": true,
          "runes": [
            {
              "runeId": "text",
              "amount": "text",
              "divisibility": 1
            }
          ],
          "inscriptions": [
            {
              "id": "text",
              "contentType": "text",
              "offset": 1
            }
          ]
        }
      ],
      "outputs": [
        {
          "vout": 1,
          "value": 1,
          "address": "text",
          "script": "text",
          "runes": [
            {
              "runeId": "text",
              "runeName": "text",
              "amount": "text",
              "divisibility": 1
            }
          ],
          "inscriptions": [
            {
              "id": "text",
              "contentType": "text",
              "offset": 1
            }
          ]
        }
      ],
      "runeEvents": {
        "etch": {
          "runeId": "text",
          "runeName": "text",
          "divisibility": 1,
          "symbol": "text",
          "premine": "text",
          "turbo": true,
          "terms": {
            "amount": "text",
            "cap": "text",
            "heightLow": "text",
            "heightHigh": "text",
            "offsetLow": "text",
            "offsetHigh": "text"
          },
          "inscriptionId": "text"
        },
        "mint": {
          "runeId": "text",
          "runeName": "text",
          "amount": "text"
        }
      }
    }
    POST /v2/rpc/bitcoin/getblockhash HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 37
    
    {
      "method": "getblockhash",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    POST /v2/rpc/bitcoin/getblockfilter HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 39
    
    {
      "method": "getblockfilter",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    POST /v2/rpc/bitcoin/getblockcount HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 38
    
    {
      "method": "getblockcount",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    POST /v2/rpc/bitcoin/getblockheader HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 39
    
    {
      "method": "getblockheader",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    POST /v2/rpc/bitcoin/getmempooldescendants HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 46
    
    {
      "method": "getmempooldescendants",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    POST /v2/rpc/bitcoin/createrawtransaction HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 45
    
    {
      "method": "createrawtransaction",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    POST /v2/rpc/bitcoin/getrawtransaction HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 42
    
    {
      "method": "getrawtransaction",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    GET /v1/ordinals/address/{address}/utxo HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "limit": 1,
      "offset": 1,
      "total": 1,
      "rareSatsVersion": 1,
      "items": [
        {
          "txid": "text",
          "vout": 1,
          "value": 1,
          "blockHeight": 1,
          "satRanges": [
            {
              "range": {
                "start": "text",
                "end": "text"
              },
              "offset": 1,
              "sattributes": [
                "ALPHA",
                "BLOCK78",
                "FIRST_TRANSACTION",
                "PIZZA",
                "VINTAGE",
                "BLACK_UNCOMMON",
                "BLACK_RARE",
                "BLACK_EPIC",
                "BLACK_LEGENDARY",
                "BLOCK9",
                "BLOCK9_450",
                "BLOCK286",
                "JPEG",
                "LEGACY",
                "OMEGA",
                "FIBONACCI",
                "HITMAN",
                "NAKAMOTO",
                "SILK_ROAD",
                "PALINDROME",
                "1D_PALINDROME",
                "2D_PALINDROME",
                "3D_PALINDROME",
                "PALIBLOCK_PALINDROME",
                "PALINCEPTION",
                "PURE_PALINCEPTION",
                "PERFECT_PALINCEPTION",
                "SEQUENCE_PALINDROME",
                "NAME_PALINDROME",
                "COMMON",
                "UNCOMMON",
                "RARE",
                "EPIC",
                "LEGENDARY",
                "MYTHIC"
              ],
              "yearMined": 1,
              "block": 1,
              "inscriptions": [
                {
                  "contentType": "text",
                  "id": "text"
                }
              ]
            }
          ],
          "runes": [
            {
              "runeId": "text",
              "runeName": "text",
              "amount": "text",
              "divisibility": 1,
              "symbol": "text"
            }
          ]
        }
      ]
    }
    {
      "limit": 1,
      "offset": 1,
      "items": [
        {
          "id": "text",
          "offset": 1,
          "parentIds": [
            "text"
          ],
          "delegateId": "text",
          "blockHeight": 1,
          "contentType": "text",
          "contentLength": 1,
          "effectiveContentType": "text",
          "number": 1,
          "sat": 1,
          "charms": [
            "text"
          ],
          "currentOutput": "text",
          "currentAddress": "text",
          "lastTransferHeight": 1,
          "lastTransferTimestamp": 1,
          "value": 1,
          "contentUrl": "text",
          "renderUrl": "text",
          "collectionId": "text",
          "collectionName": "text",
          "collectionFloorPrice": {
            "valueInSats": "text",
            "valueInUsd": "text"
          },
          "lastInscriptionSalePrice": {
            "valueInSats": "text",
            "valueInUsd": "text"
          },
          "name": "text",
          "indexerHeight": 1
        }
      ]
    }
    GET /v1/ordinals/address/{address}/inscriptions HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    GET /v1/ordinals/collections HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "limit": 1,
      "offset": 1,
      "total": 1,
      "items": [
        {
          "id": "text",
          "name": "text",
          "description": "text",
          "links": {
            "coinMarketCap": "text",
            "telegram": "text",
            "twitter": "text",
            "discord": "text",
            "website": "text"
          }
        }
      ]
    }
    GET /v1/runes/address/{address}/utxo HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "limit": 1,
      "offset": 1,
      "total": 1,
      "items": [
        {
          "txid": "text",
          "vout": 1,
          "amount": 1,
          "blockHeight": 1,
          "runes": [
            {
              "runeName": "text",
              "runeId": "text",
              "amount": "text",
              "divisibility": 1,
              "symbol": "text"
            }
          ]
        }
      ]
    }
    {
      "collectionId": "text",
      "collectionName": "text",
      "total": 1,
      "offset": 1,
      "limit": 1,
      "inscriptions": [
        {
          "id": "text",
          "number": 1,
          "sat": 1,
          "contentType": "text",
          "blockHeight": 1,
          "charms": [
            "text"
          ],
          "currentLocation": "text"
        }
      ]
    }
    GET /v1/ordinals/address/{address}/void-protocol-inscriptions/collection/{collectionId} HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "result": null,
      "error": null,
      "id": null
    }
    GET /v1/ordinals/address/{address}/collections HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "limit": 1,
      "offset": 1,
      "totalCollections": 1,
      "totalInscriptions": 1,
      "items": [
        {
          "id": "text",
          "symbol": "text",
          "name": "text",
          "description": "text",
          "supply": "text",
          "holderCount": "text",
          "floorPrice": {
            "valueInSats": "text",
            "valueInUsd": "text",
            "percentageChange24h": {
              "valueInSats": "text",
              "valueInUsd": "text"
            }
          },
          "marketCap": {
            "valueInSats": "text",
            "valueInUsd": "text"
          },
          "volume24h": {
            "valueInSats": "text",
            "valueInUsd": "text",
            "percentageChange": {
              "valueInSats": "text",
              "valueInUsd": "text"
            }
          },
          "links": {
            "coinMarketCap": "text",
            "telegram": "text",
            "twitter": "text",
            "discord": "text",
            "website": "text"
          },
          "total": 1,
          "inscriptionSubset": [
            {
              "id": "text",
              "number": 1,
              "contentType": "text"
            }
          ]
        }
      ]
    }
    GET /v1/inscriptions/{inscriptionId}/thumbnail HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "url": "text"
    }
    {}
    POST /v1/inscriptions/estimate HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 2
    
    {}
    GET /v1/ordinals/address/{address}/runes/{identifier}/activity HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "offset": 1,
      "limit": 1,
      "items": [
        {
          "blockHeight": 1,
          "blockTime": "text",
          "txid": "text",
          "index": 1,
          "type": "text",
          "amount": "text",
          "address": "text"
        }
      ]
    }
    GET /v1/inscriptions/batch?inscriptionIds=text HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    [
      {
        "id": "text",
        "offset": 1,
        "parentIds": [
          "text"
        ],
        "delegateId": "text",
        "blockHeight": 1,
        "contentType": "text",
        "contentLength": 1,
        "effectiveContentType": "text",
        "number": 1,
        "sat": 1,
        "charms": [
          "text"
        ],
        "currentOutput": "text",
        "currentAddress": "text",
        "lastTransferHeight": 1,
        "lastTransferTimestamp": 1,
        "value": 1,
        "contentUrl": "text",
        "renderUrl": "text",
        "collectionId": "text",
        "collectionSymbol": "text",
        "collectionName": "text",
        "collectionFloorPrice": {
          "valueInSats": "text",
          "valueInUsd": "text"
        },
        "lastInscriptionSalePrice": {
          "valueInSats": "text",
          "valueInUsd": "text"
        },
        "name": "text",
        "indexerHeight": 1
      }
    ]
    {}
    POST /v1/inscriptions/order HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 2
    
    {}
    GET /v1/inscriptions/order/{orderId} HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {}
    POST /v2/rpc/bitcoin/getblock HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 33
    
    {
      "method": "getblock",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    POST /v2/rpc/bitcoin/gettxout HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 33
    
    {
      "method": "gettxout",
      "params": []
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    GET /v1/runes?startingWith=text HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "items": [
        {
          "runeId": "text",
          "runeName": "text",
          "symbol": "text",
          "divisibility": 1
        }
      ],
      "offset": 1,
      "limit": 1
    }
    GET /v1/ordinals/collections/{collectionId}/holders HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "total": 1,
      "offset": 1,
      "limit": 1,
      "items": [
        {
          "inscriptionCount": 1,
          "address": "text"
        }
      ]
    }
    GET /v1/ordinals/collections/{collectionId}/inscriptions HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "collectionId": "text",
      "collectionName": "text",
      "total": 1,
      "offset": 1,
      "limit": 1,
      "inscriptions": [
        {
          "id": "text",
          "number": 1,
          "sat": 1,
          "contentType": "text",
          "blockHeight": 1,
          "charms": [
            "text"
          ]
        }
      ]
    }
    GET /v1/inscriptions/{inscriptionId} HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "id": "text",
      "offset": 1,
      "parentIds": [
        "text"
      ],
      "delegateId": "text",
      "blockHeight": 1,
      "contentType": "text",
      "contentLength": 1,
      "effectiveContentType": "text",
      "number": 1,
      "sat": 1,
      "charms": [
        "text"
      ],
      "currentOutput": "text",
      "currentAddress": "text",
      "lastTransferHeight": 1,
      "lastTransferTimestamp": 1,
      "value": 1,
      "contentUrl": "text",
      "renderUrl": "text",
      "collectionId": "text",
      "collectionSymbol": "text",
      "collectionName": "text",
      "collectionFloorPrice": {
        "valueInSats": "text",
        "valueInUsd": "text"
      },
      "lastInscriptionSalePrice": {
        "valueInSats": "text",
        "valueInUsd": "text"
      },
      "name": "text",
      "indexerHeight": 1
    }
    GET /v1/inscriptions/{inscriptionId}/activity HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "offset": 1,
      "limit": 1,
      "total": 1,
      "items": [
        {
          "blockHeight": 1,
          "blockTime": "text",
          "inscriptionId": "text",
          "toAddress": "text",
          "txid": "text",
          "vout": 1
        }
      ]
    }
    {}
    POST /v1/inscriptions/order/{orderId}/execute HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 2
    
    {}
    GET /v1/runes/{identifier} HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "chain": "text",
      "runeName": "text",
      "symbol": "text",
      "runeId": "text",
      "spacedRuneName": "text",
      "amount": "text",
      "cap": "text",
      "divisibility": "text",
      "premine": "text",
      "turbo": true,
      "genesisBlock": 1,
      "mint": {
        "offset": {
          "low": "text",
          "high": "text"
        },
        "height": {
          "low": "text",
          "high": "text"
        }
      },
      "holders": "text",
      "supply": "text",
      "marketCap": {
        "valueInSats": "text",
        "valueInUsd": "text"
      },
      "prices": {
        "floorPrice": {
          "marketplace": "text",
          "valueInSats": "text",
          "valueInUsd": "text",
          "percentageChange24h": {
            "valueInSats": "text",
            "valueInUsd": "text"
          }
        },
        "lastSalePrice": {
          "marketplace": "text",
          "valueInSats": "text",
          "valueInUsd": "text"
        }
      },
      "volume24h": {
        "valueInSats": "text",
        "valueInUsd": "text",
        "percentageChange": {
          "valueInSats": "text",
          "valueInUsd": "text"
        }
      },
      "inscriptionId": "text",
      "inscriptionRenderUrl": "text"
    }
    {
      "topGainers": [
        {
          "runeId": "text",
          "absPriceIncrease": 1,
          "pctPriceIncrease": 1,
          "currentPrice": {
            "valueInSats": "text"
          },
          "previousPrice": {
            "valueInSats": "text"
          }
        }
      ],
      "topLosers": [
        {
          "runeId": "text",
          "absPriceIncrease": 1,
          "pctPriceIncrease": 1,
          "currentPrice": {
            "valueInSats": "text"
          },
          "previousPrice": {
            "valueInSats": "text"
          }
        }
      ]
    }
    GET /v1/runes/stats/top-gainers-losers HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    GET /v1/runes/{identifier}/activity HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "offset": 1,
      "limit": 1,
      "items": [
        {
          "blockHeight": 1,
          "blockTime": "text",
          "txid": "text",
          "index": 1,
          "type": "text",
          "amount": "text",
          "address": "text"
        }
      ]
    }
    {
      "nextCursor": "text",
      "items": [
        {
          "blockHeight": 875000,
          "blockTime": "2024-12-20T15:30:00.000Z",
          "txid": "text",
          "inputs": [
            {
              "runeId": "840000:1",
              "address": "text",
              "amount": "1000000",
              "index": 0
            }
          ],
          "outputs": [
            {
              "runeId": "840000:1",
              "address": "text",
              "amount": "1000000",
              "index": 0
            }
          ]
        }
      ]
    }
    GET /v1/block/runes/transfers HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    POST /v1/tx/runes/decode HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 13
    
    {
      "tx": "text"
    }
    {
      "Runestone": {
        "edicts": [
          {
            "id": "text",
            "amount": 1,
            "output": 1
          }
        ],
        "etching": {
          "divisibility": 1,
          "premine": 1,
          "rune": "text",
          "spacers": 1,
          "symbol": "text",
          "terms": {
            "amount": 1,
            "cap": 1,
            "height": null,
            "offset": null
          },
          "turbo": true
        },
        "mint": null,
        "pointer": null
      },
      "Cenotaph": {
        "etching": 1,
        "flaws": 1,
        "mint": "text"
      }
    }
    {
      "total": 1,
      "offset": 1,
      "limit": 1,
      "timePeriod": "text",
      "runes": [
        {
          "runeId": "text",
          "tradingVolumeSats": "text",
          "name": "text",
          "symbol": "text",
          "inscriptionRenderUrl": "text",
          "floorPrice": {
            "valueInSats": "text",
            "valueInUsd": "text",
            "percentageChange24h": {
              "valueInSats": "text",
              "valueInUsd": "text"
            }
          },
          "marketCap": {
            "valueInSats": "text",
            "valueInUsd": "text"
          }
        }
      ]
    }
    GET /v1/runes/stats/top-by-volume HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    POST /v2/rpc/bitcoin HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Content-Type: application/json
    Accept: */*
    Content-Length: 113
    
    {
      "method": "getrawtransaction",
      "params": [
        "6c5ffa32f6942bb82bf36239fb8a6d233c4da6f91bde81869accef2ef6be674e",
        true
      ]
    }
    {
      "result": null,
      "error": null,
      "id": null
    }
    GET /v1/runes/{runeId}/historical-floor-prices?fromTimestamp=text HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    [
      {
        "timestamp": "text",
        "floorPrice": {
          "valueInSats": 1,
          "valueInUsd": "text"
        }
      }
    ]
    GET /v1/runes/batch-info?runeIds=text HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    [
      {
        "chain": "text",
        "runeName": "text",
        "symbol": "text",
        "runeId": "text",
        "spacedRuneName": "text",
        "amount": "text",
        "cap": "text",
        "divisibility": "text",
        "premine": "text",
        "turbo": true,
        "genesisBlock": 1,
        "mint": {
          "offset": {
            "low": "text",
            "high": "text"
          },
          "height": {
            "low": "text",
            "high": "text"
          }
        },
        "holders": "text",
        "supply": "text",
        "marketCap": {
          "valueInSats": "text",
          "valueInUsd": "text"
        },
        "prices": {
          "floorPrice": {
            "marketplace": "text",
            "valueInSats": "text",
            "valueInUsd": "text",
            "percentageChange24h": {
              "valueInSats": "text",
              "valueInUsd": "text"
            }
          },
          "lastSalePrice": {
            "marketplace": "text",
            "valueInSats": "text",
            "valueInUsd": "text"
          }
        },
        "volume24h": {
          "valueInSats": "text",
          "valueInUsd": "text",
          "percentageChange": {
            "valueInSats": "text",
            "valueInUsd": "text"
          }
        },
        "inscriptionId": "text",
        "inscriptionRenderUrl": "text"
      }
    ]
    {
      "result": null,
      "error": null,
      "id": null
    }
    GET /v1/runes/{identifier}/holders HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "offset": 1,
      "limit": 1,
      "total": 1,
      "items": [
        {
          "address": "text",
          "amount": "text",
          "lastUpdatedBlockHeight": 1
        }
      ]
    }
    {
      "limit": 1,
      "offset": 1,
      "total": 1,
      "items": [
        {
          "runeName": "text",
          "amount": "text",
          "divisibility": 1,
          "symbol": "text",
          "inscriptionId": "text",
          "id": "text"
        }
      ],
      "indexerHeight": 1
    }
    GET /v1/ordinals/address/{address}/runes HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "txids": [
        "text"
      ],
      "confirmedBalance": "text",
      "unconfirmedBalance": "text",
      "offset": 1,
      "limit": 1
    }
    GET /v1/bitcoin/address/{address}/summary HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    GET /v1/ordinals/address/{address}/inscriptions/collection/{collectionId} HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "collectionId": "text",
      "collectionName": "text",
      "total": 1,
      "offset": 1,
      "limit": 1,
      "inscriptions": [
        {
          "id": "text",
          "number": 1,
          "sat": 1,
          "contentType": "text",
          "blockHeight": 1,
          "charms": [
            "text"
          ],
          "currentLocation": "text"
        }
      ]
    }
    GET /v1/ordinals/collections/{collectionId}/historical-floor-prices?fromTimestamp=text HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    [
      {
        "timestamp": "text",
        "floorPrice": {
          "valueInSats": 1,
          "valueInUsd": "text"
        }
      }
    ]
    {
      "nextCursor": "text",
      "items": [
        {
          "blockHeight": 875000,
          "blockTime": "2024-12-20T15:30:00.000Z",
          "txid": "text",
          "inputs": [
            {
              "runeId": "840000:1",
              "address": "text",
              "amount": "1000000",
              "index": 0
            }
          ],
          "outputs": [
            {
              "runeId": "840000:1",
              "address": "text",
              "amount": "1000000",
              "index": 0
            }
          ]
        }
      ]
    }
    GET /v1/block/runes/transfers HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*
    
    {
      "balances": [
        {
          "runeId": "text",
          "divisibility": 1,
          "symbol": "text",
          "runeName": "text",
          "confirmedBalance": "text",
          "availableBalance": "text",
          "projectedBalance": "text",
          "pendingBalance": {
            "incomingAmount": "text",
            "outgoingAmount": "text",
            "netAmount": "text"
          },
          "prices": {
            "floorPrice": {
              "marketplace": "text",
              "percentageChange24h": {
                "valueInSats": "text",
                "valueInUsd": "text"
              },
              "valueInSats": "text",
              "valueInUsd": "text"
            },
            "lastSalePrice": {
              "marketplace": "text",
              "valueInSats": "text",
              "valueInUsd": "text"
            }
          },
          "volume24h": {
            "percentageChange": {
              "valueInSats": "text",
              "valueInUsd": "text"
            },
            "valueInSats": "text",
            "valueInUsd": "text"
          }
        }
      ],
      "indexerHeight": 1
    }
    GET /v2/runes/address/{address}/balance HTTP/1.1
    Host: api.secretkeylabs.io
    x-api-key: YOUR_API_KEY
    Accept: */*