---
title: "One block, by height or hash"
method: GET
path: "/block/{network}/{hash_or_height}"
tags: ["Blocks"]
---

# One block, by height or hash

`GET /block/{network}/{hash_or_height}`

## Request

- Base URL: `https://sochain.com/api/v3`
- URL: `https://sochain.com/api/v3/block/{network}/{hash_or_height}`
- Auth: one of:
  - none
  - API key in header `API-KEY`
  - API key in query parameter `api_key`

Header, subsidy (reward), fees, value out and every transaction ID.

## Path parameters

- `network` 'BTC' | 'LTC' | 'DOGE' | 'ZEC' | 'BTCTEST' | 'LTCTEST' | 'DOGETEST' | 'ZECTEST', required
- `hash_or_height` string, required

## Query parameters

- `currency` 'AUD' | 'BRL' | 'CAD' | 'CHF' | 'CNY' | 'CZK' | 'DKK' | 'EUR' | 'GBP' | 'HKD' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'ISK' | 'JPY' | 'KRW' | 'MXN' | 'MYR' | 'NOK' | 'NZD' | 'PHP' | 'PLN' | 'RON' | 'SEK' | 'SGD' | 'THB' | 'TRY' | 'USD' | 'ZAR'

## Response `200`

Success.

- object
  - `status` 'success', required
  - `data` Block, required
    - `height` integer, required
    - `time` integer, required
    - `confirmations` integer, required
    - `num_txs` integer, required
    - `version` integer, required
    - `nonce` union, required: The header's nonce. On Zcash (ZEC, ZECTEST), a string: its 32-byte Equihash nonce in hex.
      - integer
      - string
    - `size` integer, required
    - `weight` integer, required
    - `hash` string, required
    - `previous_block_hash` string, nullable, required: Null for the genesis block.
    - `next_block_hash` string, nullable, required: Null for the newest block.
    - `is_orphan` boolean, required
    - `difficulty` string, required
    - `merkleroot` string, required
    - `reward` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
    - `fees` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
    - `min_fee_rate` integer, nullable: The lowest fee rate its transactions paid, rounded up to a whole unit: sat/vB on BTC, lit/vB on LTC, koinu/vB on DOGE, zat/action on ZEC. The coinbase isn't counted; on Litecoin, MWEB's HogEx transaction, peg-ins and transactions spending MWEB coins aren't either. Null for a block with only its coinbase.
    - `median_fee_rate` integer, nullable: The median fee rate (with an even count, the lower of the two middle rates), in the same units and with the same exclusions as min_fee_rate.
    - `max_fee_rate` integer, nullable: The highest fee rate, in the same units and with the same exclusions as min_fee_rate.
    - `min_fee_rate_precise` string, nullable: min_fee_rate to two decimal places, not rounded up ("0.31"). Null where not available yet, which includes most blocks mined before 5 October 2026.
    - `median_fee_rate_precise` string, nullable: median_fee_rate to two decimal places; null as for min_fee_rate_precise.
    - `max_fee_rate_precise` string, nullable: max_fee_rate to two decimal places; null as for min_fee_rate_precise.
    - `reward_split` object: Zcash (ZEC) only: where the reward went. Amounts are decimal strings.
      - `subsidy` string
      - `fees` string
      - `miner_address` string
      - `miner_transparent` string
      - `miner_shielded` string
      - `funding_streams` object[]
        - `recipient` string
        - `kind` string
        - `address` string
        - `value` string
      - `lockbox` string
      - `lockbox_disbursement` string
      - `unclaimed` string
      - `nsm_fee_contribution` string: From the NU7 upgrade (ZECTEST today): the 60% of fees burned into the NSM reserve; 0 before it.
    - `value_out` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
    - `bits` string, required: Compact target, hex.
    - `txs` string[], required: Every transaction ID, in block order.
    - `price` Price, required: Price per coin, 8 decimals: in US dollars, or in the currency asked for. Always 0.00000000 on testnets.
      - `value` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `currency` string, required: USD, or the currency asked for.
    - `kinds` BlockKinds, nullable: A block's transactions by kind, each by name. Every transaction counts, under one kind, except the coinbase (and Litecoin's HogEx); a kind with none is left out. null or absent for a block whose kinds aren't known yet. coinjoin, a cooperative lightning_close and a fee_bumped child paying its parent's fee are told by their shape alone: likely, not certain.
      - `payment` KindTotals
        - `num_txs` integer, required: How many transactions.
        - `vsize` integer, required: Their virtual size in vbytes (bytes on DOGE and ZEC).
        - `fees` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `batch_payout` KindTotals
        - `num_txs` integer, required: How many transactions.
        - `vsize` integer, required: Their virtual size in vbytes (bytes on DOGE and ZEC).
        - `fees` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `consolidation` KindTotals
        - `num_txs` integer, required: How many transactions.
        - `vsize` integer, required: Their virtual size in vbytes (bytes on DOGE and ZEC).
        - `fees` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `coinjoin` KindTotals
        - `num_txs` integer, required: How many transactions.
        - `vsize` integer, required: Their virtual size in vbytes (bytes on DOGE and ZEC).
        - `fees` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `inscription` KindTotals
        - `num_txs` integer, required: How many transactions.
        - `vsize` integer, required: Their virtual size in vbytes (bytes on DOGE and ZEC).
        - `fees` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `data` KindTotals
        - `num_txs` integer, required: How many transactions.
        - `vsize` integer, required: Their virtual size in vbytes (bytes on DOGE and ZEC).
        - `fees` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `lightning_close` KindTotals
        - `num_txs` integer, required: How many transactions.
        - `vsize` integer, required: Their virtual size in vbytes (bytes on DOGE and ZEC).
        - `fees` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `fee_bumped` KindTotals
        - `num_txs` integer, required: How many transactions.
        - `vsize` integer, required: Their virtual size in vbytes (bytes on DOGE and ZEC).
        - `fees` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `mweb_peg_in` KindTotals
        - `num_txs` integer, required: How many transactions.
        - `vsize` integer, required: Their virtual size in vbytes (bytes on DOGE and ZEC).
        - `fees` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `large_script` KindTotals
        - `num_txs` integer, required: How many transactions.
        - `vsize` integer, required: Their virtual size in vbytes (bytes on DOGE and ZEC).
        - `fees` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `transparent` KindTotals
        - `num_txs` integer, required: How many transactions.
        - `vsize` integer, required: Their virtual size in vbytes (bytes on DOGE and ZEC).
        - `fees` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `shielding` KindTotals
        - `num_txs` integer, required: How many transactions.
        - `vsize` integer, required: Their virtual size in vbytes (bytes on DOGE and ZEC).
        - `fees` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `deshielding` KindTotals
        - `num_txs` integer, required: How many transactions.
        - `vsize` integer, required: Their virtual size in vbytes (bytes on DOGE and ZEC).
        - `fees` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `shielded` KindTotals
        - `num_txs` integer, required: How many transactions.
        - `vsize` integer, required: Their virtual size in vbytes (bytes on DOGE and ZEC).
        - `fees` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `rune` KindTotals
        - `num_txs` integer, required: How many transactions.
        - `vsize` integer, required: Their virtual size in vbytes (bytes on DOGE and ZEC).
        - `fees` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `bridge` KindTotals
        - `num_txs` integer, required: How many transactions.
        - `vsize` integer, required: Their virtual size in vbytes (bytes on DOGE and ZEC).
        - `fees` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `token` KindTotals
        - `num_txs` integer, required: How many transactions.
        - `vsize` integer, required: Their virtual size in vbytes (bytes on DOGE and ZEC).
        - `fees` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `staking` KindTotals
        - `num_txs` integer, required: How many transactions.
        - `vsize` integer, required: Their virtual size in vbytes (bytes on DOGE and ZEC).
        - `fees` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `anchoring` KindTotals
        - `num_txs` integer, required: How many transactions.
        - `vsize` integer, required: Their virtual size in vbytes (bytes on DOGE and ZEC).
        - `fees` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `other` KindTotals
        - `num_txs` integer, required: How many transactions.
        - `vsize` integer, required: Their virtual size in vbytes (bytes on DOGE and ZEC).
        - `fees` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
    - `median_time` integer, nullable: The median time of this block and the 10 before it (Unix time); null for an orphaned Zcash block.
    - `chainwork` string, nullable: The chain's total expected work up to this block, 64 hex characters; null on ZEC and ZECTEST.
    - `stripped_size` integer, nullable: Size without witness data, in bytes; null on DOGE, DOGETEST, ZEC and ZECTEST.
    - `mweb` object: Litecoin only, from MWEB's activation. value_out includes the pool carried over from block to block; subtract pool for the value the block moved.
      - `pool` string: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `pool_change` string: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `pegin` string: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `pegin_count` integer
      - `pegout` string: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `pegout_count` integer
      - `fees` string: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
      - `kernels` integer, nullable
    - `auxpow` object, nullable: Dogecoin (DOGE, DOGETEST), a merge-mined block: the Litecoin block attempt whose proof of work it reuses. null on every other block.
      - `parent_hash` string: The parent header's hash: the Litecoin block hash it has, or would have had.
      - `parent_prev_hash` string: The parent header's previous block.
      - `parent_chain` string, nullable: LTC (LTCTEST on DOGETEST) when the parent builds on a Litecoin block; null otherwise.
      - `parent_in_chain` boolean, nullable: Whether the attempt became a Litecoin block; null until that's known.
      - `parent_height` integer, nullable: Its Litecoin height, when parent_in_chain is true.

## Other responses

- `400`: A bad parameter or body; the message says which.
- `401`: An invalid key, no key where one is needed (buckets, webhooks, /account_info), a locked account or expired plan, or both the month's requests and the keyless rate used up. Kept as 401, with this message, for v3 compatibility.
- `404`: Not found: an unknown network, or an argument the network doesn't know.
- `429`: Without a key, past the day's 2,500 lookups from this IP while SoChain is busy (Retry-After: 60), or past the day's most (Retry-After: seconds to 00:00 UTC). With or without one, too many requests in flight at once (Retry-After: 1, not counted).
- `503`: Briefly unavailable; retry with backoff. May carry Retry-After.

---

[API](https://skmtc.dev/sochain/apis/sochain-api.md) · [All operations](https://skmtc.dev/sochain/apis/sochain-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sochain/apis/sochain-api/revisions/80682797b38f?raw)
