# Get a specific block Returns details of a specific block by its number for a given blockchain. Endpoint: GET /blocks/{chain_gid}/{block_number} Version: 1.0.0 Security: ApiKeyAuth ## Path parameters: - `chain_gid` (string, required) Blockchain identifier in CAIP-2 format (namespace:reference) Example: "eip155:1" - `block_number` (integer, required) Block number/height on the blockchain Example: 18500000 ## Response 200 fields (application/json): - `chain_gid` (string, required) Blockchain identifier according to [CAIP-2](https://chainagnostic.org/CAIPs/caip-2). The chain_gid is a case-sensitive string uniquely identifying a blockchain. It is composed of: - namespace — a short identifier describing an ecosystem or standard (e.g. eip155, cosmos) - reference — an identifier for a specific blockchain within that namespace Syntax chain_id = namespace ":" reference namespace = [-a-z0-9]{3,8} reference = [-_a-zA-Z0-9]{1,32} Examples - eip155:1 — Ethereum mainnet - eip155:56 — Binance Smart Chain - cosmos:cosmoshub-4 — Cosmos Hub mainnet - bip122:000000000019d6689c085ae165831e93 — Bitcoin mainnet Example: "eip155:1" - `number` (integer, required) Block number/height on the blockchain Example: 18500000 - `hash` (string) Block hash identifier unique per blockchain (null if not yet fetched) Example: "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" - `status` (string, required) Current processing status of the block: - new: Block has been discovered but not yet fetched - processed: Block transactions have been analyzed and stored - confirmed: Block has reached minimum required confirmations - reorged: Block has been reorganized (chain reorg occurred) Enum: "new", "processed", "confirmed", "reorged" ## Response 400 fields (application/problem+json): - `type` (string, required) A URI reference that identifies the problem type Example: "https://docs.vilna.io/apis/problems/invalid-request" - `title` (string, required) A short, human-readable summary of the problem type Example: "Invalid Request" - `status` (integer, required) The HTTP status code Example: 400 - `detail` (string) A human-readable explanation specific to this occurrence of the problem Example: "Validation error" - `instance` (string) A URI reference that identifies the specific occurrence of the problem Example: "/errors?id=XXXXXX-xxxxx" - `fields` (array) List of invalid fields in the request - `fields.name` (string, required) The name of the invalid field Example: "meta" - `fields.reason` (string, required) Why this field is invalid Example: "Exceeded maximum data size — must not exceed 1000 characters" ## Response 404 fields (application/problem+json): - `type` (string, required) A URI reference that identifies the problem type Example: "https://docs.vilna.io/apis/problems/not-found" - `title` (string, required) A short, human-readable summary of the problem type Example: "Not Found" - `status` (integer, required) The HTTP status code Example: 404 - `detail` (string) A human-readable explanation specific to this occurrence of the problem Example: "The requested resource was not found" - `instance` (string) A URI reference that identifies the specific occurrence of the problem Example: "/errors?id=XXXXXX-xxxxx" ## Response default fields (application/problem+json): - `detail` (string) A human-readable explanation specific to this occurrence of the problem Example: "An unexpected error occurred while processing your request" - `instance` (string) A URI reference that identifies the specific occurrence of the problem Example: "/errors/1234567890" - `status` (integer, required) The HTTP status code Example: 500 - `title` (string, required) A short, human-readable summary of the problem type Example: "Internal Server Error" - `type` (string, required) A URI reference that identifies the problem type Example: "https://api.vilna.io/problems/internal-error"