Skip to main content
Testnet4 and Signet are supported — use https://testnet.api.bestinslot.xyz or https://signet_api.bestinslot.xyz.

Terminology

The Runes API uses field names that differ from the official Runes protocol terminology. The table below maps each API field to its Runes equivalent.
API fieldRunes termDescription
rune_nameNon-spaced unique Rune NameUnique identifier for the rune
deploy_txidetchingTransaction that created the rune
decimalsdivisibilityNumber of decimal places
per_mint_amountterms.amountAmount minted per mint event
mint_cntmintsCount of mint events so far
mint_cnt_limitterms.capMaximum allowed mint events
premined_supplypremineAmount mined at deploy time
total_minted_supplypremine + mint_cnt × per_mint_amountTotal ever minted
circulating_supplytotal - burnedCurrently in circulation
mintablemint_cnt < mint_cnt_limit & block rangeWhether minting is currently open
auto_upgradeturboAuto opt-in to new Runes features
event_typePossible values: input, new-allocation, mint, output, burn
Additional conventions:
  • output is formatted as txid:vout (e.g., 314e5e53...:1).
  • pkscript refers to the Bitcoin scriptPubKey.
  • avg_unit_price_in_sats is the median unit price of sales in the last 6 hours, falling back to recent sales if volume is low. This value is scaled by decimals to make ordering more meaningful. Returns null if there is insufficient data.

Runes testnet faucet

Basic, Pro, Dedicated — testnet only GET https://testnet.api.bestinslot.xyz/v3/runes/testnet_faucet Mints 1.0 (1_0000_0000 base units) of a test rune to a target address on testnet. Limited to 10 requests per 24 hours per API key.
address
string
required
Testnet Bitcoin wallet address to receive the test rune.
curl 'https://testnet.api.bestinslot.xyz/v3/runes/testnet_faucet?address=tb1qvhl8k0xu0stk956tjqx6q5ujp6tdyh24xcz0qq' \
  --header 'x-api-key: YOUR_API_KEY'
{
  "mint_txid": "43cec273ded990afcc681eb64da2e4884f7dc8518db01f82620dff98beaa0e49"
}

Runes tickers

Basic, Pro, Dedicated GET https://api.bestinslot.xyz/v3/runes/tickers Returns information about runes tickers in the requested order.
avg_unit_price_in_sats is scaled by decimals for ordering purposes. Sorting by avg_unit_price_in_sats, min_listed_unit_price_in_sats, min_listed_unit_price_unisat, listed_supply, listed_supply_ratio, marketcap, and total_volume requires a Pro key.
sort_by
string
required
Sort field. Options: rune_id, rune_number, rune_name, mint_cnt, total_minted_supply, burned_supply, circulating_supply, mint_progress, deploy_ts, holder_count, event_count. Pro tier adds: avg_unit_price_in_sats, min_listed_unit_price_in_sats, min_listed_unit_price_unisat, listed_supply, listed_supply_ratio, marketcap, total_volume.
order
string
required
Sort direction: asc or desc.
offset
integer
required
Pagination offset. Must be >= 0.
count
integer
required
Number of results. Range: 20–300.
minting_status
string
Filter by minting state. Set to not_complete to return only tickers where mintable = true; set to completed for tickers where mintable = false. Omit to include all tickers.
curl 'https://api.bestinslot.xyz/v3/runes/tickers?sort_by=rune_number&order=asc&offset=0&count=100' \
  --header 'x-api-key: YOUR_API_KEY'

Runes ticker count

Basic, Pro, Dedicated GET https://api.bestinslot.xyz/v3/runes/ticker_cnt Returns the total count of all runes tickers and the count of currently mintable runes tickers.
curl 'https://api.bestinslot.xyz/v3/runes/ticker_cnt' \
  --header 'x-api-key: YOUR_API_KEY'

Runes ticker info

Basic, Pro, Dedicated GET https://api.bestinslot.xyz/v3/runes/ticker_info Returns detailed information about a specific rune. You must provide exactly one of rune_name, rune_id, or rune_number.
avg_unit_price_in_sats, min_listed_unit_price_in_sats, listed_supply, listed_supply_ratio, marketcap, and total_sale_info are only available on Pro tier.
rune_name
string
Non-spaced Rune name (e.g., UNCOMMONGOODS).
rune_id
string
Rune ID (e.g., 840000:3).
rune_number
integer
Rune number.
curl 'https://api.bestinslot.xyz/v3/runes/ticker_info?rune_name=UNCOMMONGOODS' \
  --header 'x-api-key: YOUR_API_KEY'

