Cosmos Service API

The Service API from Cosmos — 19 operation(s) for service.

Operations 20

GET /cosmos/base/node/v1beta1/config Config queries for the operator configuration. #
GET /cosmos/base/node/v1beta1/status Status queries for the node status. #
GET /cosmos/base/tendermint/v1beta1/abci_query ABCIQuery defines a query handler that supports ABCI queries directly to the application, bypassing Tendermint completely. The ABCI query must contain a valid and supported path, i #
GET /cosmos/base/tendermint/v1beta1/block_results/latest GetLatestBlockResults returns the block results for the latest block. Block results contain finalize_block_events which include consensus-level events like slashing, jailing, and v #
GET /cosmos/base/tendermint/v1beta1/block_results/{height} GetBlockResults queries block results for given height. #
GET /cosmos/base/tendermint/v1beta1/blocks/latest GetLatestBlock returns the latest block. #
GET /cosmos/base/tendermint/v1beta1/blocks/{height} GetBlockByHeight queries block for given height. #
GET /cosmos/base/tendermint/v1beta1/node_info GetNodeInfo queries the current node info. #
GET /cosmos/base/tendermint/v1beta1/syncing GetSyncing queries node syncing. #
GET /cosmos/base/tendermint/v1beta1/validatorsets/latest GetLatestValidatorSet queries latest validator-set. #
GET /cosmos/base/tendermint/v1beta1/validatorsets/{height} GetValidatorSetByHeight queries validator-set at a given height. #
POST /cosmos/tx/v1beta1/decode TxDecode decodes the transaction. #
POST /cosmos/tx/v1beta1/decode/amino TxDecodeAmino decodes an Amino transaction from encoded bytes to JSON. #
POST /cosmos/tx/v1beta1/encode TxEncode encodes the transaction. #
POST /cosmos/tx/v1beta1/encode/amino TxEncodeAmino encodes an Amino transaction from JSON to encoded bytes. #
POST /cosmos/tx/v1beta1/simulate Simulate simulates executing a transaction for estimating gas usage. #
GET /cosmos/tx/v1beta1/txs GetTxsEvent fetches txs by event. #
POST /cosmos/tx/v1beta1/txs BroadcastTx broadcast transaction. #
GET /cosmos/tx/v1beta1/txs/block/{height} GetBlockWithTxs fetches a block with decoded txs. #
GET /cosmos/tx/v1beta1/txs/{hash} GetTx fetches a tx by hash. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cosmos-service-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cosmos-service-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cosmos SDK - gRPC Gateway docs Query Service API
  description: A REST interface for state queries.
  version: 1.0.0
