REST API
Unauthenticated REST API reference for querying blocks, transactions, chain state, mempool, UTXOs, and fee estimates.
ابدأ من سير العمل الذي يطابق سبب وجودك هنا.
الوثائق واسعة. هذان المساران ينقلانك مباشرة إلى مادة المشغلين والبناة التي تقف خلف الmicrosite الجديدين.
BTX exposes an unauthenticated REST interface alongside the JSON-RPC interface. Enable it with the -rest flag when starting btxd. The REST API runs on the same port as RPC (default 19334 for mainnet).
./build-btx/bin/btxd -daemon -server -rest No authentication is required. The same consistency guarantees as the RPC interface apply.
Format Options
Most endpoints support three output formats via file extension:
| Extension | Content-Type | Description |
|---|---|---|
.json | application/json | JSON object |
.hex | text/plain | Hex-encoded binary |
.bin | application/octet-stream | Raw binary |
Blocks
Get Block
GET /rest/block/. Returns a full block by hash. Responds with 404 if the block does not exist.
curl -s http://127.0.0.1:19334/rest/block/00000000000000...abc.json | jq . Get Block (without transaction details)
GET /rest/block/notxdetails/. Same as above but JSON responses contain only transaction hashes instead of full transaction objects.
Block Hash by Height
GET /rest/blockhashbyheight/. Given a height, returns the hash of the block at that position in the best chain.
# Get the hash of block 50000
curl -s http://127.0.0.1:19334/rest/blockhashbyheight/50000.json | jq . Block Headers
GET /rest/headers/.?count= Returns COUNT block headers starting from the given hash, in upward direction. Defaults to 5. Returns empty if the block does not exist or is not in the active chain.
# Get 10 headers starting from a block hash
curl -s "http://127.0.0.1:19334/rest/headers/00000000...abc.json?count=10" | jq . Transactions
GET /rest/tx/. Returns a transaction by hash. Responds with 404 if not found.
By default, this endpoint searches only the mempool. To query confirmed transactions, enable the transaction index:
btxd -txindex=1 -rest # Fetch a transaction as JSON
curl -s http://127.0.0.1:19334/rest/tx/abc123...def.json | jq . Chain Info
GET /rest/chaininfo.json Returns blockchain processing state. JSON only. Equivalent to the getblockchaininfo RPC.
curl -s http://127.0.0.1:19334/rest/chaininfo.json | jq . Deployment Info
GET /rest/deploymentinfo.json
GET /rest/deploymentinfo/.json Returns consensus deployment state at the current tip or at a specific block hash. JSON only. Equivalent to getdeploymentinfo.
Mempool
Mempool Info
GET /rest/mempool/info.json Returns mempool statistics. JSON only. Equivalent to getmempoolinfo.
curl -s http://127.0.0.1:19334/rest/mempool/info.json | jq . Mempool Contents
GET /rest/mempool/contents.json?verbose=&mempool_sequence= Returns all transactions in the mempool. JSON only. Defaults to verbose=true and mempool_sequence=false. Equivalent to getrawmempool.
UTXO Set
GET /rest/getutxos/-/-/.../-.
GET /rest/getutxos/checkmempool/-/.../-. Query the UTXO set for a list of outpoints. The /checkmempool/ variant also considers unconfirmed transactions.
# Check a specific UTXO (include mempool)
curl -s http://127.0.0.1:19334/rest/getutxos/checkmempool/b2cdfd7b...5d75-0.json | jq . Example response:
{
"chainHeight": 52347,
"chaintipHash": "00000000fb01a7f3...",
"bitmap": "1",
"utxos": [
{
"height": 52100,
"value": 8.8687,
"scriptPubKey": {
"asm": "...",
"type": "pubkeyhash",
"address": "..."
}
}
]
} Block Filters
Get Block Filter
GET /rest/blockfilter//. Returns the block filter for the given block and filter type. Responds with 404 if the block does not exist.
Block Filter Headers
GET /rest/blockfilterheaders//.?count= Returns COUNT block filter headers starting from the given hash. Defaults to 5.
Spent Transaction Outputs
GET /rest/spenttxouts/. Returns spent transaction output lists for each transaction in the block. Responds with 404 if the block does not exist or its undo data is unavailable.
Fee Estimates
GET /rest/fee//.json MODE is one of unset, conservative, or economical. TARGET is the desired confirmation time in blocks.
# Get economical fee estimate for 6-block confirmation
curl -s http://127.0.0.1:19334/rest/fee/economical/6.json | jq . Consistency Guarantees
The REST API provides the same consistency guarantees as the JSON-RPC interface. Responses reflect the state at the time the request is processed, but the chain tip may advance between requests.
Limitations
- Connection limits: Opening too many HTTP connections simultaneously can exhaust file descriptors and crash the node. Consider increasing your system's file descriptor limit and rate-limiting client connections.
- In-memory handling: Block requests are handled entirely in memory. Very large blocks may consume significant RAM.
- XSS risk: Running a web browser on the same machine with REST enabled can allow cross-site requests to read chain data via
scripttags targetinghttp://127.0.0.1:19334/rest/....
Default Ports
| Network | RPC/REST Port |
|---|---|
| Mainnet | 19334 |
| Testnet | 29334 |
| Testnet4 | 48332 |
| Signet | 38332 |
| Regtest | 18443 |