Runes holders

Basic, Pro, Dedicated GET https://api.bestinslot.xyz/v3/runes/holders Returns holder balances for a given rune. You must provide exactly one of rune_name, rune_id, or rune_number.
The maximum value of count is 500 on standard keys and 5000 on Pro keys.
rune_name
string
Non-spaced Rune name.
rune_id
string
Rune ID.
rune_number
integer
Rune number.
sort_by
string
required
Sort field: balance.
order
string
required
Sort direction: asc or desc.
offset
integer
required
Pagination offset. Must be >= 0.
count
integer
required
Number of results. Range: 20–500 (up to 5000 for Pro keys).
curl 'https://api.bestinslot.xyz/v3/runes/holders?rune_name=UNCOMMONGOODS&sort_by=balance&order=desc&count=500&offset=0' \
  --header 'x-api-key: YOUR_API_KEY'

Runes output info

Basic, Pro, Dedicated GET https://api.bestinslot.xyz/v3/runes/output_info Returns runes data for a specific Bitcoin output (UTXO).
output
string
required
Outpoint to query, formatted as txid:vout (e.g., 314e5e53...:1).
curl 'https://api.bestinslot.xyz/v3/runes/output_info?output=314e5e53024ec5860bd2fa2a4e85db2fc9097fcf58caa63f253bb4f86ad4b412:1' \
  --header 'x-api-key: YOUR_API_KEY'

Runes batch output info

Basic, Pro, Dedicated POST https://api.bestinslot.xyz/v3/runes/batch_output_info Returns runes data for up to 100 Bitcoin outputs in a single request.
queries
string[]
required
Array of outpoint strings formatted as txid:vout. Maximum 100 entries.
curl --request POST \
  --url 'https://api.bestinslot.xyz/v3/runes/batch_output_info' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY' \
  --data '{
    "queries": [
      "314e5e53024ec5860bd2fa2a4e85db2fc9097fcf58caa63f253bb4f86ad4b412:1",
      "0979edfb33fa380fb8c80e53809e9d865169ac6857688b31446d577d5f6df869:1",
      "200380702f43b2a6403bd9576c48e74e7cf184d5ead280eaa25a2d71be9cb2c8:1"
    ]
  }'

Runes wallet balances

Basic, Pro, Dedicated GET https://api.bestinslot.xyz/v3/runes/wallet_balances Returns runes balances for a Bitcoin wallet. Provide either address or pkscript.
avg_unit_price_in_sats and min_listed_unit_price_in_sats in the response are scaled by decimals.
address
string
Bitcoin wallet address.
pkscript
string
Bitcoin scriptPubKey.
curl 'https://api.bestinslot.xyz/v3/runes/wallet_balances?address=tb1pd368q84tuark4naym2u5382p59jkd27nw5vu5s44uz8dwdlrcwhqzdl2l2' \
  --header 'x-api-key: YOUR_API_KEY'

Runes wallet valid outputs

Basic, Pro, Dedicated GET https://api.bestinslot.xyz/v3/runes/wallet_valid_outputs Returns unspent outputs (UTXOs) that contain runes for a given wallet. Provide either address or pkscript.
address
string
Bitcoin wallet address.
pkscript
string
Bitcoin scriptPubKey.
sort_by
string
required
Sort field: output, min_price, or unisat_price.
order
string
required
Sort direction: asc or desc.
offset
integer
required
Pagination offset. Must be >= 0.
count
integer
required
Number of results. Range: 20–2000.
curl 'https://api.bestinslot.xyz/v3/runes/wallet_valid_outputs?pkscript=51206c74701eabe7476acfa4dab9489d41a16566abd37519ca42b5e08ed737e3c3ae&sort_by=output&order=asc&offset=0&count=2000' \
  --header 'x-api-key: YOUR_API_KEY'

Runes wallet valid outputs for a single rune

Basic, Pro, Dedicated GET https://api.bestinslot.xyz/v3/runes/wallet_valid_outputs_single_rune Returns unspent outputs for a wallet filtered to a single rune. You must provide one of rune_name, rune_id, or rune_number, and one of address or pkscript.
rune_name
string
Non-spaced Rune name.
rune_id
string
Rune ID.
rune_number
integer
Rune number.
address
string
Bitcoin wallet address.
pkscript
string
Bitcoin scriptPubKey.
sort_by
string
required
Sort field: output, min_price, or unisat_price.
order
string
required
Sort direction: asc or desc.
offset
integer
required
Pagination offset. Must be >= 0.
count
integer
required
Number of results. Range: 20–2000.
curl 'https://api.bestinslot.xyz/v3/runes/wallet_valid_outputs_single_rune?address=bc1paa9fl7ae5cnlf9dr7gj0p4egga5fqxvgz0vhjd07h0znnf9xvz8qfsw3e8&rune_id=840000:3&sort_by=min_price&order=asc&offset=0&count=2000' \
  --header 'x-api-key: YOUR_API_KEY'

