> ## Documentation Index
> Fetch the complete documentation index at: https://cosmos-docs-sync-security-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# consensus_state

> Get consensus state

Get consensus state.

Not safe to call from inside the ABCI application during a block execution.



## OpenAPI

````yaml /cometbft/latest/api-reference/rpc/openapi.yaml get /consensus_state
openapi: 3.0.0
info:
  title: CometBFT RPC
  contact:
    name: CometBFT
    url: https://docs.cosmos.network/cometbft
  description: >
    CometBFT supports the following RPC protocols:


    * URI over HTTP

    * JSONRPC over HTTP

    * JSONRPC over websockets


    ## Configuration


    RPC can be configured by tuning parameters under `[rpc]` table in the

    `$CMTHOME/config/config.toml` file or by using the `--rpc.X` command-line

    flags.


    The default RPC listen address is `tcp://127.0.0.1:26657`.

    To set another address, set the `laddr` config parameter to desired value.

    CORS (Cross-Origin Resource Sharing) can be enabled by setting

    `cors_allowed_origins`, `cors_allowed_methods`, `cors_allowed_headers`

    config parameters.


    If testing using a local RPC node, under the `[rpc]`

    section change the `cors_allowed_origins` property, please add the URL of

    the site where this OpenAPI document is running, for example:

      `cors_allowed_origins = ["http://localhost:8088"]`

    or if testing from the official documentation site:

      `cors_allowed_origins = ["https://docs.cosmos.network"]`

    ## Arguments


    Arguments which expect strings or byte arrays may be passed as quoted

    strings, like `"abc"` or as `0x`-prefixed strings, like `0x616263`.


    ## URI/HTTP


    A REST like interface.

        curl localhost:26657/block?height=5

    ## JSONRPC/HTTP


    JSONRPC requests can be POST'd to the root RPC endpoint via HTTP.

        curl --header "Content-Type: application/json" --request POST --data '{"method": "block", "params": ["5"], "id": 1}' localhost:26657

    ## JSONRPC/websockets


    JSONRPC requests can be also made via websocket.

    The websocket endpoint is at `/websocket`, e.g. `localhost:26657/websocket`.

    Asynchronous RPC functions like event `subscribe` and `unsubscribe` are

    only available via websockets.


    For example using the [websocat](https://github.com/vi/websocat) tool, you
    can subscribe for 'NewBlock` events

    with the following command:

        echo '{ "jsonrpc": "2.0","method": "subscribe","id": 0,"params": {"query": "tm.event='"'NewBlock'"'"} }' | websocat -n -t ws://127.0.0.1:26657/websocket
  version: v0.38.x
  license:
    name: Apache 2.0
    url: https://github.com/cometbft/cometbft/blob/v0.38.x/LICENSE
servers:
  - url: https://rpc.cosmos.directory/cosmoshub
    description: Interact with the CometBFT RPC from a public node in the Cosmos registry
  - url: http://localhost:26657
    description: Interact with CometBFT RPC node running locally
security: []
tags:
  - name: Info
    description: Informations about the node APIs
  - name: Tx
    description: Transactions broadcast APIs
  - name: ABCI
    description: ABCI APIs
  - name: Evidence
    description: Evidence APIs
  - name: Unsafe
    description: Unsafe APIs
paths:
  /consensus_state:
    get:
      tags:
        - Info
      summary: consensus_state
      description: >-
        Get consensus state


        Get consensus state.


        Not safe to call from inside the ABCI application during a block
        execution.
      operationId: consensus_state
      responses:
        '200':
          description: consensus state results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsensusStateResponse'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ConsensusStateResponse:
      type: object
      required:
        - jsonrpc
        - id
        - result
      properties:
        jsonrpc:
          type: string
          example: '2.0'
        id:
          type: integer
          example: 0
        result:
          required:
            - round_state
          properties:
            round_state:
              required:
                - height/round/step
                - start_time
                - proposal_block_hash
                - locked_block_hash
                - valid_block_hash
                - height_vote_set
                - proposer
              properties:
                height/round/step:
                  type: string
                  example: 1262197/0/8
                start_time:
                  type: string
                  example: '2019-08-01T11:52:38.962730289Z'
                proposal_block_hash:
                  type: string
                  example: >-
                    634ADAF1F402663BEC2ABC340ECE8B4B45AA906FA603272ACC5F5EED3097E009
                locked_block_hash:
                  type: string
                  example: >-
                    634ADAF1F402663BEC2ABC340ECE8B4B45AA906FA603272ACC5F5EED3097E009
                valid_block_hash:
                  type: string
                  example: >-
                    634ADAF1F402663BEC2ABC340ECE8B4B45AA906FA603272ACC5F5EED3097E009
                height_vote_set:
                  type: array
                  items:
                    type: object
                    properties:
                      round:
                        type: integer
                        example: 0
                      prevotes:
                        type: array
                        items:
                          type: string
                        example:
                          - >-
                            Vote{0:000001E443FD 1262197/00/1(Prevote)
                            634ADAF1F402 7BB974E1BA40 @
                            2019-08-01T11:52:35.513572509Z}
                          - nil-Vote
                      prevotes_bit_array:
                        type: string
                        example: >-
                          BA{100:xxxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
                          169753436/170151262 = 1.00
                      precommits:
                        type: array
                        items:
                          type: string
                        example:
                          - >-
                            Vote{5:18C78D135C9D 1262197/00/2(Precommit)
                            634ADAF1F402 8B5EFFFEABCD @
                            2019-08-01T11:52:36.25600005Z}
                          - nil-Vote
                      precommits_bit_array:
                        type: string
                        example: >-
                          BA{100:xxxxxx_xxxxx_xxxx_x_xxx_xx_xx_xx__x_x_x__xxxxxxxxxxxxxx_xxxx_xx_xxxxxx_xxxxxxxx_xxxx_xxx_x_xxxx__xxx}
                          118726247/170151262 = 0.70
                proposer:
                  type: object
                  properties:
                    address:
                      type: string
                      example: D540AB022088612AC74B287D076DBFBC4A377A2E
                    index:
                      type: integer
                      example: 0
              type: object
          type: object
    ErrorResponse:
      description: Error Response
      allOf:
        - $ref: '#/components/schemas/JSONRPC'
        - type: object
          properties:
            error:
              type: string
              example: Description of failure
    JSONRPC:
      type: object
      properties:
        id:
          type: integer
          example: 0
        jsonrpc:
          type: string
          example: '2.0'

````