servers:
- url: https://lcd.cosmos.network/
tags:
- name: Service
paths:
  /cosmos/base/node/v1beta1/config:
    get:
      summary: Config queries for the operator configuration.
      operationId: Config
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  minimumGasPrice:
                    type: string
                  pruningKeepRecent:
                    type: string
                  pruningInterval:
                    type: string
                  haltHeight:
                    type: string
                    format: uint64
                description: ConfigResponse defines the response structure for the Config gRPC query.
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    format: int32
                  message:
                    type: string
                  details:
                    type: array
                    items:
                      type: object
                      properties:
                        '@type':
                          type: string
                      additionalProperties: {}
      tags:
      - Service
  /cosmos/base/node/v1beta1/status:
    get:
      summary: Status queries for the node status.
      operationId: Status
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  earliestStoreHeight:
                    type: string
                    format: uint64
                    title: earliest block height available in the store
                  height:
                    type: string
                    format: uint64
                    title: current block height
                  timestamp:
                    type: string
                    format: date-time
                    title: block height timestamp
                  appHash:
                    type: string
                    format: byte
                    title: app hash of the current block
                  validatorHash:
                    type: string
                    format: byte
                    title: validator hash provided by the consensus header
                description: StateResponse defines the response structure for the status of a node.
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    format: int32
                  message:
                    type: string
                  details:
                    type: array
                    items:
                      type: object
                      properties:
                        '@type':
                          type: string
                      additionalProperties: {}
      tags:
      - Service
  /cosmos/base/tendermint/v1beta1/abci_query:
    get:
      summary: 'ABCIQuery defines a query handler that supports ABCI queries directly to the

        application, bypassing Tendermint completely. The ABCI query must contain

        a valid and supported path, including app, custom, p2p, and store.'
      operationId: ABCIQuery
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    format: int64
                  log:
                    type: string
                    title: nondeterministic
                  info:
                    type: string
                    title: nondeterministic
                  index:
                    type: string
                    format: int64
                  key:
                    type: string
                    format: byte
                  value:
                    type: string
                    format: byte
                  proofOps:
                    type: object
                    properties:
                      ops:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                            key:
                              type: string
                              format: byte
                            data:
                              type: string
                              format: byte
                          description: 'ProofOp defines an operation used for calculating Merkle root. The data could

                            be arbitrary format, providing necessary data for example neighbouring node

                            hash.


                            Note: This type is a duplicate of the ProofOp proto type defined in Tendermint.'
                    description: 'ProofOps is Merkle proof defined by the list of ProofOps.


                      Note: This type is a duplicate of the ProofOps proto type defined in Tendermint.'
                  height:
                    type: string
                    format: int64
                  codespace:
                    type: string
                description: 'ABCIQueryResponse defines the response structure for the ABCIQuery gRPC query.


                  Note: This type is a duplicate of the ResponseQuery proto type defined in

                  Tendermint.'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    format: int32
                  message:
                    type: string
                  details:
                    type: array
                    items:
                      type: object
                      properties:
                        '@type':
                          type: string
                          description: "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n  value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n  URL, or have them precompiled into a binary to avoid any\n  lookup. Therefore, binary compatibility needs to be preserved\n  on changes to types. (Use versioned type names to manage\n  breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics."
                      additionalProperties: {}
                      description: "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n    Foo foo = ...;\n    Any any;\n    any.PackFrom(foo);\n    ...\n    if (any.UnpackTo(&foo)) {\n      ...\n    }\n\nExample 2: Pack and unpack a message in Java.\n\n    Foo foo = ...;\n    Any any = Any.pack(foo);\n    ...\n    if (any.is(Foo.class)) {\n      foo = any.unpack(Foo.class);\n    }\n    // or ...\n    if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n      foo = any.unpack(Foo.getDefaultInstance());\n    }\n\n Example 3: Pack and unpack a message in Python.\n\n    foo = Foo(...)\n    any = Any()\n    any.Pack(foo)\n    ...\n    if any.Is(Foo.DESCRIPTOR):\n      any.Unpack(foo)\n      ...\n\n Example 4: Pack and unpack a message in Go\n\n     foo := &pb.Foo{...}\n     any, err := anypb.New(foo)\n     if err != nil {\n       ...\n     }\n     ...\n     foo := &pb.Foo{}\n     if err := any.UnmarshalTo(foo); err != nil {\n       ...\n     }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n    package google.profile;\n    message Person {\n      string first_name = 1;\n      string last_name = 2;\n    }\n\n    {\n      \"@type\": \"type.googleapis.com/google.profile.Person\",\n      \"firstName\": <string>,\n      \"lastName\": <string>\n    }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n    {\n      \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n      \"value\": \"1.212s\"\n    }"
      parameters:
      - name: data
        in: query
        required: false
        schema:
          type: string
          format: byte
      - name: path
        in: query
        required: false
        schema:
          type: string
      - name: height
        in: query
        required: false
        schema:
          type: string
          format: int64
      - name: prove
        in: query
        required: false
        schema:
          type: boolean
      tags:
      - Service
  /cosmos/base/tendermint/v1beta1/block_results/latest:
    get:
      summary: 'GetLatestBlockResults returns the block results for the latest block.

        Block results contain finalize_block_events which include consensus-level

        events like slashing, jailing, and validator set updates.'
      operationId: GetLatestBlockResults
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  height:
                    type: string
                    format: int64
                    description: height is the block height.
                  txsResults:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: integer
                          format: int64
                        data:
                          type: string
                          format: byte
                        log:
                          type: string
                          title: nondeterministic
                        info:
                          type: string
                          title: nondeterministic
                        gas_wanted:
                          type: string
                          format: int64
                        gas_used:
                          type: string
                          format: int64
                        events:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                              attributes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    key:
                                      type: string
                                    value:
                                      type: string
                                    index:
                                      type: boolean
                                      title: nondeterministic
                                  description: EventAttribute is a single key-value pair, associated with an event.
                            description: 'Event allows application developers to attach additional information to

                              ResponseFinalizeBlock and ResponseCheckTx.

                              Later, transactions may be queried using these events.'
                          title: nondeterministic
                        codespace:
                          type: string
                      description: 'ExecTxResult contains results of executing one individual transaction.


                        * Its structure is equivalent to #ResponseDeliverTx which will be deprecated/deleted'
                    description: txs_results contains the results of each transaction execution.
                  finalizeBlockEvents:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                        attributes:
                          type: array
                          items:
                            type: object
                            properties:
                              key:
                                type: string
                              value:
                                type: string
                              index:
                                type: boolean
                                title: nondeterministic
                            description: EventAttribute is a single key-value pair, associated with an event.
                      description: 'Event allows application developers to attach additional information to

                        ResponseFinalizeBlock and ResponseCheckTx.

                        Later, transactions may be queried using these events.'
                    description: 'finalize_block_events contains consensus-level events emitted during block

                      finalization, including slashing, jailing, and validator set updates.'
                  validatorUpdates:
                    type: array
                    items:
                      type: object
                      properties:
                        pubKey:
                          type: object
                          properties:
                            ed25519:
                              type: string
                              format: byte
                            secp256k1:
                              type: string
                              format: byte
                          title: PublicKey defines the keys available for use with Validators
                        power:
                          type: string
                          format: int64
                    description: validator_updates contains the validator updates for this block.
                  consensusParamUpdates:
                    description: consensus_param_updates contains any consensus parameter updates for this block.
                    type: object
                    properties:
                      block:
                        type: object
                        properties:
                          maxBytes:
                            type: string
                            format: int64
                            title: 'Max block size, in bytes.

                              Note: must be greater than 0'
                          maxGas:
                            type: string
                            format: int64
                            title: 'Max gas per block.

                              Note: must be greater or equal to -1'
                        description: BlockParams contains limits on the block size.
                      evidence:
                        type: object
                        properties:
                          maxAgeNumBlocks:
                            type: string
                            format: int64
                            description: 'Max age of evidence, in blocks.


                              The basic formula for calculating this is: MaxAgeDuration / {average block

                              time}.'
                          maxAgeDuration:
                            type: string
                            description: 'Max age of evidence, in time.


                              It should correspond with an app''s "unbonding period" or other similar

                              mechanism for handling [Nothing-At-Stake

                              attacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed).'
                          maxBytes:
                            type: string
                            format: int64
                            title: 'This sets the maximum size of total evidence in bytes that can be committed in a single block.

                              and should fall comfortably under the max block bytes.

                              Default is 1048576 or 1MB'
                        description: EvidenceParams determine how we handle evidence of malfeasance.
                      validator:
                        type: object
                        properties:
                          pubKeyTypes:
                            type: array
                            items:
                              type: string
                        description: 'ValidatorParams restrict the public key types validators can use.

                          NOTE: uses ABCI pubkey naming, not Amino names.'
                      version:
                        type: object
                        properties:
                          app:
                            type: string
                            format: uint64
                        description: VersionParams contains the ABCI application version.
                      abci:
                        type: object
                        properties:
                          voteExtensionsEnableHeight:
                            type: string
                            format: int64
                            description: 'vote_extensions_enable_height configures the first height during which

                              vote extensions will be enabled. During this specified height, and for all

                              subsequent heights, precommit messages that do not contain valid extension data

                              will be considered invalid. Prior to this height, vote extensions will not

                              be used or accepted by validators on the network.


                              Once enabled, vote extensions will be created by the application in ExtendVote,

                              passed to the application for validation in VerifyVoteExtension and given

                              to the application to use when proposing a block during PrepareProposal.'
                        description: ABCIParams configure functionality specific to the Application Blockchain Interface.
                      authority:
                        type: object
                        properties:
                          authority:
                            type: string
                  appHash:
                    type: string
                    format: byte
                    description: app_hash is the app hash after processing this block.
                description: GetLatestBlockResultsResponse is the response type for the Query/GetLatestBlockResults RPC method.
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    format: int32
                  message:
                    type: string
                  details:
                    type: array
                    items:
                      type: object
                      properties:
                        '@type':
                          type: string
                          description: "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n  value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n  URL, or have them precompiled into a binary to avoid any\n  lookup. Therefore, binary compatibility needs to be preserved\n  on changes to types. (Use versioned type names to manage\n  breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics."
                      additionalProperties: {}
                      description: "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n    Foo foo = ...;\n    Any any;\n    any.PackFrom(foo);\n    ...\n    if (any.UnpackTo(&foo)) {\n      ...\n    }\n\nExample 2: Pack and unpack a message in Java.\n\n    Foo foo = ...;\n    Any any = Any.pack(foo);\n    ...\n    if (any.is(Foo.class)) {\n      foo = any.unpack(Foo.class);\n    }\n    // or ...\n    if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n      foo = any.unpack(Foo.getDefaultInstance());\n    }\n\n Example 3: Pack and unpack a message in Python.\n\n    foo = Foo(...)\n    any = Any()\n    any.Pack(foo)\n    ...\n    if any.Is(Foo.DESCRIPTOR):\n      any.Unpack(foo)\n      ...\n\n Example 4: Pack and unpack a message in Go\n\n     foo := &pb.Foo{...}\n     any, err := anypb.New(foo)\n     if err != nil {\n       ...\n     }\n     ...\n     foo := &pb.Foo{}\n     if err := any.UnmarshalTo(foo); err != nil {\n       ...\n     }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n    package google.profile;\n    message Person {\n      string first_name = 1;\n      string last_name = 2;\n    }\n\n    {\n      \"@type\": \"type.googleapis.com/google.profile.Person\",\n      \"firstName\": <string>,\n      \"lastName\": <string>\n    }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n    {\n      \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n      \"value\": \"1.212s\"\n    }"
      tags:
      - Service
  /cosmos/base/tendermint/v1beta1/block_results/{height}:
    get:
      summary: GetBlockResults queries block results for given height.
      operationId: GetBlockResults
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  height:
                    type: string
                    format: int64
                    description: height is the block height.
                  txsResults:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: integer
                          format: int64
                        data:
                          type: string
                          format: byte
                        log:
                          type: string
                          title: nondeterministic
                        info:
                          type: string
                          title: nondeterministic
                        gas_wanted:
                          type: string
                          format: int64
                        gas_used:
                          type: string
                          format: int64
                        events:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                              attributes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    key:
                                      type: string
                                    value:
                                      type: string
                                    index:
                                      type: boolean
                                      title: nondeterministic
                                  description: EventAttribute is a single key-value pair, associated with an event.
                            description: 'Event allows application developers to attach additional information to

                              ResponseFinalizeBlock and ResponseCheckTx.

                              Later, transactions may be queried using these events.'
                          title: nondeterministic
                        codespace:
                          type: string
                      description: 'ExecTxResult contains results of executing one individual transaction.


                        * Its structure is equivalent to #ResponseDeliverTx which will be deprecated/deleted'
                    description: txs_results contains the results of each transaction execution.
                  finalizeBlockEvents:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                        attributes:
                          type: array
                          items:
                            type: object
                            properties:
                              key:
                                type: string
                              value:
                                type: string
                              index:
                                type: boolean
                                title: nondeterministic
                            description: EventAttribute is a single key-value pair, associated with an event.
                      description: 'Event allows application developers to attach additional information to

                        ResponseFinalizeBlock and ResponseCheckTx.

                        Later, transactions may be queried using these events.'
                    description: 'finalize_block_events contains consensus-level events emitted during block

                      finalization, including slashing, jailing, and validator set updates.'
                  validatorUpdates:
                    type: array
                    items:
                      type: object
                      properties:
                        pubKey:
                          type: object
                          properties:
                            ed25519:
                              type: string
                              format: byte
                            secp256k1:
                              type: string
                              format: byte
                          title: PublicKey defines the keys available for use with Validators
                        power:
                          type: string
                          format: int64
                    description: validator_updates contains the validator updates for this block.
                  consensusParamUpdates:
                    description: consensus_param_updates contains any consensus parameter updates for this block.
                    type: object
                    properties:
                      block:
                        type: object
                        properties:
                          maxBytes:
                            type: string
                            format: int64
                            title: 'Max block size, in bytes.

                              Note: must be greater than 0'
                          maxGas:
                            type: string
                            format: int64
                            title: 'Max gas per block.

                              Note: must be greater or equal to -1'
                        description: BlockParams contains limits on the block size.
                      evidence:
                        type: object
                        properties:
                          maxAgeNumBlocks:
                            type: string
                            format: int64
                            description: 'Max age of evidence, in blocks.


                              The basic formula for calculating this is: MaxAgeDuration / {average block

                              time}.'
                          maxAgeDuration:
                            type: string
                            description: 'Max age of evidence, in time.


                              It should correspond with an app''s "unbonding period" or other similar

                              mechanism for handling [Nothing-At-Stake

                              attacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed).'
                          maxBytes:
                            type: string

# --- truncated at 32 KB (346 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cosmos/refs/heads/main/openapi/cosmos-service-api-openapi.yml