Runes valid outputs

Basic, Pro, Dedicated GET https://api.bestinslot.xyz/v3/runes/valid_outputs Returns all unspent outputs for a given rune ticker. You must provide one of rune_name, rune_id, or rune_number.
rune_name
string
Non-spaced Rune name.
rune_id
string
Rune ID.
rune_number
integer
Rune number.
sort_by
string
required
Sort field: output, amount, min_price, min_unit_price, unisat_price, or unisat_unit_price.
order
string
required
Sort direction: asc or desc.
offset
integer
required
Pagination offset. Must be >= 0.
count
integer
required
Number of results. Range: 20–2000.
curl 'https://api.bestinslot.xyz/v3/runes/valid_outputs?rune_name=UNCOMMONGOODS&sort_by=output&order=asc&offset=0&count=2000' \
  --header 'x-api-key: YOUR_API_KEY'

Runes activity on transaction

Basic, Pro, Dedicated GET https://api.bestinslot.xyz/v3/runes/events_on_tx Returns all runes activity events in a given Bitcoin transaction.
txid
string
required
Bitcoin transaction ID.
curl 'https://api.bestinslot.xyz/v3/runes/events_on_tx?txid=e49f0912f94b915c0dd12b7970083b348945c2fc7bc01a21e0bfa403827607cf' \
  --header 'x-api-key: YOUR_API_KEY'

Runes historical total supply

Basic, Pro, Dedicated GET https://api.bestinslot.xyz/v3/runes/historical_total_supply Returns the total supply of a rune at the start of a specific block height. You must provide one of rune_name, rune_id, or rune_number.
rune_name
string
Non-spaced Rune name.
rune_id
string
Rune ID.
rune_number
integer
Rune number.
block_height
integer
required
Bitcoin block height to query.
curl 'https://api.bestinslot.xyz/v3/runes/historical_total_supply?rune_name=UNCOMMONGOODS&block_height=860000' \
  --header 'x-api-key: YOUR_API_KEY'

Pro and Dedicated endpoints

The following endpoints require a Pro or Dedicated API key.

Get Runes sales information

Pro, Dedicated GET https://api.bestinslot.xyz/v3/runes/sales_info Returns sales count and volume data for a specific rune. You must provide one of rune_name, rune_id, or rune_number.
rune_name
string
Non-spaced Rune name.
rune_id
string
Rune ID.
rune_number
integer
Rune number.
marketplace_type
string
Filter to a single marketplace. See the Constants page for allowed values.
curl 'https://api.bestinslot.xyz/v3/runes/sales_info?rune_name=SATOSHINAKAMOTO&marketplace_type=unisat' \
  --header 'x-api-key: YOUR_API_KEY'

Get Runes market information

Pro, Dedicated GET https://api.bestinslot.xyz/v3/runes/market_info Returns market data for a specific rune. You must provide one of rune_name, rune_id, or rune_number.
rune_name
string
Non-spaced Rune name.
rune_id
string
Rune ID.
rune_number
integer
Rune number.
curl 'https://api.bestinslot.xyz/v3/runes/market_info?rune_name=SATOSHINAKAMOTO' \
  --header 'x-api-key: YOUR_API_KEY'

Runes listings

Pro, Dedicated GET https://api.bestinslot.xyz/v3/runes/listings Returns active listing information for a given rune. You must provide one of rune_name, rune_id, or rune_number.
rune_name
string
Non-spaced Rune name.
rune_id
string
Rune ID.
rune_number
integer
Rune number.
sort_by
string
required
Sort field: output, min_price, or unisat_price.
order
string
required
Sort direction: asc or desc.
offset
integer
required
Pagination offset. Must be >= 0.
count
integer
required
Number of results. Range: 20–100.
curl 'https://api.bestinslot.xyz/v3/runes/listings?rune_id=840000:3&sort_by=min_price&order=asc&offset=0&count=100' \
  --header 'x-api-key: YOUR_API_KEY'

