DEVELOPERS_API
API documentation
https://api.crosslink.cipherscan.app/v1Quick start
Make a request to the API base above. Paths in this reference already include /v1; append them to the host only.
curl 'https://api.crosslink.cipherscan.app/v1/blocks?limit=5'This is the v1 contract reference. Use a deployment with v1 enabled; the planned mainnet host is api.zecblock.com. The existing production API continues until cutover. A gated preview requires X-API-Preview-Key; the private local adapter handles preview access and allows reads only.
Access
Public data routes do not require an account after launch. Updating or deleting a Crosslink node registration requires its ownership token. Paid/private services and operational routes are excluded from this reference.
Network
Confirm meta.network in the response. Endpoint availability and data coverage vary by network; Crosslink routes require a Crosslink deployment.
Using parameters
Each endpoint lists its required values, types and known limits. Start with the request template, then add the optional filters you need.
Path · choose a resource
Replace :heightOrHash in /v1/blocks/:heightOrHash with a block height, such as /v1/blocks/3000000. Do not include the colon or angle brackets.
Query · filter the result
Add ? before the first value and & between values. For example, ?limit=5 requests five blocks. Omit an optional parameter to use the endpoint’s default.
curl --get 'https://api.crosslink.cipherscan.app/v1/blocks' \
--data-urlencode 'limit=5'
# Continue the same list using the cursor returned in meta.page.
curl --get 'https://api.crosslink.cipherscan.app/v1/blocks' \
--data-urlencode 'limit=5' \
--data-urlencode 'cursor=<nextCursor>'--get keeps this a GET request; --data-urlencode safely encodes query values. In JavaScript, build query strings with URLSearchParams. Keep the same filters when following a cursor, and do not combine filters unless the endpoint supports that combination.
Header · supply access credentials
Headers stay outside the URL: -H 'X-Node-Token: <ownership-token>'. Use your registration’s token only for the matching node operation. Preview access uses the separate X-API-Preview-Key header.
JSON body · send structured values
POST endpoints show an example request.json and the accepted fields. Save your values in that file, then use --data @request.json with Content-Type: application/json. JSON numbers and booleans are unquoted; strings use double quotes.
Responses & units
Successful responses contain data and meta. The payload belongs to the endpoint; lists with cursor pagination return an array in data. Read freshness and network from meta.
const response = await fetch('https://api.crosslink.cipherscan.app/v1/blocks?limit=5');
const body = await response.json();
if (!response.ok) {
throw new Error(body.detail ?? body.title ?? 'Request failed');
}
const { data: blocks, meta } = body;
console.log(blocks, meta.network, meta.freshness);Exact amounts
Fields identified as zatoshis are decimal strings: 100000000 zatoshis = 1 ZEC. Preserve them as strings or integers such as JavaScript BigInt. Other monetary fields keep their field-defined units.
Observation time
meta.generatedAt is response generation time. Data observation time is meta.source.observedAt; it can be null. Missing or unavailable values do not mean zero.
Privacy and schema coverage
Individual shielded balances and shielded address histories are not publicly queryable. Transparent receivers have public activity; a Unified Address is not itself a public account history. Pool totals are public aggregates.
The OpenAPI file defines requests and the shared envelope. Many domain payloads still use broad object schemas, so it is not a complete field-by-field data dictionary. This reference avoids fabricating response examples. Learn about Zcash privacy →
Pagination
Endpoints marked Cursor pagination return navigation in meta.page. Use the returned cursor unchanged and retain the same filters. Other endpoints explicitly list their own page or offset parameters.
// Continue a cursor-paginated block list.
if (meta.page?.hasNext && meta.page.nextCursor) {
const query = new URLSearchParams({
limit: '5', cursor: meta.page.nextCursor,
});
const next = await fetch('https://api.crosslink.cipherscan.app/v1/blocks?' + query);
if (!next.ok) throw new Error('Next page failed: ' + next.status);
const page = await next.json();
console.log(page.data);
}Standard cursor lists default to 25 items and allow 1–100. The names collection defaults to 100 and allows 1–500. Endpoint parameters show the applicable bounds.
Errors & limits
Failures use application/problem+json with type, title, status and, when available, detail. Check the HTTP status before reading data. Rate limits are deployment-specific; honor Retry-After on 429 responses.
400- Invalid path, query or body.
401/403- Preview access or endpoint ownership authorization is missing or denied.
404- The resource or enabled route was not found.
413- The request body exceeds the accepted size.
429- Too many requests; wait before retrying.
500- An internal error occurred.
502/504- An upstream request failed or timed out.
503- The source is unavailable or still building.
Scan endpoints have additional range and rate limits. Avoid automatically retrying writes after a timeout: the operation may already have completed.
Endpoint reference
144 public operationsAsk ZecBlock
4GET/v1/askMainnet Ask capability: guided starter analyses or configured AI interpretation. Private, no-store.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/ask'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
POST/v1/askSelect a validated mainnet pool, swap, transaction-activity or Pulse analysis from a question and current context. Returns a specification, never invented observations. Free-form AI requires configured provider and shared usage limits.
JSON request body
Save the body as request.json before running the request below.
questionstring · required- Minimum length: 1. Maximum length: 1000.
context· required- See the request schema for the accepted value.
challengestring · optional- Maximum length: 2048.
Example request.json
{
"question": "<question>",
"context": null
}Adjust example values for your network and replace any angle-bracket placeholders. Block heights are illustrative; no request runs on this page.
Full request schema
{
"type": "object",
"properties": {
"question": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"context": {
"anyOf": [
{
"type": "object",
"properties": {
"version": {
"type": "number",
"const": 1
},
"metric": {
"type": "string",
"enum": [
"balances",
"flows",
"activity",
"swap_volume",
"swap_count",
"transactions",
"pulse",
"migration_share",
"chain_inflows",
"chain_outflows"
]
},
"period": {
"type": "string",
"enum": [
"30d",
"90d",
"1y"
]
},
"pool": {
"type": "string",
"enum": [
"all",
"orchard",
"ironwood",
"sapling"
]
},
"view": {
"type": "string",
"enum": [
"line",
"bar",
"table"
]
},
"start": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
{
"type": "null"
}
]
},
"end": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
{
"type": "null"
}
]
}
},
"required": [
"version",
"metric",
"period",
"pool",
"view",
"start",
"end"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"challenge": {
"type": "string",
"maxLength": 2048
}
},
"required": [
"question",
"context"
],
"additionalProperties": false
}Request template
curl -X POST 'https://api.crosslink.cipherscan.app/v1/ask' \
-H 'Content-Type: application/json' \
--data @request.jsonReplace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
POST/v1/ask/chatContextual mainnet questions with reviewed public sources, supported language selection and bounded recent questions. Paid answers require bot verification and shared spend limits.
JSON request body
Save the body as request.json before running the request below.
questionstring · required- Minimum length: 1. Maximum length: 1000.
pagestring · required- Values: home, ask, transactions, blocks, pools, ironwood, crosschain, pulse, miner_zodl, network, addresses, mempool, nodes, mining, reorgs, charts, turnstile, privacy_risks, wallet_signals, valuation, usage_clock, governance, tools, decode, broadcast, decrypt, blend_check, unit_converter, anchor_search, docs, learn, newsletter, about, press, attestations, privacy_policy, terms, privacy, chart_pool_balances, chart_supply, chart_shielded_supply, chart_turnstile, chart_pool_share, chart_search_interest, chart_daily_activity, chart_privacy_adoption, chart_privacy_score, chart_flow_volume, chart_net_flow, chart_flow_thresholds, chart_flow_buckets, chart_network_hashrate, chart_mining_distribution, chart_miner_rewards, chart_block_time, chart_difficulty, chart_block_fees, chart_tx_per_block, chart_fees, chart_node_storage, chart_protocol_commitments, chart_protocol_nullifiers, chart_price_vs_realized, chart_mvrv, chart_nupl, chart_sopr, chart_realized_cap, chart_dormancy, chart_coin_days, chart_hodl_waves, chart_swap_volume, chart_swap_count, transaction, block, address, name, explorer.
context· required- See the request schema for the accepted value.
transactionstring · optional- Pattern: ^[a-fA-F0-9]{64}$
blockstring · optional- Pattern: ^(?:0|[1-9]\d{0,8}|[a-fA-F0-9]{64})$
localestring · required- Default: auto. Values: auto, en, fr, es, de, pt, ja, zh, ko, ar, ru.
historyarray · required- Default: . At most 4 items.
challengestring · optional- Maximum length: 2048.
Example request.json
{
"question": "<question>",
"page": "home",
"context": null,
"locale": "auto",
"history": []
}Adjust example values for your network and replace any angle-bracket placeholders. Block heights are illustrative; no request runs on this page.
Full request schema
{
"type": "object",
"properties": {
"question": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"page": {
"type": "string",
"enum": [
"home",
"ask",
"transactions",
"blocks",
"pools",
"ironwood",
"crosschain",
"pulse",
"miner_zodl",
"network",
"addresses",
"mempool",
"nodes",
"mining",
"reorgs",
"charts",
"turnstile",
"privacy_risks",
"wallet_signals",
"valuation",
"usage_clock",
"governance",
"tools",
"decode",
"broadcast",
"decrypt",
"blend_check",
"unit_converter",
"anchor_search",
"docs",
"learn",
"newsletter",
"about",
"press",
"attestations",
"privacy_policy",
"terms",
"privacy",
"chart_pool_balances",
"chart_supply",
"chart_shielded_supply",
"chart_turnstile",
"chart_pool_share",
"chart_search_interest",
"chart_daily_activity",
"chart_privacy_adoption",
"chart_privacy_score",
"chart_flow_volume",
"chart_net_flow",
"chart_flow_thresholds",
"chart_flow_buckets",
"chart_network_hashrate",
"chart_mining_distribution",
"chart_miner_rewards",
"chart_block_time",
"chart_difficulty",
"chart_block_fees",
"chart_tx_per_block",
"chart_fees",
"chart_node_storage",
"chart_protocol_commitments",
"chart_protocol_nullifiers",
"chart_price_vs_realized",
"chart_mvrv",
"chart_nupl",
"chart_sopr",
"chart_realized_cap",
"chart_dormancy",
"chart_coin_days",
"chart_hodl_waves",
"chart_swap_volume",
"chart_swap_count",
"transaction",
"block",
"address",
"name",
"explorer"
]
},
"context": {
"anyOf": [
{
"type": "object",
"properties": {
"version": {
"type": "number",
"const": 1
},
"metric": {
"type": "string",
"enum": [
"balances",
"flows",
"activity",
"swap_volume",
"swap_count",
"transactions",
"pulse",
"migration_share",
"chain_inflows",
"chain_outflows"
]
},
"period": {
"type": "string",
"enum": [
"30d",
"90d",
"1y"
]
},
"pool": {
"type": "string",
"enum": [
"all",
"orchard",
"ironwood",
"sapling"
]
},
"view": {
"type": "string",
"enum": [
"line",
"bar",
"table"
]
},
"start": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
{
"type": "null"
}
]
},
"end": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
{
"type": "null"
}
]
}
},
"required": [
"version",
"metric",
"period",
"pool",
"view",
"start",
"end"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"transaction": {
"type": "string",
"pattern": "^[a-fA-F0-9]{64}$"
},
"block": {
"type": "string",
"pattern": "^(?:0|[1-9]\\d{0,8}|[a-fA-F0-9]{64})$"
},
"locale": {
"default": "auto",
"type": "string",
"enum": [
"auto",
"en",
"fr",
"es",
"de",
"pt",
"ja",
"zh",
"ko",
"ar",
"ru"
]
},
"history": {
"default": [],
"maxItems": 4,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
},
"challenge": {
"type": "string",
"maxLength": 2048
}
},
"required": [
"question",
"page",
"context",
"locale",
"history"
],
"additionalProperties": false
}Request template
curl -X POST 'https://api.crosslink.cipherscan.app/v1/ask/chat' \
-H 'Content-Type: application/json' \
--data @request.jsonReplace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
POST/v1/ask/explainExplain a mainnet analysis using server-fetched public evidence. Requires configured AI and an exact fingerprint match with the chart observations. Private, no-store.
JSON request body
Save the body as request.json before running the request below.
specobject · required- See the request schema for the accepted value.
evidenceKeystring · required- Pattern: ^[a-f0-9]{64}$
challengestring · optional- Maximum length: 2048.
Example request.json
{
"spec": {
"version": 1,
"metric": "balances",
"period": "30d",
"pool": "all",
"view": "line",
"start": null,
"end": null
},
"evidenceKey": "<evidenceKey>"
}Adjust example values for your network and replace any angle-bracket placeholders. Block heights are illustrative; no request runs on this page.
Full request schema
{
"type": "object",
"properties": {
"spec": {
"type": "object",
"properties": {
"version": {
"type": "number",
"const": 1
},
"metric": {
"type": "string",
"enum": [
"balances",
"flows",
"activity",
"swap_volume",
"swap_count",
"transactions",
"pulse",
"migration_share",
"chain_inflows",
"chain_outflows"
]
},
"period": {
"type": "string",
"enum": [
"30d",
"90d",
"1y"
]
},
"pool": {
"type": "string",
"enum": [
"all",
"orchard",
"ironwood",
"sapling"
]
},
"view": {
"type": "string",
"enum": [
"line",
"bar",
"table"
]
},
"start": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
{
"type": "null"
}
]
},
"end": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
{
"type": "null"
}
]
}
},
"required": [
"version",
"metric",
"period",
"pool",
"view",
"start",
"end"
],
"additionalProperties": false
},
"evidenceKey": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"challenge": {
"type": "string",
"maxLength": 2048
}
},
"required": [
"spec",
"evidenceKey"
],
"additionalProperties": false
}Request template
curl -X POST 'https://api.crosslink.cipherscan.app/v1/ask/explain' \
-H 'Content-Type: application/json' \
--data @request.jsonReplace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
Blocks
3GET/v1/blocksCursor-paginated block list (canonical listing endpoint).
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
fromquery · string · optional- Inclusive UTC date, YYYY-MM-DD. Mining software history requires period=custom. Inclusive UTC date, YYYY-MM-DD. Mining software history requires period=custom. Format: date.
from=2026-09-01 max_feesquery · number · optional- Inclusive maximum total transaction fees in ZEC (up to 8 decimal places). Inclusive maximum total transaction fees in ZEC (up to 8 decimal places). Minimum: 0. Maximum: 21000000.
max_fees=<max_fees> max_heightquery · integer · optional- Inclusive maximum canonical block height. Inclusive maximum canonical block height. Minimum: 0. Maximum: 2147483647.
max_height=<max_height> max_intervalquery · integer · optional- Inclusive maximum difference from the canonical parent timestamp in seconds. Inclusive maximum difference from the canonical parent timestamp in seconds. Minimum: 0. Maximum: 2147483647.
max_interval=<max_interval> max_sizequery · integer · optional- Inclusive maximum indexed block size in bytes. Inclusive maximum indexed block size in bytes. Minimum: 0. Maximum: 2147483647.
max_size=<max_size> max_txsquery · integer · optional- Inclusive maximum transaction count including coinbase. Inclusive maximum transaction count including coinbase. Minimum: 0. Maximum: 2147483647.
max_txs=<max_txs> min_feesquery · number · optional- Inclusive minimum total transaction fees in ZEC (up to 8 decimal places). Inclusive minimum total transaction fees in ZEC (up to 8 decimal places). Minimum: 0. Maximum: 21000000.
min_fees=<min_fees> min_heightquery · integer · optional- Inclusive minimum canonical block height. Inclusive minimum canonical block height. Minimum: 0. Maximum: 2147483647.
min_height=<min_height> min_intervalquery · integer · optional- Inclusive minimum difference from the canonical parent timestamp in seconds. Inclusive minimum difference from the canonical parent timestamp in seconds. Minimum: 0. Maximum: 2147483647.
min_interval=<min_interval> min_sizequery · integer · optional- Inclusive minimum indexed block size in bytes. Inclusive minimum indexed block size in bytes. Minimum: 0. Maximum: 2147483647.
min_size=<min_size> min_txsquery · integer · optional- Inclusive minimum transaction count including coinbase. Inclusive minimum transaction count including coinbase. Minimum: 0. Maximum: 2147483647.
min_txs=<min_txs> orderquery · string · optional- Sort the complete filtered dataset by height, parent interval, indexed size, fees or transaction count. Metric ties use height; unavailable values sort last. Cursor remains bound to every filter and order. Sort the complete filtered dataset by height, parent interval, indexed size, fees or transaction count. Metric ties use height; unavailable values sort last. Cursor remains bound to every filter and order. Default: newest. Values: newest, oldest, interval_asc, interval_desc, size_asc, size_desc, fees_asc, fees_desc, txs_asc, txs_desc.
order=newest poolquery · string · optional- Mining-pool payout-address attribution, independent of software markers. Mining-pool payout-address attribution, independent of software markers. Default: all. Values: all, 2Miners, AntPool, Binance Pool, F2Pool, Foundry USA, Kryptex, Luxor, Mining Dutch, MySoloPool, NiceHash, Private Miner B, Sluicey Pool, Unidentified #5, ViaBTC, ViaBTC-Solo, ZEC Mining Pool, unattributed.
pool=all softwarequery · string · optional- Self-reported coinbase marker; unknown means unmarked, other means zcashd, missing means unavailable coinbase data. Self-reported coinbase marker; unknown means unmarked, other means zcashd, missing means unavailable coinbase data. Default: all. Values: all, zebra, zakura, other, unknown, conflicting, missing.
software=all toquery · string · optional- Inclusive UTC end date, YYYY-MM-DD. Mining software history requires period=custom. Inclusive UTC end date, YYYY-MM-DD. Mining software history requires period=custom. Format: date.
to=2026-09-01 limitquery · integer · optional- Default: 25. Minimum: 1. Maximum: 100.
limit=25 cursorquery · string · optional- Opaque cursor from a previous response's meta.page.nextCursor/prevCursor.
cursor=<cursor-from-meta.page>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/blocks?limit=25'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Exact decimal-string zatoshi fields: total_fees. Other units are field-specific.
Success: { data, meta }. Errors: application/problem+json. List items are in data, with navigation in meta.page. Response conventions →
GET/v1/blocks/:heightOrHashBlock detail by height or hash.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
heightOrHashpath · string · required- Resource identifier in the URL path.
/v1/blocks/3000000 summaryquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
summary=<summary>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/blocks/<heightOrHash>'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Exact decimal-string zatoshi fields: total_fees. Other units are field-specific.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/blocks/:hashOrHeight/archiveOrphaned/non-canonical block archive lookup.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
hashOrHeightpath · string · required- Resource identifier in the URL path.
/v1/blocks/3000000/archive
Request template
curl 'https://api.crosslink.cipherscan.app/v1/blocks/<hashOrHeight>/archive'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
Transactions
9GET/v1/transactionsCursor-paginated transaction list with type filter.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
typequery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
type=<type> limitquery · integer · optional- Default: 25. Minimum: 1. Maximum: 100.
limit=25 cursorquery · string · optional- Opaque cursor from a previous response's meta.page.nextCursor/prevCursor.
cursor=<cursor-from-meta.page>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/transactions?limit=25'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Exact decimal-string zatoshi fields: fee, total_input, total_output, value_balance, value_balance_sapling, value_balance_orchard, value_balance_ironwood. Other units are field-specific.
Success: { data, meta }. Errors: application/problem+json. List items are in data, with navigation in meta.page. Response conventions →
GET/v1/transactions/:txidFull transaction detail (inputs, outputs, cross-chain bridge match).
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
txidpath · string · required- Resource identifier in the URL path.
/v1/transactions/<txid>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/transactions/<txid>'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Exact decimal-string zatoshi fields: feeZat, totalInputZat, totalOutputZat, valueBalanceZat, valueBalanceSaplingZat, valueBalanceOrchardZat, valueBalanceIronwoodZat, stakingAction.amountZat. Other units are field-specific.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/transactions/:txid/linkabilityLinkability analysis for one transaction.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
txidpath · string · required- Resource identifier in the URL path.
/v1/transactions/<txid>/linkability limitquery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 5. Minimum: 1. Maximum: 20.
limit=5 tolerancequery · number · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 0.001. Minimum: 0.0001. Maximum: 0.1.
tolerance=0.001
Request template
curl 'https://api.crosslink.cipherscan.app/v1/transactions/<txid>/linkability'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/transactions/:txid/rawRaw transaction hex.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
txidpath · string · required- Resource identifier in the URL path.
/v1/transactions/<txid>/raw
Request template
curl 'https://api.crosslink.cipherscan.app/v1/transactions/<txid>/raw'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/transactions/:txid/verboseVerbose decoded transaction (zebra getrawtransaction verbose=1).
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
txidpath · string · required- Resource identifier in the URL path.
/v1/transactions/<txid>/verbose
Request template
curl 'https://api.crosslink.cipherscan.app/v1/transactions/<txid>/verbose'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/transactions/shieldedShielding, deshielding and fully shielded transaction collection.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
flow_typequery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
flow_type=<flow_type> min_zecquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
min_zec=<min_zec> poolquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
pool=<pool> limitquery · integer · optional- Default: 25. Minimum: 1. Maximum: 100.
limit=25 cursorquery · string · optional- Opaque cursor from a previous response's meta.page.nextCursor/prevCursor.
cursor=<cursor-from-meta.page>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/transactions/shielded?limit=25'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. List items are in data, with navigation in meta.page. Response conventions →
GET/v1/transactions/shielded-summaryShielded transaction summary metrics.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
limitquery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 50. Minimum: 1. Maximum: 100.
limit=50 min_actionsquery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 0. Minimum: 0. Maximum: 9007199254740991.
min_actions=0 offsetquery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 0. Minimum: 0. Maximum: 9007199254740991.
offset=0 poolquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Values: sapling, orchard, ironwood.
pool=sapling skip_countquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Values: true, false.
skip_count=true typequery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Values: fully-shielded, partial.
type=fully-shielded
Request template
curl 'https://api.crosslink.cipherscan.app/v1/transactions/shielded-summary'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
POST/v1/transactions/broadcastBroadcast a fully-signed raw transaction (no keys involved).
Submit an already signed transaction. A timeout does not establish that submission failed; check the transaction ID before retrying.
JSON request body
Save the body as request.json before running the request below.
rawTxstring · required- Already signed serialized transaction. No private key is accepted. Pattern: ^[a-fA-F0-9]+$
Example request.json
{
"rawTx": "<signed-transaction-hex>"
}Adjust example values for your network and replace any angle-bracket placeholders. Block heights are illustrative; no request runs on this page.
Full request schema
{
"type": "object",
"required": [
"rawTx"
],
"properties": {
"rawTx": {
"type": "string",
"pattern": "^[a-fA-F0-9]+$",
"description": "Already signed serialized transaction. No private key is accepted."
}
}
}Request template
curl -X POST 'https://api.crosslink.cipherscan.app/v1/transactions/broadcast' \
-H 'Content-Type: application/json' \
--data @request.jsonReplace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
POST/v1/transactions/raw/batchBatch raw-tx fetch by txid list (read-only despite POST verb; body carries the id list).
JSON request body
Save the body as request.json before running the request below.
txidsarray · required- At least 1 item(s). At most 100 items.
Example request.json
{
"txids": [
"<txid>"
]
}Adjust example values for your network and replace any angle-bracket placeholders. Block heights are illustrative; no request runs on this page.
Full request schema
{
"type": "object",
"required": [
"txids"
],
"properties": {
"txids": {
"type": "array",
"minItems": 1,
"maxItems": 100,
"items": {
"type": "string",
"pattern": "^[a-fA-F0-9]{64}$"
}
}
}
}Request template
curl -X POST 'https://api.crosslink.cipherscan.app/v1/transactions/raw/batch' \
-H 'Content-Type: application/json' \
--data @request.jsonReplace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
Addresses
5GET/v1/labelsKnown-address label directory.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/labels'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/addresses/:addressAddress summary and snapshot-paginated transaction history. Send page and limit; follow pagination.nextCursor, prevCursor or lastCursor with the corresponding page. Cursors expire after one hour, a service restart or a reorg (409: reload without cursor). Numeric pages are supported within 100,000 rows of either end; use cursors for deeper traversal. Overview balances are current; pagination.total and snapshotHeight describe the frozen history.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
addresspath · string · required- Resource identifier in the URL path.
/v1/addresses/<address> cursorquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Maximum length: 4096.
cursor=<cursor-from-meta.page> limitquery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 25. Minimum: 1. Maximum: 100.
limit=25 pagequery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 1. Minimum: 1. Maximum: 9007199254740991.
page=1
Request template
curl 'https://api.crosslink.cipherscan.app/v1/addresses/<address>'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Exact decimal-string zatoshi fields: balance, totalReceived, totalSent. Other units are field-specific.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/labels/:addressLabel for one address.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
addresspath · string · required- Resource identifier in the URL path.
/v1/labels/<address>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/labels/<address>'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/addresses/:address/graphAddress cluster/linkage graph.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
addresspath · string · required- Resource identifier in the URL path.
/v1/addresses/<address>/graph
Request template
curl 'https://api.crosslink.cipherscan.app/v1/addresses/<address>/graph'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/addresses/rich-listTop addresses by transparent balance.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
limitquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
limit=<limit> offsetquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
offset=<offset>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/addresses/rich-list'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Exact decimal-string zatoshi fields: addresses.*.balanceZat, addresses.*.totalReceivedZat, addresses.*.totalSentZat, concentration.top10Zat, concentration.top100Zat, concentration.totalTransparentZat, concentration.totalAddressedZat, concentration.directAddresslessZat. Other units are field-specific.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
Mempool
2GET/v1/mempoolCurrent mempool transaction summaries.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/mempool'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/mempool/:txidSingle mempool transaction detail.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
txidpath · string · required- Resource identifier in the URL path.
/v1/mempool/<txid>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/mempool/<txid>'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
Network
31GET/v1/network/accountingLatest canonical block fees, miner receipts and separate authoritative NSM reserve balance.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/accounting'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Exact decimal-string zatoshi fields: circulatingSupplyZat, nsmBalanceZat, block.feesPaidZat, block.feesToNsmZat, block.minerFeeAllocationZat, block.minerSubsidyZat, block.minerReceiptsZat, block.reissuanceZat. Other units are field-specific.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/accounting/historyCanonical block fee allocations, shielded activity and sampled NSM/supply history.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
beforequery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Exclusive canonical block-height cursor. Minimum: 0. Maximum: 499999999.
before=<before> limitquery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 120. Minimum: 1. Maximum: 1000.
limit=120
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/accounting/history'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/attestationsCurated Zero Indexer endpoints with periodic enclave, TLS binding and release observations. Per-observation freshness and release status remain separate.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/attestations'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/attestations/:idOne registered Zero Indexer endpoint and its latest observation. Unknown registry IDs return 404.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
idpath · string · required- Resource identifier in the URL path.
/v1/network/attestations/<id>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/attestations/<id>'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/block-timeObserved block intervals and rolling averages with node-announced target spacing.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
periodquery · string · optional- Trailing block-header observation window. Trailing block-header observation window. Default: 24h. Values: 6h, 24h, 7d.
period=24h
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/block-time'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/blockchain-infoZebra getblockchaininfo passthrough summary.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/blockchain-info'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/blocks/recent-summaryLightweight recent-blocks summary. coinbaseTransparentOutput is transparent coinbase outputs in ZEC, including non-miner payouts; minerReward is a deprecated alias and is not actual miner receipts. Missing amounts are null.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
limitquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
limit=<limit>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/blocks/recent-summary'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/chain-size-historyChain size growth over time.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
periodquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
period=<period>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/chain-size-history'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/circulating-supplyCirculating supply, plain-number legacy format.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
formatquery · string · optional- Compatibility parameter; v1 always returns JSON.
format=<format>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/circulating-supply'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/emissionObserved chain supply and estimated daily subsidy.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
periodquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
period=<period>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/emission'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/fee-distributionFee distribution histogram.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
periodquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
period=<period>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/fee-distribution'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/feesFee estimates.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/fees'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/halvingNode-observed halving schedule and cadence-based estimates.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/halving'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/healthZebra node health snapshot.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/health'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/infoCurrent indexed chain height.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/info'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/nodesZiggurat crawler node census.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/nodes'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/nodes/concentrationNode/ASN/geography concentration metrics.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/nodes/concentration'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/nodes/health-scorePer-node health scoring.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/nodes/health-score'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/nodes/historyHistorical node count series.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
periodquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
period=<period>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/nodes/history'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/nodes/listPaged node list.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
dirquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
dir=<dir> limitquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
limit=<limit> offsetquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
offset=<offset> sortquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
sort=<sort>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/nodes/list'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/nodes/reliabilityNode reliability metrics.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/nodes/reliability'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/nodes/statsNode census summary stats.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/nodes/stats'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/nodes/upgrade-readinessNU upgrade readiness by node.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/nodes/upgrade-readiness'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/peersKnown peer list.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/peers'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/priceCurrent ZEC price.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/price'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/price/atHistorical ZEC price at a timestamp.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
datequery · string · required- UTC calendar date (YYYY-MM-DD). The response indicates when an earlier available price is used. Format: date.
date=2026-09-01
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/price/at?date=2026-09-01'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/protocol-statsProtocol version adoption stats.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/protocol-stats'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/statsAggregate network statistics. Headline hashrate uses canonical target work over the full trailing 24 hours; mining.hashrateEstimate supplies shared 24h/7d windows and as-of timestamps. Unavailable rates are null.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/stats'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/supplyTotal/circulating supply.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/supply'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/supply/transparent-breakdownTransparent supply breakdown.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/supply/transparent-breakdown'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/network/topologyPeer topology graph.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/network/topology'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
Shielded pools
4GET/v1/shielded-pools/flowsDaily public shielding and deshielding flows.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
formatquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
format=<format> granularityquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
granularity=<granularity> periodquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
period=<period> poolquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
pool=<pool>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/shielded-pools/flows'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/shielded-pools/historyDaily shielded and transparent pool balances from chain state.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
formatquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
format=<format> periodquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
period=<period>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/shielded-pools/history'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/shielded-pools/overviewShielded pool balances and observed changes.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/shielded-pools/overview'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/shielded-pools/turnstilePublic deshielding cohorts and subsequent observed destinations.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
sincequery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
since=<since>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/shielded-pools/turnstile'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
Privacy
16GET/v1/privacy/anonymity-setCounts of public shielding and deshielding flows at overlapping amount thresholds.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
periodquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
period=<period>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/privacy/anonymity-set'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/privacy/batch-risksBatch deshield/for-shield risk detection.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
afterAmountquery · number · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
afterAmount=<afterAmount> afterScorequery · number · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
afterScore=<afterScore> limitquery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 20. Minimum: 1. Maximum: 50.
limit=20 minScorequery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 35. Minimum: 0. Maximum: 100.
minScore=35 periodquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 30d. Values: 7d, 30d, 90d.
period=30d riskLevelquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: ALL. Values: ALL, HIGH, MEDIUM.
riskLevel=ALL sortquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: score. Values: score, recent.
sort=score
Request template
curl 'https://api.crosslink.cipherscan.app/v1/privacy/batch-risks'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/privacy/blend-checkTransaction "blend" (mixing quality) check.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
amountquery · number · required- Amount in ZEC, greater than zero and at most 21 million. Greater than 0. Maximum: 21000000.
amount=1
Request template
curl 'https://api.crosslink.cipherscan.app/v1/privacy/blend-check?amount=1'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/privacy/blend-check/splitBlend-check split breakdown.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
amountquery · number · required- Amount in ZEC, greater than zero and at most 21 million. Greater than 0. Maximum: 21000000.
amount=1
Request template
curl 'https://api.crosslink.cipherscan.app/v1/privacy/blend-check/split?amount=1'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/privacy/clustersPrecomputed batch clusters.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
afterAmountquery · number · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
afterAmount=<afterAmount> afterScorequery · number · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
afterScore=<afterScore> limitquery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 20. Minimum: 1. Maximum: 50.
limit=20 minScorequery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 35. Minimum: 0. Maximum: 100.
minScore=35 periodquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 30d. Values: 7d, 30d, 90d.
period=30d riskLevelquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: ALL. Values: ALL, HIGH, MEDIUM.
riskLevel=ALL sortquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: score. Values: score, recent.
sort=score
Request template
curl 'https://api.crosslink.cipherscan.app/v1/privacy/clusters'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/privacy/common-amountsObserved public-flow amount buckets; not a measured anonymity set.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
chainquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
chain=<chain> limitquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
limit=<limit> periodquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
period=<period>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/privacy/common-amounts'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/privacy/fee-lanesFee-lane privacy heuristics.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
periodquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
period=<period>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/privacy/fee-lanes'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/privacy/graph/:txidPrivacy linkage graph rooted at a transaction.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
txidpath · string · required- Resource identifier in the URL path.
/v1/privacy/graph/<txid>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/privacy/graph/<txid>'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/privacy/linkage-edgesPrecomputed address linkage edges.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
limitquery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 20. Minimum: 1. Maximum: 100.
limit=20 minScorequery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 40. Minimum: 0. Maximum: 100.
minScore=40 offsetquery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 0. Minimum: 0. Maximum: 9007199254740991.
offset=0 periodquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 7d. Values: 24h, 7d, 30d, 90d.
period=7d riskLevelquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: ALL. Values: ALL, HIGH, MEDIUM.
riskLevel=ALL sortquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: recent. Values: score, recent.
sort=recent txidquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
txid=<txid>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/privacy/linkage-edges'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/privacy/patternsDetected privacy-relevant transaction patterns.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
limitquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
limit=<limit> offsetquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
offset=<offset> riskLevelquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
riskLevel=<riskLevel> typequery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
type=<type>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/privacy/patterns'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/privacy/recommended-swap-amountsCommon round swap amounts observed in public flows; no privacy guarantee.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
chainquery · string · required- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Minimum length: 1.
chain=<chain> tokenquery · string · required- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Minimum length: 1.
token=<token>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/privacy/recommended-swap-amounts?chain=<chain>&token=<token>'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/privacy/risksPer-transaction privacy risk indicators.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
limitquery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 20. Minimum: 1. Maximum: 100.
limit=20 minScorequery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 40. Minimum: 0. Maximum: 9007199254740991.
minScore=40 offsetquery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 0. Minimum: 0. Maximum: 9007199254740991.
offset=0 periodquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 7d. Values: 24h, 7d, 30d, 90d.
period=7d riskLevelquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: ALL. Values: ALL, HIGH, MEDIUM.
riskLevel=ALL sortquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: recent. Values: score, recent.
sort=recent
Request template
curl 'https://api.crosslink.cipherscan.app/v1/privacy/risks'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/privacy/shield/:txid/batchBatch-shield linkage for a transaction.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
txidpath · string · required- Resource identifier in the URL path.
/v1/privacy/shield/<txid>/batch
Request template
curl 'https://api.crosslink.cipherscan.app/v1/privacy/shield/<txid>/batch'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/privacy/shielding-distributionDistribution of shielding behavior.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
periodquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
period=<period>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/privacy/shielding-distribution'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/privacy/statsAggregate shielded-vs-transparent stats.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
daysquery · string · optional- All returns every retained daily observation without a row cap. Default: 30.
days=30
Request template
curl 'https://api.crosslink.cipherscan.app/v1/privacy/stats'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/privacy/wallet-fingerprintsWallet fingerprinting signal aggregates.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
periodquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
period=<period>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/privacy/wallet-fingerprints'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
Mining
9GET/v1/mining/hashrate-historyWork-based hashrate in Sol/s over full trailing 24h or 7d windows, sampled at midnight UTC. Current estimates and as-of times are shared through network/stats. Missing samples return null.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
periodquery · string · optional- Range of historical samples ending at UTC midnight. Range of historical samples ending at UTC midnight. Default: 90d. Values: 7d, 30d, 90d, 1y, all.
period=90d windowquery · string · optional- Full trailing work-estimation window. Independent of chart range. Full trailing work-estimation window. Independent of chart range. Default: 24h. Values: 24h, 7d.
window=24h
Request template
curl 'https://api.crosslink.cipherscan.app/v1/mining/hashrate-history'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/mining/metricsMining metrics summary.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
limitquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
limit=<limit> windowquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
window=<window>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/mining/metrics'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/mining/miner-behaviorMiner behavior heuristics.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
periodquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
period=<period>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/mining/miner-behavior'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/mining/pool-distributionMining pool hashrate distribution.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
periodquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
period=<period>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/mining/pool-distribution'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/mining/pool-rankingRanked mining pools.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
periodquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
period=<period>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/mining/pool-ranking'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/mining/rewardsBlock reward accounting.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
periodquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
period=<period>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/mining/rewards'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/mining/softwareSelf-reported mining software markers: block-weighted shares, daily or weekly history, and indexed coverage.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
bucketquery · string · optional- Auto selects weekly for ranges longer than 121 days. Weekly buckets start Monday; boundary weeks contain only requested days. Auto selects weekly for ranges longer than 121 days. Weekly buckets start Monday; boundary weeks contain only requested days. Default: auto. Values: auto, day, week.
bucket=auto fromquery · string · optional- Inclusive UTC date, YYYY-MM-DD. Mining software history requires period=custom. Inclusive UTC date, YYYY-MM-DD. Mining software history requires period=custom. Format: date.
from=2026-09-01 periodquery · string · optional- UTC calendar-day range. Since presets begin on the first observed marker day, not the software launch. UTC calendar-day range. Since presets begin on the first observed marker day, not the software launch. Default: 30d. Values: 7d, 30d, 90d, 1y, all, custom, since-zebra, since-zakura.
period=30d toquery · string · optional- Inclusive UTC end date, YYYY-MM-DD. Mining software history requires period=custom. Inclusive UTC end date, YYYY-MM-DD. Mining software history requires period=custom. Format: date.
to=2026-09-01
Request template
curl 'https://api.crosslink.cipherscan.app/v1/mining/software'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/mining/zodl-leaderboardZODL miner leaderboard.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
periodquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
period=<period>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/mining/zodl-leaderboard'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
Cross-chain
14GET/v1/crosschain/addresses/:addressCross-chain swap history for one ZEC address.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
addresspath · string · required- Resource identifier in the URL path.
/v1/crosschain/addresses/<address>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosschain/addresses/<address>'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/crosschain/analyticsIndexed ZEC swap analytics with explicit coverage, native ZEC volumes, UTC buckets and observed lifecycle counts.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
granularityquery · string · optional- Defaults to hour for 24h/7d, day otherwise. Hour is only accepted for 24h/7d. Defaults to hour for 24h/7d, day otherwise. Hour is only accepted for 24h/7d. Values: hour, day.
granularity=hour periodquery · string · optional- Trailing UTC window; all starts at the earliest indexed record. Coverage can be incomplete. Trailing UTC window; all starts at the earliest indexed record. Coverage can be incomplete. Default: 30d. Values: 24h, 7d, 30d, 90d, 1y, all.
period=30d
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosschain/analytics'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/crosschain/db-statsMaterialized-view-backed swap dashboard stats.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosschain/db-stats'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/crosschain/historyHistorical swap list.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
chainquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Minimum length: 1.
chain=<chain> directionquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Values: inflow, outflow.
direction=inflow limitquery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 25. Minimum: 1. Maximum: 100.
limit=25 pagequery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 1. Minimum: 1. Maximum: 9007199254740991.
page=1
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosschain/history'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/crosschain/inflowsCross-chain inflow volume.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
limitquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
limit=<limit> pagequery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
page=<page>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosschain/inflows'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/crosschain/outflowsCross-chain outflow volume.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
limitquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
limit=<limit> pagequery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
page=<page>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosschain/outflows'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/crosschain/popular-pairsMost popular source/dest chain pairs.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosschain/popular-pairs'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/crosschain/size-distributionSwap size histogram.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosschain/size-distribution'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/crosschain/statsCross-chain swap stats.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosschain/stats'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/crosschain/statusNEAR Intents integration configuration status.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosschain/status'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/crosschain/swapsFilterable swap records with exact amount strings, both transaction legs and filter-bound pagination.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
chainquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Pattern: ^[a-z0-9_-]{1,32}$
chain=<chain> cursorquery · string · optional- Opaque data.nextCursor. Bound to filters and the original time window; do not construct or edit. Opaque data.nextCursor. Bound to filters and the original time window; do not construct or edit. Maximum length: 8192.
cursor=<cursor-from-meta.page> destAssetquery · string · optional- Exact upstream destinationAsset identifier. Exact upstream destinationAsset identifier. Maximum length: 256.
destAsset=<destAsset> directionquery · string · optional- Native ZEC asset acquired, exchanged or ZEC-to-ZEC. Asset direction does not prove an on-chain transfer. Native ZEC asset acquired, exchanged or ZEC-to-ZEC. Asset direction does not prove an on-chain transfer. Values: inflow, outflow, internal.
direction=inflow fromquery · string · optional- Inclusive UTC ISO timestamp, overrides the period start. Inclusive UTC ISO timestamp, overrides the period start. Format: date-time.
from=<from> limitquery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 25. Minimum: 1. Maximum: 100.
limit=25 maxUsdquery · number · optional- Inclusive source-side USD maximum (up to 8 decimal places). Inclusive source-side USD maximum (up to 8 decimal places). Minimum: 0. Maximum: 1000000000000.
maxUsd=<maxUsd> minUsdquery · number · optional- Inclusive source-side USD minimum (up to 8 decimal places). Inclusive source-side USD minimum (up to 8 decimal places). Minimum: 0. Maximum: 1000000000000.
minUsd=<minUsd> periodquery · string · optional- Trailing UTC window; all starts at the earliest indexed record. Coverage can be incomplete. Trailing UTC window; all starts at the earliest indexed record. Coverage can be incomplete. Default: 30d. Values: 24h, 7d, 30d, 90d, 1y, all.
period=30d referralquery · string · optional- Exact upstream referral value. Exact upstream referral value. Maximum length: 256.
referral=<referral> searchquery · string · optional- Exact deposit, recipient or sender address, or source/destination transaction hash. Exact deposit, recipient or sender address, or source/destination transaction hash. Maximum length: 200.
search=<search> sourceAssetquery · string · optional- Exact upstream originAsset identifier. Exact upstream originAsset identifier. Maximum length: 256.
sourceAsset=<sourceAsset> statusquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Values: SUCCESS, FAILED, REFUNDED, PROCESSING, PENDING_DEPOSIT, INCOMPLETE_DEPOSIT.
status=SUCCESS toquery · string · optional- Exclusive UTC ISO timestamp, fixes the end of the window. Exclusive UTC ISO timestamp, fixes the end of the window. Format: date-time.
to=<to> tokenquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Maximum length: 64.
token=<token>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosschain/swaps'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/crosschain/trendsCross-chain swap trends over time.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
granularityquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: daily. Values: daily, weekly.
granularity=daily periodquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 30d. Values: 7d, 30d, 90d, 1y, all.
period=30d
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosschain/trends'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/crosschain/volume-by-chainSwap volume grouped by source chain.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
periodquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 30d. Values: 7d, 30d.
period=30d
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosschain/volume-by-chain'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/crosschain/wrapped-zec/supplyWrapped ZEC supply across chains (read-only RPC, no shared DB).
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosschain/wrapped-zec/supply'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
Valuation
5GET/v1/valuation/dormancyCoin dormancy metrics.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
periodquery · string · optional- All returns the complete available daily history. Default: 1y. Values: 30d, 90d, 180d, 1y, 2y, all.
period=1y
Request template
curl 'https://api.crosslink.cipherscan.app/v1/valuation/dormancy'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/valuation/historyHistorical valuation series.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
periodquery · string · optional- All returns the complete available daily history. Default: 1y. Values: 30d, 90d, 180d, 1y, 2y, all.
period=1y
Request template
curl 'https://api.crosslink.cipherscan.app/v1/valuation/history'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/valuation/hodl-wavesHODL wave age-band breakdown.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
periodquery · string · optional- All returns the complete available daily history. Default: 1y. Values: 30d, 90d, 180d, 1y, 2y, all.
period=1y
Request template
curl 'https://api.crosslink.cipherscan.app/v1/valuation/hodl-waves'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/valuation/search-interestImported Google Trends weekly observations, with provenance and provisional-week flags. Not a live feed or a valuation signal.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/valuation/search-interest'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/valuation/snapshotCurrent valuation snapshot.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/valuation/snapshot'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
Analytics
1GET/v1/analytics/usage-clockTime-of-day/week usage heatmap.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
periodquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
period=<period>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/analytics/usage-clock'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
Statistics
2GET/v1/stats/shielded-countRunning count of shielded transactions.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
detailedquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
detailed=<detailed> sincequery · string · required- Start date (YYYY-MM-DD). Format: date.
since=2026-09-01
Request template
curl 'https://api.crosslink.cipherscan.app/v1/stats/shielded-count?since=2026-09-01'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/stats/shielded-dailyDaily shielded transaction counts.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
sincequery · string · required- Start date (YYYY-MM-DD). Format: date.
since=2026-09-01 untilquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
until=<until>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/stats/shielded-daily?since=2026-09-01'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
Pool migration
8GET/v1/migration/activityCompact hourly/daily migration activity buckets for time-series charts.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
granularityquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
granularity=<granularity>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/migration/activity'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Exact decimal-string zatoshi fields: buckets.*.volumeZat. Other units are field-specific.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/migration/cohortsMigration cohort breakdown.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/migration/cohorts'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/migration/denominationsMigration by amount denomination.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/migration/denominations'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/migration/overviewSapling→Orchard/Ironwood migration overview.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/migration/overview'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/migration/scatterIndividual migration transactions with privacy classification (measured ~10.4MB response at current chain height).
Request template
curl 'https://api.crosslink.cipherscan.app/v1/migration/scatter'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/migration/scatter/compactVersioned compact migration points with bounded ranges, finalized chunks, ETags, and incremental canonical-tail cursors.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
afterHashquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
afterHash=<afterHash> afterHeightquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
afterHeight=<afterHeight> chunkStartquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
chunkStart=<chunkStart> manifestquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
manifest=<manifest> rangequery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
range=<range>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/migration/scatter/compact'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/migration/summarySmall, fixed-size digest of migration activity (headline totals + 24h/7d windows).
Request template
curl 'https://api.crosslink.cipherscan.app/v1/migration/summary'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Exact decimal-string zatoshi fields: totalVolumeZat, volumeZat24h, volumeZat7d. Other units are field-specific.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/migration/tiersMigration progress by holding tier.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/migration/tiers'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
Transparent exposure
2GET/v1/transparent/exposedTransparent addresses with exposed-linkage risk.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
cursorquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Pattern: ^t[a-zA-Z0-9]+$
cursor=<cursor-from-meta.page> limitquery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 100. Minimum: 1. Maximum: 1000.
limit=100 min_balancequery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 0. Minimum: 0. Maximum: 9007199254740991.
min_balance=0 offsetquery · integer · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: 0. Minimum: 0. Maximum: 9007199254740991.
offset=0 sortquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source. Default: balance. Values: balance, address.
sort=balance
Request template
curl 'https://api.crosslink.cipherscan.app/v1/transparent/exposed'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/transparent/exposed/summarySummary of transparent exposure risk.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/transparent/exposed/summary'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
Network pulse
2GET/v1/pulseReal-time "pulse" activity feed.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
daysquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
days=<days> limitquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
limit=<limit> metricquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
metric=<metric> offsetquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
offset=<offset>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/pulse'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/pulse/summaryPulse summary metrics.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/pulse/summary'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
Names
4GET/v1/namesCursor-paginated registered names.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
limitquery · integer · optional- Default: 100. Minimum: 1. Maximum: 500.
limit=100 cursorquery · string · optional- Opaque cursor from a previous response's meta.page.nextCursor/prevCursor.
cursor=<cursor-from-meta.page>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/names?limit=25'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. List items are in data, with navigation in meta.page. Response conventions →
GET/v1/names/:nameName registration or pricing when unregistered.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
namepath · string · required- Resource identifier in the URL path.
/v1/names/<name>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/names/<name>'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/names/:name/eventsRecent public name registry events.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
namepath · string · required- Resource identifier in the URL path.
/v1/names/<name>/events
Request template
curl 'https://api.crosslink.cipherscan.app/v1/names/<name>/events'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/names/statusName registry status and pricing.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/names/status'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
Search
1GET/v1/search/anchors/:rootLook up the block containing a given Orchard/Sapling anchor root.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
rootpath · string · required- Resource identifier in the URL path.
/v1/search/anchors/<root>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/search/anchors/<root>'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
Wallet scanning
2POST/v1/scan/lightwalletdBatch-scan blocks via Lightwalletd gRPC for client-side trial decryption.
JSON request body
Save the body as request.json before running the request below.
Inclusive block range. Maximum 10,000 blocks for lightwalletd or 50,000 for Orchard by default; configured server limits may differ.
startHeightinteger · required- Minimum: 1.
endHeightinteger · required- Minimum: 0.
Example request.json
{
"startHeight": 3000000,
"endHeight": 3000009
}Adjust example values for your network and replace any angle-bracket placeholders. Block heights are illustrative; no request runs on this page.
Full request schema
{
"type": "object",
"required": [
"startHeight",
"endHeight"
],
"properties": {
"startHeight": {
"type": "integer",
"minimum": 1
},
"endHeight": {
"type": "integer",
"minimum": 0
}
},
"description": "Inclusive block range. Maximum 10,000 blocks for lightwalletd or 50,000 for Orchard by default; configured server limits may differ."
}Request template
curl -X POST 'https://api.crosslink.cipherscan.app/v1/scan/lightwalletd' \
-H 'Content-Type: application/json' \
--data @request.jsonReplace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
POST/v1/scan/orchardBatch-scan a height range for Orchard transactions (wallet scanning aid).
JSON request body
Save the body as request.json before running the request below.
Inclusive block range. Maximum 10,000 blocks for lightwalletd or 50,000 for Orchard by default; configured server limits may differ.
startHeightinteger · required- Minimum: 0.
endHeightinteger · required- Minimum: 0.
Example request.json
{
"startHeight": 3000000,
"endHeight": 3000009
}Adjust example values for your network and replace any angle-bracket placeholders. Block heights are illustrative; no request runs on this page.
Full request schema
{
"type": "object",
"required": [
"startHeight",
"endHeight"
],
"properties": {
"startHeight": {
"type": "integer",
"minimum": 0
},
"endHeight": {
"type": "integer",
"minimum": 0
}
},
"description": "Inclusive block range. Maximum 10,000 blocks for lightwalletd or 50,000 for Orchard by default; configured server limits may differ."
}Request template
curl -X POST 'https://api.crosslink.cipherscan.app/v1/scan/orchard' \
-H 'Content-Type: application/json' \
--data @request.jsonReplace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
Forks & reorgs
6GET/v1/unclesRecent orphaned blocks ("uncles").
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
limitquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
limit=<limit> offsetquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
offset=<offset>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/uncles'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/uncles/:hashSingle orphaned block detail.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
hashpath · string · required- Resource identifier in the URL path.
/v1/uncles/<hash>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/uncles/<hash>'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/uncles/forksDetected chain forks.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
limitquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
limit=<limit> offsetquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
offset=<offset>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/uncles/forks'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/uncles/nodesReporting node list for the reorg dashboard.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/uncles/nodes'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/uncles/statsReorg/orphan dashboard stats.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/uncles/stats'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
POST/v1/uncles/reportsReport an observed tip hash for comparison (IP rate limited, PoW-shape validated upstream).
JSON request body
Save the body as request.json before running the request below.
heightinteger · required- Minimum: 0. Maximum: 100000000.
hashstring · required- Pattern: ^[a-fA-F0-9]{64}$
node_idstring · optional- See the request schema for the accepted value.
Example request.json
{
"height": 100,
"hash": "<hash>"
}Adjust example values for your network and replace any angle-bracket placeholders. Block heights are illustrative; no request runs on this page.
Full request schema
{
"type": "object",
"required": [
"height",
"hash"
],
"properties": {
"height": {
"type": "integer",
"minimum": 0,
"maximum": 100000000
},
"hash": {
"type": "string",
"pattern": "^[a-fA-F0-9]{64}$"
},
"node_id": {
"type": "string"
}
}
}Request template
curl -X POST 'https://api.crosslink.cipherscan.app/v1/uncles/reports' \
-H 'Content-Type: application/json' \
--data @request.jsonReplace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
Crosslink
14GET/v1/crosslinkCrosslink overview stats.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosslink'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/crosslink/bft-chainBFT finalized chain segment.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
limitquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
limit=<limit>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosslink/bft-chain'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/crosslink/bft-tipCurrent BFT-finalized tip.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosslink/bft-tip'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/crosslink/block-hash/:heightBlock hash at a given height (used by external fork-finder scripts).
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
heightpath · string · required- Resource identifier in the URL path.
/v1/crosslink/block-hash/3000000
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosslink/block-hash/<height>'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/crosslink/bootstrap-infoCrosslink bootstrap parameters.
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosslink/bootstrap-info'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/crosslink/divergence-historyPoW/BFT chain divergence history.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
limitquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
limit=<limit>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosslink/divergence-history'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/crosslink/finalizersCrosslink BFT finalizer set.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
activequery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
active=<active>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosslink/finalizers'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/crosslink/finalizers/:pubkeySingle finalizer detail.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
pubkeypath · string · required- Resource identifier in the URL path.
/v1/crosslink/finalizers/<pubkey>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosslink/finalizers/<pubkey>'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/crosslink/finalizers/:pubkey/participationFinalizer participation history.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
pubkeypath · string · required- Resource identifier in the URL path.
/v1/crosslink/finalizers/<pubkey>/participation windowquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
window=<window>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosslink/finalizers/<pubkey>/participation'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/crosslink/fork-monitorFork monitor dashboard (reported node tips vs. cTAZ).
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosslink/fork-monitor'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
GET/v1/crosslink/participationAggregate finalizer participation.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
windowquery · string · optional- Endpoint-specific filter or range; accepted values follow this endpoint’s data source.
window=<window>
Request template
curl 'https://api.crosslink.cipherscan.app/v1/crosslink/participation'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
POST/v1/crosslink/fork-monitor/checksLive hash comparison at up to 10 heights (read-only RPC, no writes).
JSON request body
Save the body as request.json before running the request below.
heightsarray · required- At least 1 item(s). At most 10 items.
Example request.json
{
"heights": [
100
]
}Adjust example values for your network and replace any angle-bracket placeholders. Block heights are illustrative; no request runs on this page.
Full request schema
{
"type": "object",
"required": [
"heights"
],
"properties": {
"heights": {
"type": "array",
"minItems": 1,
"maxItems": 10,
"items": {
"type": "integer",
"minimum": 0,
"maximum": 100000000
}
}
}
}Request template
curl -X POST 'https://api.crosslink.cipherscan.app/v1/crosslink/fork-monitor/checks' \
-H 'Content-Type: application/json' \
--data @request.jsonReplace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
POST/v1/crosslink/fork-monitor/nodesVoluntary node self-registration for the fork monitor (per-name rate limited, capacity-bounded upstream).
An ownership token is required to update or delete an existing registration. A new registration returns its token.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
X-Node-Tokenheader · string · optional- Ownership token returned when registering the node. Required to modify or remove an existing registration.
-H 'X-Node-Token: <ownership-token>'
JSON request body
Save the body as request.json before running the request below.
namestring · required- Minimum length: 1. Maximum length: 32.
tipinteger · required- Minimum: 0. Maximum: 100000000.
tip_hashstring · optional- Pattern: ^[a-fA-F0-9]{64}$
peersinteger · optional- Minimum: 0. Maximum: 10000.
miningboolean · optional- See the request schema for the accepted value.
ttlstring · optional- Values: 1h, 24h.
sample_hashesarray · optional- At most 12 items.
Example request.json
{
"name": "<name>",
"tip": 100
}Adjust example values for your network and replace any angle-bracket placeholders. Block heights are illustrative; no request runs on this page.
Full request schema
{
"type": "object",
"required": [
"name",
"tip"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"tip": {
"type": "integer",
"minimum": 0,
"maximum": 100000000
},
"tip_hash": {
"type": "string",
"pattern": "^[a-fA-F0-9]{64}$"
},
"peers": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"mining": {
"type": "boolean"
},
"ttl": {
"type": "string",
"enum": [
"1h",
"24h"
]
},
"sample_hashes": {
"type": "array",
"maxItems": 12,
"items": {
"type": "object",
"required": [
"height",
"hash"
],
"properties": {
"height": {
"type": "integer",
"minimum": 0,
"maximum": 100000000
},
"hash": {
"type": "string",
"pattern": "^[a-fA-F0-9]{64}$"
}
}
}
}
}
}Request template
curl -X POST 'https://api.crosslink.cipherscan.app/v1/crosslink/fork-monitor/nodes' \
-H 'Content-Type: application/json' \
--data @request.jsonReplace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →
DELETE/v1/crosslink/fork-monitor/nodes/:nameDelete a node report using its registration ownership token.
An ownership token is required to update or delete an existing registration. A new registration returns its token.
Parameters
Replace path placeholders, add query values after ?, and send headers with -H. Optional values can be omitted. How to use parameters →
namepath · string · required- Resource identifier in the URL path.
/v1/crosslink/fork-monitor/nodes/<name> X-Node-Tokenheader · string · required- Ownership token returned when registering the node. Required to modify or remove an existing registration.
-H 'X-Node-Token: <ownership-token>'
Request template
curl -X DELETE 'https://api.crosslink.cipherscan.app/v1/crosslink/fork-monitor/nodes/<name>' \
-H 'X-Node-Token: <ownership-token>'Replace angle-bracket placeholders before use. Requests use your selected API base; preview access may require an additional header.
Success: { data, meta }. Errors: application/problem+json. Response conventions →