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...
Retrieve statistics regarding the fee rates of transactions within estimated mempool blocks.
getblockstatsgetchaintipsgetchaintxstatsgetdifficulty[
{
"status": "confirmed",
"address": "bc1qjpnsvwgsxtf005x2qd28l3zlmexa3095fa6g4e",
"totalSatsIn": "0",
"totalSatsOut": "1421459",
"txid": "cc46ce35c459cd91585ec3848e0ec58b10a24770da5cdd264da41da7b3f07649",
"blockHeight": 928800,
"blockTime": "2025-12-21T07:42:08.000+02:00"
}
]WWW-AuthenticateGET /v1/bitcoin/price HTTP/1.1
Host: api.secretkeylabs.ioHTTP/1.1 402 Payment Required
WWW-Authenticate: Payment id="<challenge-id>", realm="https://api.secretkeylabs.io", method="lightning", amount="1", ...
Cache-Control: no-store
Content-Type: application/problem+json
{
"type": "https://paymentauth.org/problems/payment-required",
"title": "Payment Required",
"status": 402
}GET /v1/bitcoin/price HTTP/1.1
Host: api.secretkeylabs.io
Authorization: Payment <base64url-encoded-credential>HTTP/1.1 200 OK
Payment-Receipt: <base64url-encoded-receipt>
Content-Type: application/json
{ ... }{
"type": "https://paymentauth.org/problems/invalid-credential",
"title": "Forbidden",
"status": 403,
"detail": "Credential was issued for /v1/bitcoin/price, not /v1/runes"
}# Preview cost (dry run)
xverse-wallet pay request https://api.secretkeylabs.io/v1/bitcoin/price --json
# Execute the paid request
xverse-wallet pay request https://api.secretkeylabs.io/v1/bitcoin/price --yes --json
# Discover MPP-enabled endpoints
xverse-wallet pay api --jsoncurl -i https://api.secretkeylabs.io/v1/bitcoin/pricecurl -H "Authorization: Payment <base64url-credential>" \
https://api.secretkeylabs.io/v1/bitcoin/pricexverse-wallet pay api --jsonclaude mcp add --transport http xverse https://mcp.secretkeylabs.io/mcp \
--header "Authorization: Bearer <your-api-key>"{
"mcpServers": {
"xverse": {
"command": "npx",
"args": [
"-y", "mcp-remote", "https://mcp.secretkeylabs.io/mcp",
"--header", "Authorization: Bearer <your-api-key>"
]
}
}
}npx mcp-remote https://mcp.secretkeylabs.io/mcp --header "Authorization: Bearer <your-api-key>"{
"mcpServers": {
"xverse": {
"command": "npx",
"args": [
"-y", "mcp-remote", "https://mcp.secretkeylabs.io/mcp",
"--header", "Authorization: Bearer <your-api-key>"
]
}
}
}codex mcp add xverse --url https://mcp.secretkeylabs.io/mcp# ~/.codex/config.toml
[features]
experimental_use_rmcp_client = true{
"mcpServers": {
"xverse": {
"command": "npx",
"args": [
"-y", "mcp-remote", "https://mcp.secretkeylabs.io/mcp",
"--header", "Authorization: Bearer <your-api-key>"
]
}
}
}{
"context_servers": {
"xverse": {
"source": "custom",
"command": "npx",
"args": [
"-y", "mcp-remote", "https://mcp.secretkeylabs.io/mcp",
"--header", "Authorization: Bearer <your-api-key>"
],
"env": {}
}
}
}bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxchBitcoin balance for an address
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch025Address summary with txids and balance
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch060Paginated Utxo list
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch060falsefalsePaginated Utxo list
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch,bc1px3kttdtg479vqfu0s2lhxvyuz2snhl8jct3f84k5heerl750n28scr9qt6060Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch,bc1px3kttdtg479vqfu0s2lhxvyuz2snhl8jct3f84k5heerl750n28scr9qt6060Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch25List of unconfirmed txs
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
Transaction id
6c5ffa32f6942bb82bf36239fb8a6d233c4da6f91bde81869accef2ef6be674ePattern: ^[a-fA-F0-9]{64}$Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
Transaction id
6c5ffa32f6942bb82bf36239fb8a6d233c4da6f91bde81869accef2ef6be674ePattern: ^[a-fA-F0-9]{64}$Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
Transaction id
6c5ffa32f6942bb82bf36239fb8a6d233c4da6f91bde81869accef2ef6be674ePattern: ^[a-fA-F0-9]{64}$Default Response
Default Response
No content
Transaction id
6c5ffa32f6942bb82bf36239fb8a6d233c4da6f91bde81869accef2ef6be674ePattern: ^[a-fA-F0-9]{64}$Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
Transaction id
6c5ffa32f6942bb82bf36239fb8a6d233c4da6f91bde81869accef2ef6be674ePattern: ^[a-fA-F0-9]{64}$Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
Transaction id
6c5ffa32f6942bb82bf36239fb8a6d233c4da6f91bde81869accef2ef6be674ePattern: ^[a-fA-F0-9]{64}$Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
["e79134080a83fe3e0e06ed6990c5a9b63b362313341745707a2bff7d788a1375:0"]List of ordinal detail outputs
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
Raw transaction hex to be posted to the Bitcoin network.
Default Response
Default Response
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
Block information
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
Block information
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
Raw transaction hex to be checked with testmempoolaccept method.
0.1Example: 0.1Default Response
Default Response
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
Default Response
Default Response
No content
025Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
Default Response
Default Response
getrawtransactionPossible values: Default Response
Default Response
{"value":"wzrds"}010Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
{"value":"wzrds"}ISO timestamp - no older than 1 year ago (e.g. 2024-08-29T03:09:35.236Z)
ISO timestamp - up until now / not in the future
Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch060Inscriptions owned by the address
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
{"value":"wzrds"}010Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
5f3dafcdd142358b332e0939d37174b76472735df8df29325901d2c7d18a152ci2Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
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 hourtrailing30d - trailing 30 days' volume, ending at the start of the prior hour1d - prior day's volume, ending at midnight GMT7d - prior seven days' volume, ending at midnight GMT30d - prior 30 days' volume, ending at midnight GMT24hPossible values: 010Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
5f3dafcdd142358b332e0939d37174b76472735df8df29325901d2c7d18a152ci2Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
5f3dafcdd142358b332e0939d37174b76472735df8df29325901d2c7d18a152ci2Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
5f3dafcdd142358b332e0939d37174b76472735df8df29325901d2c7d18a152ci2Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch060Rune balances for all utxos belonging to the address
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxchDefault Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
025from date, inclusive - (e.g. 2024-08-29)
to date, exclusive - (e.g. 2024-09-01)
Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch{"value":"wzrds"}025Inscriptions for a specific collection owned by an address
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch060Ordinal information for all utxos belonging to the address
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch060Inscriptions owned by the address
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
025Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
{"value":"wzrds"}Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
bc1px3kttdtg479vqfu0s2lhxvyuz2snhl8jct3f84k5heerl750n28scr9qt6{"value":"UNCOMMONGOODS"}025Rune activity for a specific rune or address
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch060falseDefault Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxch060Collection info for inscriptions owned by the address
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
Search for runes starting with this string
UNCOMMONruneName - sort by rune name ascendingetch - sort by etching order block_height, rune_etch_index ascendingruneNamePossible values: 05Search results for runes
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
bc1q0egjvlcfq77cxd9kvpgppyuxckzvws46e3sxchbitminer025Inscriptions for a specific collection owned by an address
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
UNCOMMONGOODS,840000:3Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
{"value":"wzrds"}ISO timestamp - no older than 1 year ago (e.g. 2024-08-29T03:09:35.236Z)
ISO timestamp - up until now / not in the future
Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
0Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
Default Response
Default Response
No content
025Default Response
Invalid input
Invalid input
Unauthorized
Not found
Rate limit exceeded
Internal server error
Internal server error
Default Response
Default Response
No content
Default Response
Default Response
Inscriptions for a specific collection owned by an address
Default Response
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 /v1/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: */*
{
"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/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/bitcoin/tx/{txid}/hex HTTP/1.1
Host: api.secretkeylabs.io
x-api-key: YOUR_API_KEY
Accept: */*
textPOST /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 /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"
}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"
}
}{
"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
}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/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/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/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/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/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
}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/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/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/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
}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/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/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/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
}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
}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
}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
}GET /v1/bitcoin/price HTTP/1.1
Host: api.secretkeylabs.io
x-api-key: YOUR_API_KEY
Accept: */*
{
"currency": "text",
"rate": 1
}POST /v1/portfolio/register HTTP/1.1
Host: api.secretkeylabs.io
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 41
{
"assetType": "text",
"addresses": [
"text"
]
}GET /v1/portfolio?assetType=text HTTP/1.1
Host: api.secretkeylabs.io
x-api-key: YOUR_API_KEY
Accept: */*
{
"limit": 1,
"offset": 1,
"total": 1,
"items": [
{
"assetType": "bitcoin",
"address": "text"
}
]
}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 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/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"
}
]
}[
{
"timestamp": "text",
"floorPrices": [
{
"marketplace": "text",
"valueInSats": 1,
"valueInUsd": "text"
}
]
}
]GET /v2/ordinals/collections/{collectionId}/historical-floor-prices?fromTimestamp=text 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",
"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/{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
}{
"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: */*
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
}
]
}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
{}{}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 /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
{}{
"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: */*
GET /v1/portfolio/history?address=text&startDate=text&endDate=text HTTP/1.1
Host: api.secretkeylabs.io
x-api-key: YOUR_API_KEY
Accept: */*
{
"limit": 1,
"offset": 1,
"lastBlockHeight": 1,
"items": [
{
"assetType": "text",
"assetId": "text",
"address": "text",
"balance": {
"valueInSats": "text",
"valueInUsd": "text"
},
"date": "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}/inscriptions/collection/{collectionId} HTTP/1.1
Host: api.secretkeylabs.io
x-api-key: YOUR_API_KEY
Accept: */*
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"
}
]
}
]
}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 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/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"
}
}{
"offset": 1,
"limit": 1,
"items": [
{
"blockHeight": 1,
"blockTime": "text",
"txid": "text",
"index": 1,
"type": "text",
"amount": "text",
"address": "text"
}
]
}GET /v1/ordinals/address/{address}/runes/{identifier}/activity HTTP/1.1
Host: api.secretkeylabs.io
x-api-key: YOUR_API_KEY
Accept: */*
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"
}
]
}
]
}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/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"
}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
}{
"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: */*
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"
}
][
{
"timestamp": "text",
"floorPrice": {
"valueInSats": 1,
"valueInUsd": "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: */*
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
}
]
}POST /v1/subscription HTTP/1.1
Host: api.secretkeylabs.io
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 88
{
"webhookEndpoint": {
"url": "text"
},
"subscriptionAddressPredicate": {
"addresses": [
"text"
]
}
}GET /v1/subscription HTTP/1.1
Host: api.secretkeylabs.io
x-api-key: YOUR_API_KEY
Accept: */*
{
"limit": 1,
"offset": 1,
"total": 1,
"items": [
{
"id": 1,
"webhookEndpoint": {
"url": "text",
"updatedAt": "text"
},
"subscriptionAddressPredicate": {
"addresses": [
"text"
],
"updatedAt": "text"
}
}
]
}DELETE /v1/subscription/{subscriptionId} 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: */*
{
"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: */*
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
}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
}
]{
"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: */*