Runes wallet activity

Pro, Dedicated GET https://api.bestinslot.xyz/v3/runes/wallet_activity Returns runes activity for a given wallet. By default, if the wallet is involved in a runes transaction, all events in that transaction are returned — even events affecting other wallets. You must provide one of address or pkscript. You can optionally filter to a single rune by providing one of rune_name, rune_id, or rune_number. In this case, only transactions where an event involves both the specified wallet and rune are returned. Set runes_filter_only_wallet to true to return only the events that directly involve the specified wallet, rather than all events in the matching transactions.
address
string
Bitcoin wallet address.
pkscript
string
Bitcoin scriptPubKey.
rune_name
string
Non-spaced Rune name (optional rune filter).
rune_id
string
Rune ID (optional rune filter).
rune_number
integer
Rune number (optional rune filter).
sort_by
string
required
Sort field: ts (timestamp).
order
string
required
Sort direction: asc or desc.
offset
integer
required
Pagination offset. Must be >= 0.
count
integer
required
Number of results. Range: 20–2000.
runes_filter_only_wallet
string
Set to "true" to return only runes events that directly involve the specified wallet. Defaults to "false", which returns all events in matching transactions.
curl 'https://api.bestinslot.xyz/v3/runes/wallet_activity?pkscript=51206c74701eabe7476acfa4dab9489d41a16566abd37519ca42b5e08ed737e3c3ae&sort_by=ts&order=desc&offset=0&count=2000' \
  --header 'x-api-key: YOUR_API_KEY'

Runes activity for a ticker

Pro, Dedicated GET https://api.bestinslot.xyz/v3/runes/activity Returns activity for a given rune ticker. You must provide one of rune_name, rune_id, or rune_number.
rune_name
string
Non-spaced Rune name.
rune_id
string
Rune ID.
rune_number
integer
Rune number.
sort_by
string
required
Sort field: output or amount.
order
string
required
Sort direction: asc or desc.
offset
integer
required
Pagination offset. Must be >= 0.
count
integer
required
Number of results. Range: 20–2000.
curl 'https://api.bestinslot.xyz/v3/runes/activity?rune_name=UNCOMMONGOODS&sort_by=output&order=desc&offset=0&count=2000' \
  --header 'x-api-key: YOUR_API_KEY'

Enterprise and Dedicated endpoints

The following endpoints require an Enterprise or Dedicated (with Enterprise Endpoints) API key.

Runes activity on block

Enterprise, Dedicated with Enterprise Endpoints GET https://api.bestinslot.xyz/v3/runes/activity_on_block Returns all runes activity events in a given Bitcoin block.
block_height
integer
required
Bitcoin block height to query.
curl 'https://api.bestinslot.xyz/v3/runes/activity_on_block?block_height=840000' \
  --header 'x-api-key: YOUR_API_KEY'

Runes all ID-name pairs

Enterprise, Dedicated with Enterprise Endpoints GET https://api.bestinslot.xyz/v3/runes/all_id_name_pairs Returns all rune ID and name pairs. When send_urls is set to true, the response also includes icon URL fields. The response will contain render_prefix, render_suffix, content_prefix, content_suffix, and per-rune r and ic fields. The r field indicates whether a render is available, and icon URLs are constructed as prefix + ic + suffix.
send_urls
string
Set to "true" to include icon URL fields in the response.
curl 'https://api.bestinslot.xyz/v3/runes/all_id_name_pairs' \
  --header 'x-api-key: YOUR_API_KEY'

Dedicated-only endpoints

The following endpoint requires a Dedicated API key.

Runes historical prices

Dedicated GET https://api.bestinslot.xyz/v3/runes/historical_prices Returns historical price data for a given rune. You must provide one of rune_name, rune_id, or rune_number. When granularity is set to 1d, the response returns the average price per day rather than individual data points.
rune_name
string
Non-spaced Rune name.
rune_id
string
Rune ID.
rune_number
integer
Rune number.
sort_by
string
required
Sort field: ts (timestamp).
order
string
required
Sort direction: asc or desc.
offset
integer
required
Pagination offset. Must be >= 0.
count
integer
required
Number of results. Range: 20–2000.
granularity
string
Time bucket size: "1h" for hourly or "1d" for daily averages. Omit for raw data points.
curl 'https://api.bestinslot.xyz/v3/runes/historical_prices?rune_id=1:0&sort_by=ts&order=desc&offset=0&count=2000' \
  --header 'x-api-key: YOUR_API_KEY'