Welcome to the Subfrost API. This service provides access to Bitcoin, Ordinals, Runes, and Alkanes data.
Base URL: https:///v4/api
All endpoints expect POST requests with a JSON body unless otherwise noted.
"OK"
{ "bitcoin": { "usd": 100000 } }
{ "days": "1" }
{ "limit": 10, "offset": 0 }
{ "tokens": [...], "total": 100, "count": 10, "limit": 10, "offset": 0 }
{ "address": "bc1q..." }
[ { "alkaneId": { "block": "100", "tx": "1" }, ... } ]
{ "alkaneId": { "block": "100", "tx": "1" } }
{ "address": "bc1q..." }
{ "address": "bc1q..." }
{ "utxos": [...] }
{ "query": "DOGE", "limit": 10, "offset": 0 }
{ "tokens": [...], "pools": [] }
{ "address": "bc1q...", "include_outpoints": true }
{ "ok": true, "address": "...", "balances": { "100:1": "500" }, "outpoints": [...] }
{ "outpoint": "txid:vout" }
{ "pool": "block:tx", "start_time": 1234567890, "limit": 100 }
{ "ok": true, "trades": [...] }
{ "pool": "block:tx", "interval": "1h", "limit": 500 }
{ "ok": true, "candles": [...] }
{ "pool": "block:tx" }
{ "ok": true, "reserve0": "...", "reserve1": "..." }
{ "factoryId": { "block": "...", "tx": "..." } }
{ "pools": [...] }
{ "poolId": { "block": "...", "tx": "..." } }
{ "factoryId": { ... }, "alkaneId": { ... } }
{ "address": "bc1q..." }
{ "positions": [...] }
{ "alkane": "block:tx", "prefix": "optional_prefix", "limit": 100 }
{ "ok": true, "keys": { "key_hex": { "value": "hex", ... } } }
URL: https:///v4/jsonrpc
To execute these methods remotely, send a POST request to the endpoint with a standard JSON-RPC 2.0 payload:
{
"jsonrpc": "2.0",
"method": "method_name",
"params": [ ... ],
"id": 1
}
Method Naming Convention:
esplora_, ord_).: to separate path segments (e.g., esplora_mempool:recent maps to /mempool/recent).:: to indicate where a parameter from params should be inserted (e.g., esplora_address::txs with param [addr] maps to /address/addr/txs).When executing Lua scripts via sandshrew_evalscript or sandshrew_evalsaved, a global table _RPC is available.
Naming Convention for `_RPC` Methods:
_RPC is derived from the JSON-RPC method name by removing all colons (:) and hyphens (-).esplora_) is preserved.Examples:
esplora_address::utxo → _RPC.esplora_addressutxo(address)esplora_block::txs → _RPC.esplora_blocktxs(hash)esplora_fee-estimates → _RPC.esplora_feeestimates()btc_getblockcount → _RPC.btc_getblockcount()All alkanes methods are forwarded to metashrew_view internally: