Chainstack Debug API

The Debug API from Chainstack — 3 operation(s) for debug.

Documentation

📖
Documentation
https://docs.chainstack.com/reference/platform-api-getting-started
📖
Documentation
https://docs.chainstack.com/reference/ethereum-getting-started
📖
Documentation
https://docs.chainstack.com/reference/ethereum-beacon-chain-api-getting-started
📖
Documentation
https://docs.chainstack.com/reference/solana-getting-started
📖
Documentation
https://docs.chainstack.com/reference/bitcoin-getting-started
📖
Documentation
https://docs.chainstack.com/reference/bnb-chain-getting-started
📖
Documentation
https://docs.chainstack.com/reference/polygon-getting-started
📖
Documentation
https://docs.chainstack.com/reference/arbitrum-getting-started
📖
Documentation
https://docs.chainstack.com/reference/optimism-getting-started
📖
Documentation
https://docs.chainstack.com/reference/base-getting-started
📖
Documentation
https://docs.chainstack.com/reference/avalanche-getting-started
📖
Documentation
https://docs.chainstack.com/reference/fantom-getting-started
📖
Documentation
https://docs.chainstack.com/reference/gnosis-getting-started
📖
Documentation
https://docs.chainstack.com/reference/cronos-getting-started
📖
Documentation
https://docs.chainstack.com/reference/aurora-getting-started
📖
Documentation
https://docs.chainstack.com/reference/ronin-getting-started
📖
Documentation
https://docs.chainstack.com/reference/tron-getting-started
📖
Documentation
https://docs.chainstack.com/reference/ton-getting-started
📖
Documentation
https://docs.chainstack.com/reference/starknet-getting-started
📖
Documentation
https://docs.chainstack.com/reference/zksync-getting-started
📖
Documentation
https://docs.chainstack.com/reference/polygon-zkevm-getting-started
📖
Documentation
https://docs.chainstack.com/reference/hyperliquid-getting-started
📖
Documentation
https://docs.chainstack.com/reference/monad-getting-started
📖
Documentation
https://docs.chainstack.com/reference/plasma-getting-started
📖
Documentation
https://docs.chainstack.com/reference/tempo-getting-started

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

chainstack-debug-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Chainstack Arbitrum Node Account Info Debug API
  version: 1.0.0
  description: Chainstack-managed RPC node API for the Arbitrum blockchain. Endpoints follow the canonical JSON-RPC over HTTPS interface for the network. Authenticate against your Chainstack node's per-node URL (e.g. https://nd-XXX-XXX-XXX.p2pify.com/<key>). Merged from the Chainstack Developer Portal per-method fragments at https://github.com/chainstack/dev-portal/tree/main/openapi/arbitrum_node_api.
  contact:
    name: Chainstack API Support
    email: support@chainstack.com
  license:
    name: Chainstack Terms
    url: https://chainstack.com/terms-of-service/
servers:
- url: https://{node_id}.p2pify.com/{api_key}
  description: Chainstack-managed node endpoint
  variables:
    node_id:
      default: nd-000-000-000
      description: Your Chainstack node identifier
    api_key:
      default: <api-key>
      description: Per-node access key
tags:
- name: Debug
paths:
  /getDebugBeaconHeadsV2:
    get:
      summary: Get fork choice leaves
      operationId: getDebugBeaconHeadsV2
      description: Retrieves all possible chain heads (leaves of fork choice tree). This endpoint provides insight into the current fork choice state by returning all potential chain heads that the beacon node is tracking.
      tags:
      - Debug
      responses:
        '200':
          description: Success - Fork choice leaves retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDebugChainHeadsResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /getDebugBeaconStateV2:
    get:
      summary: Get full BeaconState object
      operationId: getDebugBeaconStateV2
      description: Returns full BeaconState object for given stateId. This is a comprehensive debug endpoint that provides the complete state of the beacon chain at a specific point, including all validator information, balances, and other state details. Depending on Accept header it can be returned either as JSON or as bytes serialized by SSZ.
      tags:
      - Debug
      parameters:
      - name: state_id
        in: path
        description: 'State identifier. Can be one of: ''head'' (canonical head in node''s view), ''genesis'', ''finalized'', ''justified'', <slot>, <hex encoded stateRoot with 0x prefix>.'
        required: true
        schema:
          type: string
          default: head
      responses:
        '200':
          description: Success - Full BeaconState object retrieved
          headers:
            Eth-Consensus-Version:
              description: The active consensus version to which the data belongs. Required in response so client can deserialize returned JSON or SSZ data more effectively.
              required: true
              schema:
                type: string
                enum:
                - phase0
                - altair
                - bellatrix
                - capella
                - deneb
                - electra
                example: deneb
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetStateV2Response'
            application/octet-stream:
              schema:
                type: string
                format: binary
                description: SSZ serialized BeaconState object
        '400':
          description: Invalid state ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: State not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /getDebugForkChoice:
    get:
      summary: Get fork choice array
      operationId: getDebugForkChoice
      description: Retrieves all current fork choice context including justified and finalized checkpoints, and the complete fork choice tree with all nodes and their weights.
      tags:
      - Debug
      responses:
        '200':
          description: Success - Fork choice data retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetForkChoiceResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    ChainHead:
      type: object
      required:
      - root
      - slot
      - execution_optimistic
      properties:
        root:
          type: string
          format: hex
          example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
          pattern: ^0x[a-fA-F0-9]{64}$
          description: The block root of this chain head
        slot:
          type: string
          example: '1'
          description: The slot number of this chain head
        execution_optimistic:
          type: boolean
          example: false
          description: True if this head references an unverified execution payload. Optimistic information may be invalidated at a later time.
    Checkpoint:
      type: object
      properties:
        epoch:
          type: integer
          format: int64
        root:
          type: string
      required:
      - epoch
      - root
    GetStateV2Response:
      type: object
      required:
      - version
      - execution_optimistic
      - finalized
      - data
      properties:
        version:
          type: string
          enum:
          - phase0
          - altair
          - bellatrix
          - capella
          - deneb
          - electra
          example: deneb
          description: The consensus version of the state
        execution_optimistic:
          type: boolean
          example: false
          description: True if the response references an unverified execution payload. Optimistic information may be invalidated at a later time.
        finalized:
          type: boolean
          example: false
          description: True if the response references the finalized history of the chain, as determined by fork choice.
        data:
          type: object
          description: The full BeaconState object. The structure varies based on the consensus version.
          properties:
            genesis_time:
              type: string
              example: '1606824023'
              description: Unix timestamp of the chain genesis
            genesis_validators_root:
              type: string
              format: hex
              example: '0x4b363db94e286120d76eb905340fdd4e54bfe9f06bf33ff6cf5ad27f511bfe95'
              pattern: ^0x[a-fA-F0-9]{64}$
              description: Root hash of the genesis validators
            slot:
              type: string
              example: '1'
              description: Current slot number
            fork:
              type: object
              description: Fork information
              properties:
                previous_version:
                  type: string
                  format: hex
                  pattern: ^0x[a-fA-F0-9]{8}$
                current_version:
                  type: string
                  format: hex
                  pattern: ^0x[a-fA-F0-9]{8}$
                epoch:
                  type: string
                  example: '1'
            latest_block_header:
              type: object
              description: Latest block header information
            block_roots:
              type: array
              description: Array of recent block roots
              items:
                type: string
                format: hex
                pattern: ^0x[a-fA-F0-9]{64}$
            state_roots:
              type: array
              description: Array of recent state roots
              items:
                type: string
                format: hex
                pattern: ^0x[a-fA-F0-9]{64}$
            validators:
              type: array
              description: Array of all validators
              items:
                type: object
                properties:
                  pubkey:
                    type: string
                    format: hex
                    pattern: ^0x[a-fA-F0-9]{96}$
                  withdrawal_credentials:
                    type: string
                    format: hex
                    pattern: ^0x[a-fA-F0-9]{64}$
                  effective_balance:
                    type: string
                  slashed:
                    type: boolean
                  activation_eligibility_epoch:
                    type: string
                  activation_epoch:
                    type: string
                  exit_epoch:
                    type: string
                  withdrawable_epoch:
                    type: string
            balances:
              type: array
              description: Validator balances
              items:
                type: string
            eth1_data:
              type: object
              description: Eth1 chain data
            eth1_data_votes:
              type: array
              description: Votes for Eth1 data
              items:
                type: object
            eth1_deposit_index:
              type: string
              description: Eth1 deposit index
            previous_justified_checkpoint:
              type: object
              description: Previous justified checkpoint
            current_justified_checkpoint:
              type: object
              description: Current justified checkpoint
            finalized_checkpoint:
              type: object
              description: Finalized checkpoint
    Error:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
      required:
      - code
      - message
    ForkChoiceNode:
      type: object
      description: Fork choice node attributes
      required:
      - slot
      - block_root
      - parent_root
      - justified_epoch
      - finalized_epoch
      - weight
      - validity
      - execution_block_hash
      properties:
        slot:
          type: string
          example: '1'
          description: The slot to which this block corresponds
        block_root:
          type: string
          format: hex
          example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
          pattern: ^0x[a-fA-F0-9]{64}$
          description: The signing merkle root of the BeaconBlock
        parent_root:
          type: string
          format: hex
          example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
          pattern: ^0x[a-fA-F0-9]{64}$
          description: The signing merkle root of the parent BeaconBlock
        justified_epoch:
          type: string
          example: '1'
          description: The justified epoch from this block's perspective
        finalized_epoch:
          type: string
          example: '1'
          description: The finalized epoch from this block's perspective
        weight:
          type: string
          example: '1'
          description: The weight/score of this block in the fork choice algorithm
        validity:
          type: string
          enum:
          - valid
          - invalid
          - optimistic
          description: The validity status of this block
        execution_block_hash:
          type: string
          format: hex
          example: '0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2'
          pattern: ^0x[a-fA-F0-9]{64}$
          description: The block_hash from the execution_payload of the BeaconBlock
        extra_data:
          type: object
          description: Optional extra data that clients may provide, which could differ from client to client
    GetDebugChainHeadsResponse:
      type: object
      required:
      - data
      properties:
        data:
          type: array
          description: Array of all chain heads (fork choice leaves)
          items:
            $ref: '#/components/schemas/ChainHead'
    GetForkChoiceResponse:
      type: object
      description: Debugging context of fork choice
      required:
      - justified_checkpoint
      - finalized_checkpoint
      - fork_choice_nodes
      properties:
        justified_checkpoint:
          $ref: '#/components/schemas/Checkpoint'
        finalized_checkpoint:
          $ref: '#/components/schemas/Checkpoint'
        fork_choice_nodes:
          type: array
          description: Fork choice nodes representing the complete fork choice tree
          minItems: 1
          items:
            $ref: '#/components/schemas/ForkChoiceNode'
        extra_data:
          type: object
          description: Optional extra data that clients may provide, which could differ from client to client