Home

gRPC

NOWNodes provides access to the Cosmos Hub gRPC API. Cosmos Hub is built with Gaia, Cosmos SDK and IBC-Go, so the endpoint exposes protobuf query services for chain state, accounts, balances, staking, governance, transactions and IBC.

Cosmos Hub (ATOM) gRPC API

NOWNodes provides access to the Cosmos Hub gRPC API. Cosmos Hub is built with Gaia, Cosmos SDK and IBC-Go, so the endpoint exposes protobuf query services for chain state, accounts, balances, staking, governance, transactions and IBC.

Endpoint

Copied!
atom-grpc.nownodes.io

Authentication

Copied!
api-key: YOUR_API_KEY

Proto repositories

Copied!
https://github.com/cosmos/gaia
Copied!
https://github.com/cosmos/cosmos-sdk
Copied!
https://github.com/cosmos/ibc-go
Copied!
https://github.com/cometbft/cometbft

Relevant proto/API directories

Copied!
https://github.com/cosmos/gaia/tree/main/proto
Copied!
https://github.com/cosmos/cosmos-sdk/tree/main/proto
Copied!
https://github.com/cosmos/cosmos-sdk/tree/main/api
Copied!
https://github.com/cosmos/ibc-go/tree/main/proto
Copied!
https://github.com/cometbft/cometbft/tree/main/proto

Clone

Copied!
git clone https://github.com/cosmos/gaia.git
git clone https://github.com/cosmos/cosmos-sdk.git
git clone https://github.com/cosmos/ibc-go.git
git clone https://github.com/cometbft/cometbft.git

Use dependency versions referenced by the Gaia release deployed on the server.

Discover available services

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  'atom-grpc.nownodes.io' \

list

Describe a service

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  'atom-grpc.nownodes.io' \

describe cosmos.bank.v1beta1.Query

Describe one method

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  'atom-grpc.nownodes.io' \

describe cosmos.bank.v1beta1.Query.Balance

General request syntax

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d 'REQUEST_JSON' \
  'atom-grpc.nownodes.io' \
Copied!
  SERVICE/METHOD

All response examples are representative protobuf JSON. Amounts, heights, timestamps, hashes, pagination values and module parameters vary by request and chain state.

cosmos.base.tendermint.v1beta1.Service

Node, block, validator-set and ABCI queries.

Methods

GetNodeInfo

Full method

Copied!
cosmos.base.tendermint.v1beta1.Service/GetNodeInfo

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  cosmos.base.tendermint.v1beta1.Service/GetNodeInfo

Example response

Copied!
{
  "defaultNodeInfo": {
    "protocolVersion": {
      "p2p": "8",
      "block": "11",
      "app": "0"
    },
    "defaultNodeId": "NODE_ID",
    "network": "cosmoshub-4",
    "version": "0.38.x",
    "moniker": "node"
  },
  "applicationVersion": {
    "name": "gaia",
    "appName": "gaiad",
    "version": "vXX.X.X",
    "cosmosSdkVersion": "v0.53.x"
  }
}

GetSyncing

Full method

Copied!
cosmos.base.tendermint.v1beta1.Service/GetSyncing

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  cosmos.base.tendermint.v1beta1.Service/GetSyncing

Example response

Copied!
{
  "syncing": false
}

GetLatestBlock

Full method

Copied!
cosmos.base.tendermint.v1beta1.Service/GetLatestBlock

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  cosmos.base.tendermint.v1beta1.Service/GetLatestBlock

Example response

Copied!
{
  "sdkBlock": {
    "header": {
      "chainId": "cosmoshub-4",
      "height": "25000000",
      "time": "2026-07-15T08:00:00Z"
    },
    "data": {
      "txs": []
    }
  }
}

GetBlockByHeight

Full method

Copied!
cosmos.base.tendermint.v1beta1.Service/GetBlockByHeight

Request

Copied!
{
  "height": "25000000"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"height":"25000000"}' \
  'atom-grpc.nownodes.io' \
  cosmos.base.tendermint.v1beta1.Service/GetBlockByHeight

Example response

Copied!
{
  "sdkBlock": {
    "header": {
      "chainId": "cosmoshub-4",
      "height": "25000000",
      "time": "2026-07-15T08:00:00Z"
    },
    "data": {
      "txs": []
    }
  }
}

GetLatestValidatorSet

Full method

Copied!
cosmos.base.tendermint.v1beta1.Service/GetLatestValidatorSet

Request

Copied!
{
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.base.tendermint.v1beta1.Service/GetLatestValidatorSet

Example response

Copied!
{
  "validators": [
    {
      "address": "BASE64_CONSENSUS_ADDRESS",
      "pubKey": {
        "@type": "/cosmos.crypto.ed25519.PubKey",
        "key": "BASE64_KEY"
      },
      "votingPower": "1000000",
      "proposerPriority": "0"
    }
  ],
  "pagination": {
    "nextKey": "",
    "total": "1"
  },
  "blockHeight": "25000000"
}

GetValidatorSetByHeight

Full method

Copied!
cosmos.base.tendermint.v1beta1.Service/GetValidatorSetByHeight

Request

Copied!
{
  "height": "25000000",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"height":"25000000","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.base.tendermint.v1beta1.Service/GetValidatorSetByHeight

Example response

Copied!
{
  "validators": [
    {
      "address": "BASE64_CONSENSUS_ADDRESS",
      "pubKey": {
        "@type": "/cosmos.crypto.ed25519.PubKey",
        "key": "BASE64_KEY"
      },
      "votingPower": "1000000",
      "proposerPriority": "0"
    }
  ],
  "pagination": {
    "nextKey": "",
    "total": "1"
  },
  "blockHeight": "25000000"
}

ABCIQuery

Full method

Copied!
cosmos.base.tendermint.v1beta1.Service/ABCIQuery

Request

Copied!
{
  "path": "/store/bank/key",
  "data": "BASE64_QUERY_DATA",
  "height": "0",
  "prove": false
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"path":"/store/bank/key","data":"BASE64_QUERY_DATA","height":"0","prove":false}' \
  'atom-grpc.nownodes.io' \
  cosmos.base.tendermint.v1beta1.Service/ABCIQuery

Example response

Copied!
{
  "code": 0,
  "log": "",
  "info": "",
  "index": "0",
  "key": "BASE64_KEY",
  "value": "BASE64_VALUE",
  "proofOps": null,
  "height": "25000000",
  "codespace": ""
}

GetLatestBlockResults

Full method

Copied!
cosmos.base.tendermint.v1beta1.Service/GetLatestBlockResults

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  cosmos.base.tendermint.v1beta1.Service/GetLatestBlockResults

Example response

Copied!
{
  "height": "25000000",
  "txResults": [],
  "finalizeBlockEvents": [],
  "validatorUpdates": [],
  "consensusParamUpdates": null
}

GetBlockResults

Full method

Copied!
cosmos.base.tendermint.v1beta1.Service/GetBlockResults

Request

Copied!
{
  "height": "25000000"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"height":"25000000"}' \
  'atom-grpc.nownodes.io' \
  cosmos.base.tendermint.v1beta1.Service/GetBlockResults

Example response

Copied!
{
  "height": "25000000",
  "txResults": [],
  "finalizeBlockEvents": [],
  "validatorUpdates": [],
  "consensusParamUpdates": null
}

cosmos.auth.v1beta1.Query

Accounts and authentication parameters.

Methods

Accounts

Full method

Copied!
cosmos.auth.v1beta1.Query/Accounts

Request

Copied!
{
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.auth.v1beta1.Query/Accounts

Example response

Copied!
{
  "accounts": [
    {
      "@type": "/cosmos.auth.v1beta1.BaseAccount",
      "address": "cosmos1ADDRESS",
      "pubKey": null,
      "accountNumber": "1",
      "sequence": "0"
    }
  ],
  "pagination": {
    "nextKey": "",
    "total": "1"
  }
}

Account

Full method

Copied!
cosmos.auth.v1beta1.Query/Account

Request

Copied!
{
  "address": "cosmos1ADDRESS"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"address":"cosmos1ADDRESS"}' \
  'atom-grpc.nownodes.io' \
  cosmos.auth.v1beta1.Query/Account

Example response

Copied!
{
  "account": {
    "@type": "/cosmos.auth.v1beta1.BaseAccount",
    "address": "cosmos1ADDRESS",
    "pubKey": null,
    "accountNumber": "1",
    "sequence": "0"
  }
}

AccountAddressByID

Full method

Copied!
cosmos.auth.v1beta1.Query/AccountAddressByID

Request

Copied!
{
  "id": "1"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"id":"1"}' \
  'atom-grpc.nownodes.io' \
  cosmos.auth.v1beta1.Query/AccountAddressByID

Example response

Copied!
{
  "accountAddress": "cosmos1ADDRESS"
}

Params

Full method

Copied!
cosmos.auth.v1beta1.Query/Params

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  cosmos.auth.v1beta1.Query/Params

Example response

Copied!
{
  "params": {
    "maxMemoCharacters": "256",
    "txSigLimit": "7",
    "txSizeCostPerByte": "10",
    "sigVerifyCostEd25519": "590",
    "sigVerifyCostSecp256k1": "1000"
  }
}

ModuleAccounts

Full method

Copied!
cosmos.auth.v1beta1.Query/ModuleAccounts

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  cosmos.auth.v1beta1.Query/ModuleAccounts

Example response

Copied!
{
  "accounts": [
    {
      "@type": "/cosmos.auth.v1beta1.ModuleAccount",
      "baseAccount": {
        "address": "cosmos1MODULE",
        "accountNumber": "0",
        "sequence": "0"
      },
      "name": "distribution",
      "permissions": []
    }
  ]
}

ModuleAccountByName

Full method

Copied!
cosmos.auth.v1beta1.Query/ModuleAccountByName

Request

Copied!
{
  "name": "distribution"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"name":"distribution"}' \
  'atom-grpc.nownodes.io' \
  cosmos.auth.v1beta1.Query/ModuleAccountByName

Example response

Copied!
{
  "account": {
    "@type": "/cosmos.auth.v1beta1.ModuleAccount",
    "baseAccount": {
      "address": "cosmos1MODULE"
    },
    "name": "distribution",
    "permissions": []
  }
}

Bech32Prefix

Full method

Copied!
cosmos.auth.v1beta1.Query/Bech32Prefix

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  cosmos.auth.v1beta1.Query/Bech32Prefix

Example response

Copied!
{
  "bech32Prefix": "cosmos"
}

AddressBytesToString

Full method

Copied!
cosmos.auth.v1beta1.Query/AddressBytesToString

Request

Copied!
{
  "addressBytes": "BASE64_ADDRESS_BYTES"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"addressBytes":"BASE64_ADDRESS_BYTES"}' \
  'atom-grpc.nownodes.io' \
  cosmos.auth.v1beta1.Query/AddressBytesToString

Example response

Copied!
{
  "addressString": "cosmos1ADDRESS"
}

AddressStringToBytes

Full method

Copied!
cosmos.auth.v1beta1.Query/AddressStringToBytes

Request

Copied!
{
  "addressString": "cosmos1ADDRESS"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"addressString":"cosmos1ADDRESS"}' \
  'atom-grpc.nownodes.io' \
  cosmos.auth.v1beta1.Query/AddressStringToBytes

Example response

Copied!
{
  "addressBytes": "BASE64_ADDRESS_BYTES"
}

AccountInfo

Full method

Copied!
cosmos.auth.v1beta1.Query/AccountInfo

Request

Copied!
{
  "address": "cosmos1ADDRESS"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"address":"cosmos1ADDRESS"}' \
  'atom-grpc.nownodes.io' \
  cosmos.auth.v1beta1.Query/AccountInfo

Example response

Copied!
{
  "info": {
    "address": "cosmos1ADDRESS",
    "pubKey": null,
    "accountNumber": "1",
    "sequence": "0"
  }
}

cosmos.authz.v1beta1.Query

Authorization grants.

Methods

Grants

Full method

Copied!
cosmos.authz.v1beta1.Query/Grants

Request

Copied!
{
  "granter": "cosmos1GRANTER",
  "grantee": "cosmos1GRANTEE",
  "msgTypeUrl": "/cosmos.bank.v1beta1.MsgSend"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"granter":"cosmos1GRANTER","grantee":"cosmos1GRANTEE","msgTypeUrl":"/cosmos.bank.v1beta1.MsgSend"}' \
  'atom-grpc.nownodes.io' \
  cosmos.authz.v1beta1.Query/Grants

Example response

Copied!
{
  "grants": [
    {
      "authorization": {
        "@type": "/cosmos.authz.v1beta1.GenericAuthorization",
        "msg": "/cosmos.bank.v1beta1.MsgSend"
      },
      "expiration": "2027-01-01T00:00:00Z"
    }
  ],
  "pagination": {
    "nextKey": "",
    "total": "1"
  }
}

GranterGrants

Full method

Copied!
cosmos.authz.v1beta1.Query/GranterGrants

Request

Copied!
{
  "granter": "cosmos1GRANTER",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"granter":"cosmos1GRANTER","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.authz.v1beta1.Query/GranterGrants

Example response

Copied!
{
  "grants": [
    {
      "granter": "cosmos1GRANTER",
      "grantee": "cosmos1GRANTEE",
      "authorization": {
        "@type": "/cosmos.authz.v1beta1.GenericAuthorization",
        "msg": "/cosmos.bank.v1beta1.MsgSend"
      },
      "expiration": "2027-01-01T00:00:00Z"
    }
  ],
  "pagination": {
    "nextKey": "",
    "total": "1"
  }
}

GranteeGrants

Full method

Copied!
cosmos.authz.v1beta1.Query/GranteeGrants

Request

Copied!
{
  "grantee": "cosmos1GRANTEE",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"grantee":"cosmos1GRANTEE","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.authz.v1beta1.Query/GranteeGrants

Example response

Copied!
{
  "grants": [
    {
      "granter": "cosmos1GRANTER",
      "grantee": "cosmos1GRANTEE",
      "authorization": {
        "@type": "/cosmos.authz.v1beta1.GenericAuthorization",
        "msg": "/cosmos.bank.v1beta1.MsgSend"
      },
      "expiration": "2027-01-01T00:00:00Z"
    }
  ],
  "pagination": {
    "nextKey": "",
    "total": "1"
  }
}

cosmos.bank.v1beta1.Query

Balances, supply and denomination metadata.

Methods

Balance

Full method

Copied!
cosmos.bank.v1beta1.Query/Balance

Request

Copied!
{
  "address": "cosmos1ADDRESS",
  "denom": "uatom"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"address":"cosmos1ADDRESS","denom":"uatom"}' \
  'atom-grpc.nownodes.io' \
  cosmos.bank.v1beta1.Query/Balance

Example response

Copied!
{
  "balance": {
    "denom": "uatom",
    "amount": "1234567"
  }
}

AllBalances

Full method

Copied!
cosmos.bank.v1beta1.Query/AllBalances

Request

Copied!
{
  "address": "cosmos1ADDRESS",
  "pagination": {
    "limit": "100"
  },
  "resolveDenom": false
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"address":"cosmos1ADDRESS","pagination":{"limit":"100"},"resolveDenom":false}' \
  'atom-grpc.nownodes.io' \
  cosmos.bank.v1beta1.Query/AllBalances

Example response

Copied!
{
  "balances": [
    {
      "denom": "uatom",
      "amount": "1234567"
    }
  ],
  "pagination": {
    "nextKey": "",
    "total": "1"
  }
}

SpendableBalances

Full method

Copied!
cosmos.bank.v1beta1.Query/SpendableBalances

Request

Copied!
{
  "address": "cosmos1ADDRESS",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"address":"cosmos1ADDRESS","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.bank.v1beta1.Query/SpendableBalances

Example response

Copied!
{
  "balances": [
    {
      "denom": "uatom",
      "amount": "1200000"
    }
  ],
  "pagination": {
    "nextKey": "",
    "total": "1"
  }
}

SpendableBalanceByDenom

Full method

Copied!
cosmos.bank.v1beta1.Query/SpendableBalanceByDenom

Request

Copied!
{
  "address": "cosmos1ADDRESS",
  "denom": "uatom"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"address":"cosmos1ADDRESS","denom":"uatom"}' \
  'atom-grpc.nownodes.io' \
  cosmos.bank.v1beta1.Query/SpendableBalanceByDenom

Example response

Copied!
{
  "balance": {
    "denom": "uatom",
    "amount": "1200000"
  }
}

TotalSupply

Full method

Copied!
cosmos.bank.v1beta1.Query/TotalSupply

Request

Copied!
{
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.bank.v1beta1.Query/TotalSupply

Example response

Copied!
{
  "supply": [
    {
      "denom": "uatom",
      "amount": "390000000000000"
    }
  ],
  "pagination": {
    "nextKey": "",
    "total": "1"
  }
}

SupplyOf

Full method

Copied!
cosmos.bank.v1beta1.Query/SupplyOf

Request

Copied!
{
  "denom": "uatom"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"denom":"uatom"}' \
  'atom-grpc.nownodes.io' \
  cosmos.bank.v1beta1.Query/SupplyOf

Example response

Copied!
{
  "amount": {
    "denom": "uatom",
    "amount": "390000000000000"
  }
}

Params

Full method

Copied!
cosmos.bank.v1beta1.Query/Params

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  cosmos.bank.v1beta1.Query/Params

Example response

Copied!
{
  "params": {
    "sendEnabled": [],
    "defaultSendEnabled": true
  }
}

DenomMetadata

Full method

Copied!
cosmos.bank.v1beta1.Query/DenomMetadata

Request

Copied!
{
  "denom": "uatom"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"denom":"uatom"}' \
  'atom-grpc.nownodes.io' \
  cosmos.bank.v1beta1.Query/DenomMetadata

Example response

Copied!
{
  "metadata": {
    "description": "The native staking token of Cosmos Hub",
    "denomUnits": [
      {
        "denom": "uatom",
        "exponent": 0
      },
      {
        "denom": "atom",
        "exponent": 6
      }
    ],
    "base": "uatom",
    "display": "atom",
    "name": "Cosmos Hub Atom",
    "symbol": "ATOM"
  }
}

DenomsMetadata

Full method

Copied!
cosmos.bank.v1beta1.Query/DenomsMetadata

Request

Copied!
{
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.bank.v1beta1.Query/DenomsMetadata

Example response

Copied!
{
  "metadatas": [
    {
      "base": "uatom",
      "display": "atom",
      "name": "Cosmos Hub Atom",
      "symbol": "ATOM",
      "denomUnits": [
        {
          "denom": "uatom",
          "exponent": 0
        },
        {
          "denom": "atom",
          "exponent": 6
        }
      ]
    }
  ],
  "pagination": {
    "nextKey": "",
    "total": "1"
  }
}

DenomOwners

Full method

Copied!
cosmos.bank.v1beta1.Query/DenomOwners

Request

Copied!
{
  "denom": "uatom",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"denom":"uatom","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.bank.v1beta1.Query/DenomOwners

Example response

Copied!
{
  "denomOwners": [
    {
      "address": "cosmos1ADDRESS",
      "balance": {
        "denom": "uatom",
        "amount": "1234567"
      }
    }
  ],
  "pagination": {
    "nextKey": "",
    "total": "1"
  }
}

DenomOwnersByQuery

Full method

Copied!
cosmos.bank.v1beta1.Query/DenomOwnersByQuery

Request

Copied!
{
  "denom": "uatom",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"denom":"uatom","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.bank.v1beta1.Query/DenomOwnersByQuery

Example response

Copied!
{
  "denomOwners": [
    {
      "address": "cosmos1ADDRESS",
      "balance": {
        "denom": "uatom",
        "amount": "1234567"
      }
    }
  ],
  "pagination": {
    "nextKey": "",
    "total": "1"
  }
}

SendEnabled

Full method

Copied!
cosmos.bank.v1beta1.Query/SendEnabled

Request

Copied!
{
  "denoms": [
    "uatom"
  ],
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"denoms":["uatom"],"pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.bank.v1beta1.Query/SendEnabled

Example response

Copied!
{
  "sendEnabled": [
    {
      "denom": "uatom",
      "enabled": true
    }
  ],
  "pagination": {
    "nextKey": "",
    "total": "1"
  }
}

cosmos.consensus.v1.Query

Consensus parameters.

Methods

Params

Full method

Copied!
cosmos.consensus.v1.Query/Params

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  cosmos.consensus.v1.Query/Params

Example response

Copied!
{
  "params": {
    "block": {
      "maxBytes": "22020096",
      "maxGas": "-1"
    },
    "evidence": {
      "maxAgeNumBlocks": "100000",
      "maxAgeDuration": "172800s",
      "maxBytes": "1048576"
    },
    "validator": {
      "pubKeyTypes": [
        "ed25519"
      ]
    },
    "version": {
      "app": "0"
    },
    "abci": {
      "voteExtensionsEnableHeight": "0"
    }
  }
}

cosmos.distribution.v1beta1.Query

Rewards, commissions and community pool.

Methods

Params

Full method

Copied!
cosmos.distribution.v1beta1.Query/Params

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  cosmos.distribution.v1beta1.Query/Params

Example response

Copied!
{
  "params": {
    "communityTax": "0.020000000000000000",
    "baseProposerReward": "0.000000000000000000",
    "bonusProposerReward": "0.000000000000000000",
    "withdrawAddrEnabled": true
  }
}

ValidatorOutstandingRewards

Full method

Copied!
cosmos.distribution.v1beta1.Query/ValidatorOutstandingRewards

Request

Copied!
{
  "validatorAddress": "cosmosvaloper1VALIDATOR"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"validatorAddress":"cosmosvaloper1VALIDATOR"}' \
  'atom-grpc.nownodes.io' \
  cosmos.distribution.v1beta1.Query/ValidatorOutstandingRewards

Example response

Copied!
{
  "rewards": {
    "rewards": [
      {
        "denom": "uatom",
        "amount": "123.450000000000000000"
      }
    ]
  }
}

ValidatorCommission

Full method

Copied!
cosmos.distribution.v1beta1.Query/ValidatorCommission

Request

Copied!
{
  "validatorAddress": "cosmosvaloper1VALIDATOR"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"validatorAddress":"cosmosvaloper1VALIDATOR"}' \
  'atom-grpc.nownodes.io' \
  cosmos.distribution.v1beta1.Query/ValidatorCommission

Example response

Copied!
{
  "commission": {
    "commission": [
      {
        "denom": "uatom",
        "amount": "12.340000000000000000"
      }
    ]
  }
}

ValidatorSlashes

Full method

Copied!
cosmos.distribution.v1beta1.Query/ValidatorSlashes

Request

Copied!
{
  "validatorAddress": "cosmosvaloper1VALIDATOR",
  "startingHeight": "1",
  "endingHeight": "25000000",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"validatorAddress":"cosmosvaloper1VALIDATOR","startingHeight":"1","endingHeight":"25000000","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.distribution.v1beta1.Query/ValidatorSlashes

Example response

Copied!
{
  "slashes": [
    {
      "validatorPeriod": "1",
      "fraction": "0.010000000000000000"
    }
  ],
  "pagination": {
    "nextKey": "",
    "total": "1"
  }
}

DelegationRewards

Full method

Copied!
cosmos.distribution.v1beta1.Query/DelegationRewards

Request

Copied!
{
  "delegatorAddress": "cosmos1DELEGATOR",
  "validatorAddress": "cosmosvaloper1VALIDATOR"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"delegatorAddress":"cosmos1DELEGATOR","validatorAddress":"cosmosvaloper1VALIDATOR"}' \
  'atom-grpc.nownodes.io' \
  cosmos.distribution.v1beta1.Query/DelegationRewards

Example response

Copied!
{
  "rewards": [
    {
      "denom": "uatom",
      "amount": "10.500000000000000000"
    }
  ]
}

DelegationTotalRewards

Full method

Copied!
cosmos.distribution.v1beta1.Query/DelegationTotalRewards

Request

Copied!
{
  "delegatorAddress": "cosmos1DELEGATOR"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"delegatorAddress":"cosmos1DELEGATOR"}' \
  'atom-grpc.nownodes.io' \
  cosmos.distribution.v1beta1.Query/DelegationTotalRewards

Example response

Copied!
{
  "rewards": [
    {
      "validatorAddress": "cosmosvaloper1VALIDATOR",
      "reward": [
        {
          "denom": "uatom",
          "amount": "10.500000000000000000"
        }
      ]
    }
  ],
  "total": [
    {
      "denom": "uatom",
      "amount": "10.500000000000000000"
    }
  ]
}

DelegatorValidators

Full method

Copied!
cosmos.distribution.v1beta1.Query/DelegatorValidators

Request

Copied!
{
  "delegatorAddress": "cosmos1DELEGATOR"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"delegatorAddress":"cosmos1DELEGATOR"}' \
  'atom-grpc.nownodes.io' \
  cosmos.distribution.v1beta1.Query/DelegatorValidators

Example response

Copied!
{
  "validators": [
    "cosmosvaloper1VALIDATOR"
  ]
}

DelegatorWithdrawAddress

Full method

Copied!
cosmos.distribution.v1beta1.Query/DelegatorWithdrawAddress

Request

Copied!
{
  "delegatorAddress": "cosmos1DELEGATOR"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"delegatorAddress":"cosmos1DELEGATOR"}' \
  'atom-grpc.nownodes.io' \
  cosmos.distribution.v1beta1.Query/DelegatorWithdrawAddress

Example response

Copied!
{
  "withdrawAddress": "cosmos1WITHDRAW"
}

CommunityPool

Full method

Copied!
cosmos.distribution.v1beta1.Query/CommunityPool

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  cosmos.distribution.v1beta1.Query/CommunityPool

Example response

Copied!
{
  "pool": [
    {
      "denom": "uatom",
      "amount": "1000000.000000000000000000"
    }
  ]
}

cosmos.evidence.v1beta1.Query

Submitted evidence.

Methods

Evidence

Full method

Copied!
cosmos.evidence.v1beta1.Query/Evidence

Request

Copied!
{
  "evidenceHash": "BASE64_EVIDENCE_HASH"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"evidenceHash":"BASE64_EVIDENCE_HASH"}' \
  'atom-grpc.nownodes.io' \
  cosmos.evidence.v1beta1.Query/Evidence

Example response

Copied!
{
  "evidence": {
    "@type": "/cosmos.evidence.v1beta1.Equivocation",
    "height": "100",
    "time": "2026-01-01T00:00:00Z",
    "power": "1000",
    "consensusAddress": "cosmosvalcons1ADDRESS"
  }
}

AllEvidence

Full method

Copied!
cosmos.evidence.v1beta1.Query/AllEvidence

Request

Copied!
{
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.evidence.v1beta1.Query/AllEvidence

Example response

Copied!
{
  "evidence": [
    {
      "@type": "/cosmos.evidence.v1beta1.Equivocation",
      "height": "100",
      "power": "1000",
      "consensusAddress": "cosmosvalcons1ADDRESS"
    }
  ],
  "pagination": {
    "nextKey": "",
    "total": "1"
  }
}

cosmos.feegrant.v1beta1.Query

Fee allowances.

Methods

Allowance

Full method

Copied!
cosmos.feegrant.v1beta1.Query/Allowance

Request

Copied!
{
  "granter": "cosmos1GRANTER",
  "grantee": "cosmos1GRANTEE"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"granter":"cosmos1GRANTER","grantee":"cosmos1GRANTEE"}' \
  'atom-grpc.nownodes.io' \
  cosmos.feegrant.v1beta1.Query/Allowance

Example response

Copied!
{
  "allowance": {
    "granter": "cosmos1GRANTER",
    "grantee": "cosmos1GRANTEE",
    "allowance": {
      "@type": "/cosmos.feegrant.v1beta1.BasicAllowance",
      "spendLimit": [
        {
          "denom": "uatom",
          "amount": "1000000"
        }
      ],
      "expiration": "2027-01-01T00:00:00Z"
    }
  }
}

Allowances

Full method

Copied!
cosmos.feegrant.v1beta1.Query/Allowances

Request

Copied!
{
  "grantee": "cosmos1GRANTEE",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"grantee":"cosmos1GRANTEE","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.feegrant.v1beta1.Query/Allowances

Example response

Copied!
{
  "allowances": [
    {
      "granter": "cosmos1GRANTER",
      "grantee": "cosmos1GRANTEE",
      "allowance": {
        "@type": "/cosmos.feegrant.v1beta1.BasicAllowance",
        "spendLimit": [
          {
            "denom": "uatom",
            "amount": "1000000"
          }
        ]
      }
    }
  ],
  "pagination": {
    "nextKey": "",
    "total": "1"
  }
}

AllowancesByGranter

Full method

Copied!
cosmos.feegrant.v1beta1.Query/AllowancesByGranter

Request

Copied!
{
  "granter": "cosmos1GRANTER",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"granter":"cosmos1GRANTER","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.feegrant.v1beta1.Query/AllowancesByGranter

Example response

Copied!
{
  "allowances": [
    {
      "granter": "cosmos1GRANTER",
      "grantee": "cosmos1GRANTEE",
      "allowance": {
        "@type": "/cosmos.feegrant.v1beta1.BasicAllowance"
      }
    }
  ],
  "pagination": {
    "nextKey": "",
    "total": "1"
  }
}

cosmos.gov.v1.Query

Governance proposals, votes, deposits and parameters.

Methods

Constitution

Full method

Copied!
cosmos.gov.v1.Query/Constitution

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  cosmos.gov.v1.Query/Constitution

Example response

Copied!
{
  "constitution": "Cosmos Hub governance constitution text"
}

Proposal

Full method

Copied!
cosmos.gov.v1.Query/Proposal

Request

Copied!
{
  "proposalId": "1"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"proposalId":"1"}' \
  'atom-grpc.nownodes.io' \
  cosmos.gov.v1.Query/Proposal

Example response

Copied!
{
  "proposal": {
    "id": "1",
    "messages": [],
    "status": "PROPOSAL_STATUS_VOTING_PERIOD",
    "finalTallyResult": {
      "yesCount": "0",
      "abstainCount": "0",
      "noCount": "0",
      "noWithVetoCount": "0"
    },
    "submitTime": "2026-01-01T00:00:00Z",
    "depositEndTime": "2026-01-15T00:00:00Z",
    "totalDeposit": [
      {
        "denom": "uatom",
        "amount": "1000000"
      }
    ],
    "votingStartTime": "2026-01-02T00:00:00Z",
    "votingEndTime": "2026-01-16T00:00:00Z",
    "metadata": "",
    "title": "Proposal title",
    "summary": "Proposal summary",
    "proposer": "cosmos1PROPOSER"
  }
}

Proposals

Full method

Copied!
cosmos.gov.v1.Query/Proposals

Request

Copied!
{
  "proposalStatus": "PROPOSAL_STATUS_VOTING_PERIOD",
  "voter": "",
  "depositor": "",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"proposalStatus":"PROPOSAL_STATUS_VOTING_PERIOD","voter":"","depositor":"","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.gov.v1.Query/Proposals

Example response

Copied!
{
  "proposals": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  }
}

Vote

Full method

Copied!
cosmos.gov.v1.Query/Vote

Request

Copied!
{
  "proposalId": "1",
  "voter": "cosmos1VOTER"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"proposalId":"1","voter":"cosmos1VOTER"}' \
  'atom-grpc.nownodes.io' \
  cosmos.gov.v1.Query/Vote

Example response

Copied!
{
  "vote": {
    "proposalId": "1",
    "voter": "cosmos1VOTER",
    "options": [
      {
        "option": "VOTE_OPTION_YES",
        "weight": "1.000000000000000000"
      }
    ],
    "metadata": ""
  }
}

Votes

Full method

Copied!
cosmos.gov.v1.Query/Votes

Request

Copied!
{
  "proposalId": "1",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"proposalId":"1","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.gov.v1.Query/Votes

Example response

Copied!
{
  "votes": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  }
}

Params

Full method

Copied!
cosmos.gov.v1.Query/Params

Request

Copied!
{
  "paramsType": "voting"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"paramsType":"voting"}' \
  'atom-grpc.nownodes.io' \
  cosmos.gov.v1.Query/Params

Example response

Copied!
{
  "params": {
    "minDeposit": [
      {
        "denom": "uatom",
        "amount": "1000000"
      }
    ],
    "maxDepositPeriod": "1209600s",
    "votingPeriod": "1209600s",
    "quorum": "0.400000000000000000",
    "threshold": "0.500000000000000000",
    "vetoThreshold": "0.334000000000000000",
    "minInitialDepositRatio": "0.000000000000000000",
    "proposalCancelRatio": "0.500000000000000000",
    "proposalCancelDest": "",
    "expeditedVotingPeriod": "604800s",
    "expeditedThreshold": "0.667000000000000000",
    "expeditedMinDeposit": [
      {
        "denom": "uatom",
        "amount": "5000000"
      }
    ]
  }
}

Deposit

Full method

Copied!
cosmos.gov.v1.Query/Deposit

Request

Copied!
{
  "proposalId": "1",
  "depositor": "cosmos1DEPOSITOR"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"proposalId":"1","depositor":"cosmos1DEPOSITOR"}' \
  'atom-grpc.nownodes.io' \
  cosmos.gov.v1.Query/Deposit

Example response

Copied!
{
  "deposit": {
    "proposalId": "1",
    "depositor": "cosmos1DEPOSITOR",
    "amount": [
      {
        "denom": "uatom",
        "amount": "1000000"
      }
    ]
  }
}

Deposits

Full method

Copied!
cosmos.gov.v1.Query/Deposits

Request

Copied!
{
  "proposalId": "1",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"proposalId":"1","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.gov.v1.Query/Deposits

Example response

Copied!
{
  "deposits": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  }
}

TallyResult

Full method

Copied!
cosmos.gov.v1.Query/TallyResult

Request

Copied!
{
  "proposalId": "1"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"proposalId":"1"}' \
  'atom-grpc.nownodes.io' \
  cosmos.gov.v1.Query/TallyResult

Example response

Copied!
{
  "tally": {
    "yesCount": "1000000",
    "abstainCount": "0",
    "noCount": "0",
    "noWithVetoCount": "0"
  }
}

cosmos.group.v1.Query

Group, policy and group-proposal queries.

Methods

GroupInfo

Full method

Copied!
cosmos.group.v1.Query/GroupInfo

Request

Copied!
{
  "groupId": "1"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"groupId":"1"}' \
  'atom-grpc.nownodes.io' \
  cosmos.group.v1.Query/GroupInfo

Example response

Copied!
{
  "info": {
    "id": "1",
    "admin": "cosmos1ADMIN",
    "metadata": "",
    "version": "1",
    "totalWeight": "1.000000000000000000",
    "createdAt": "2026-01-01T00:00:00Z"
  }
}

GroupPolicyInfo

Full method

Copied!
cosmos.group.v1.Query/GroupPolicyInfo

Request

Copied!
{
  "address": "cosmos1GROUPPOLICY"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"address":"cosmos1GROUPPOLICY"}' \
  'atom-grpc.nownodes.io' \
  cosmos.group.v1.Query/GroupPolicyInfo

Example response

Copied!
{
  "info": {
    "address": "cosmos1GROUPPOLICY",
    "groupId": "1",
    "admin": "cosmos1ADMIN",
    "metadata": "",
    "version": "1",
    "decisionPolicy": {
      "@type": "/cosmos.group.v1.ThresholdDecisionPolicy",
      "threshold": "1.000000000000000000",
      "windows": {
        "votingPeriod": "604800s",
        "minExecutionPeriod": "0s"
      }
    },
    "createdAt": "2026-01-01T00:00:00Z"
  }
}

GroupMembers

Full method

Copied!
cosmos.group.v1.Query/GroupMembers

Request

Copied!
{
  "groupId": "1",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"groupId":"1","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.group.v1.Query/GroupMembers

Example response

Copied!
{
  "members": [
    {
      "groupId": "1",
      "member": {
        "address": "cosmos1MEMBER",
        "weight": "1.000000000000000000",
        "metadata": "",
        "addedAt": "2026-01-01T00:00:00Z"
      }
    }
  ],
  "pagination": {
    "nextKey": "",
    "total": "1"
  }
}

GroupsByAdmin

Full method

Copied!
cosmos.group.v1.Query/GroupsByAdmin

Request

Copied!
{
  "admin": "cosmos1ADMIN",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"admin":"cosmos1ADMIN","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.group.v1.Query/GroupsByAdmin

Example response

Copied!
{
  "groups": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  }
}

GroupPoliciesByGroup

Full method

Copied!
cosmos.group.v1.Query/GroupPoliciesByGroup

Request

Copied!
{
  "groupId": "1",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"groupId":"1","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.group.v1.Query/GroupPoliciesByGroup

Example response

Copied!
{
  "groupPolicies": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  }
}

GroupPoliciesByAdmin

Full method

Copied!
cosmos.group.v1.Query/GroupPoliciesByAdmin

Request

Copied!
{
  "admin": "cosmos1ADMIN",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"admin":"cosmos1ADMIN","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.group.v1.Query/GroupPoliciesByAdmin

Example response

Copied!
{
  "groupPolicies": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  }
}

Proposal

Full method

Copied!
cosmos.group.v1.Query/Proposal

Request

Copied!
{
  "proposalId": "1"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"proposalId":"1"}' \
  'atom-grpc.nownodes.io' \
  cosmos.group.v1.Query/Proposal

Example response

Copied!
{
  "proposal": {
    "id": "1",
    "groupPolicyAddress": "cosmos1GROUPPOLICY",
    "metadata": "",
    "proposers": [
      "cosmos1PROPOSER"
    ],
    "submitTime": "2026-01-01T00:00:00Z",
    "groupVersion": "1",
    "groupPolicyVersion": "1",
    "status": "PROPOSAL_STATUS_SUBMITTED",
    "finalTallyResult": {
      "yesCount": "0",
      "abstainCount": "0",
      "noCount": "0",
      "noWithVetoCount": "0"
    },
    "votingPeriodEnd": "2026-01-08T00:00:00Z",
    "executorResult": "PROPOSAL_EXECUTOR_RESULT_NOT_RUN",
    "messages": [],
    "title": "Title",
    "summary": "Summary"
  }
}

ProposalsByGroupPolicy

Full method

Copied!
cosmos.group.v1.Query/ProposalsByGroupPolicy

Request

Copied!
{
  "address": "cosmos1GROUPPOLICY",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"address":"cosmos1GROUPPOLICY","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.group.v1.Query/ProposalsByGroupPolicy

Example response

Copied!
{
  "proposals": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  }
}

VoteByProposalVoter

Full method

Copied!
cosmos.group.v1.Query/VoteByProposalVoter

Request

Copied!
{
  "proposalId": "1",
  "voter": "cosmos1VOTER"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"proposalId":"1","voter":"cosmos1VOTER"}' \
  'atom-grpc.nownodes.io' \
  cosmos.group.v1.Query/VoteByProposalVoter

Example response

Copied!
{
  "vote": {
    "proposalId": "1",
    "voter": "cosmos1VOTER",
    "option": "VOTE_OPTION_YES",
    "metadata": "",
    "submitTime": "2026-01-01T00:00:00Z"
  }
}

VotesByProposal

Full method

Copied!
cosmos.group.v1.Query/VotesByProposal

Request

Copied!
{
  "proposalId": "1",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"proposalId":"1","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.group.v1.Query/VotesByProposal

Example response

Copied!
{
  "votes": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  }
}

VotesByVoter

Full method

Copied!
cosmos.group.v1.Query/VotesByVoter

Request

Copied!
{
  "voter": "cosmos1VOTER",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"voter":"cosmos1VOTER","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.group.v1.Query/VotesByVoter

Example response

Copied!
{
  "votes": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  }
}

GroupsByMember

Full method

Copied!
cosmos.group.v1.Query/GroupsByMember

Request

Copied!
{
  "address": "cosmos1MEMBER",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"address":"cosmos1MEMBER","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.group.v1.Query/GroupsByMember

Example response

Copied!
{
  "groups": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  }
}

TallyResult

Full method

Copied!
cosmos.group.v1.Query/TallyResult

Request

Copied!
{
  "proposalId": "1"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"proposalId":"1"}' \
  'atom-grpc.nownodes.io' \
  cosmos.group.v1.Query/TallyResult

Example response

Copied!
{
  "tally": {
    "yesCount": "1.000000000000000000",
    "abstainCount": "0.000000000000000000",
    "noCount": "0.000000000000000000",
    "noWithVetoCount": "0.000000000000000000"
  }
}

cosmos.mint.v1beta1.Query

Mint parameters and inflation.

Methods

Params

Full method

Copied!
cosmos.mint.v1beta1.Query/Params

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  cosmos.mint.v1beta1.Query/Params

Example response

Copied!
{
  "params": {
    "mintDenom": "uatom",
    "inflationRateChange": "0.130000000000000000",
    "inflationMax": "0.200000000000000000",
    "inflationMin": "0.070000000000000000",
    "goalBonded": "0.670000000000000000",
    "blocksPerYear": "6311520"
  }
}

Inflation

Full method

Copied!
cosmos.mint.v1beta1.Query/Inflation

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  cosmos.mint.v1beta1.Query/Inflation

Example response

Copied!
{
  "inflation": "0.100000000000000000"
}

AnnualProvisions

Full method

Copied!
cosmos.mint.v1beta1.Query/AnnualProvisions

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  cosmos.mint.v1beta1.Query/AnnualProvisions

Example response

Copied!
{
  "annualProvisions": "30000000000000.000000000000000000"
}

cosmos.params.v1beta1.Query

Legacy parameter subspace queries.

Methods

Params

Full method

Copied!
cosmos.params.v1beta1.Query/Params

Request

Copied!
{
  "subspace": "staking",
  "key": "MaxValidators"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"subspace":"staking","key":"MaxValidators"}' \
  'atom-grpc.nownodes.io' \
  cosmos.params.v1beta1.Query/Params

Example response

Copied!
{
  "param": {
    "subspace": "staking",
    "key": "MaxValidators",
    "value": "100"
  }
}

Subspaces

Full method

Copied!
cosmos.params.v1beta1.Query/Subspaces

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  cosmos.params.v1beta1.Query/Subspaces

Example response

Copied!
{
  "subspaces": [
    {
      "subspace": "staking",
      "keys": [
        "MaxValidators",
        "BondDenoms"
      ]
    }
  ]
}

cosmos.slashing.v1beta1.Query

Signing information and slashing parameters.

Methods

Params

Full method

Copied!
cosmos.slashing.v1beta1.Query/Params

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  cosmos.slashing.v1beta1.Query/Params

Example response

Copied!
{
  "params": {
    "signedBlocksWindow": "10000",
    "minSignedPerWindow": "0.050000000000000000",
    "downtimeJailDuration": "600s",
    "slashFractionDoubleSign": "0.050000000000000000",
    "slashFractionDowntime": "0.000100000000000000"
  }
}

SigningInfo

Full method

Copied!
cosmos.slashing.v1beta1.Query/SigningInfo

Request

Copied!
{
  "consAddress": "cosmosvalcons1ADDRESS"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"consAddress":"cosmosvalcons1ADDRESS"}' \
  'atom-grpc.nownodes.io' \
  cosmos.slashing.v1beta1.Query/SigningInfo

Example response

Copied!
{
  "valSigningInfo": {
    "address": "cosmosvalcons1ADDRESS",
    "startHeight": "1",
    "indexOffset": "100",
    "jailedUntil": "1970-01-01T00:00:00Z",
    "tombstoned": false,
    "missedBlocksCounter": "0"
  }
}

SigningInfos

Full method

Copied!
cosmos.slashing.v1beta1.Query/SigningInfos

Request

Copied!
{
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.slashing.v1beta1.Query/SigningInfos

Example response

Copied!
{
  "info": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  }
}

cosmos.staking.v1beta1.Query

Validators, delegations and staking parameters.

Methods

Validators

Full method

Copied!
cosmos.staking.v1beta1.Query/Validators

Request

Copied!
{
  "status": "BOND_STATUS_BONDED",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"status":"BOND_STATUS_BONDED","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.staking.v1beta1.Query/Validators

Example response

Copied!
{
  "validators": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  }
}

Validator

Full method

Copied!
cosmos.staking.v1beta1.Query/Validator

Request

Copied!
{
  "validatorAddr": "cosmosvaloper1VALIDATOR"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"validatorAddr":"cosmosvaloper1VALIDATOR"}' \
  'atom-grpc.nownodes.io' \
  cosmos.staking.v1beta1.Query/Validator

Example response

Copied!
{
  "validator": {
    "operatorAddress": "cosmosvaloper1VALIDATOR",
    "consensusPubkey": {
      "@type": "/cosmos.crypto.ed25519.PubKey",
      "key": "BASE64_KEY"
    },
    "jailed": false,
    "status": "BOND_STATUS_BONDED",
    "tokens": "1000000",
    "delegatorShares": "1000000.000000000000000000",
    "description": {
      "moniker": "validator"
    },
    "unbondingHeight": "0",
    "unbondingTime": "1970-01-01T00:00:00Z",
    "commission": {
      "commissionRates": {
        "rate": "0.050000000000000000",
        "maxRate": "0.200000000000000000",
        "maxChangeRate": "0.010000000000000000"
      },
      "updateTime": "2026-01-01T00:00:00Z"
    },
    "minSelfDelegation": "1"
  }
}

ValidatorDelegations

Full method

Copied!
cosmos.staking.v1beta1.Query/ValidatorDelegations

Request

Copied!
{
  "validatorAddr": "cosmosvaloper1VALIDATOR",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"validatorAddr":"cosmosvaloper1VALIDATOR","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.staking.v1beta1.Query/ValidatorDelegations

Example response

Copied!
{
  "delegationResponses": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  }
}

ValidatorUnbondingDelegations

Full method

Copied!
cosmos.staking.v1beta1.Query/ValidatorUnbondingDelegations

Request

Copied!
{
  "validatorAddr": "cosmosvaloper1VALIDATOR",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"validatorAddr":"cosmosvaloper1VALIDATOR","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.staking.v1beta1.Query/ValidatorUnbondingDelegations

Example response

Copied!
{
  "unbondingResponses": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  }
}

Delegation

Full method

Copied!
cosmos.staking.v1beta1.Query/Delegation

Request

Copied!
{
  "delegatorAddr": "cosmos1DELEGATOR",
  "validatorAddr": "cosmosvaloper1VALIDATOR"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"delegatorAddr":"cosmos1DELEGATOR","validatorAddr":"cosmosvaloper1VALIDATOR"}' \
  'atom-grpc.nownodes.io' \
  cosmos.staking.v1beta1.Query/Delegation

Example response

Copied!
{
  "delegationResponse": {
    "delegation": {
      "delegatorAddress": "cosmos1DELEGATOR",
      "validatorAddress": "cosmosvaloper1VALIDATOR",
      "shares": "1000000.000000000000000000"
    },
    "balance": {
      "denom": "uatom",
      "amount": "1000000"
    }
  }
}

DelegatorDelegations

Full method

Copied!
cosmos.staking.v1beta1.Query/DelegatorDelegations

Request

Copied!
{
  "delegatorAddr": "cosmos1DELEGATOR",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"delegatorAddr":"cosmos1DELEGATOR","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.staking.v1beta1.Query/DelegatorDelegations

Example response

Copied!
{
  "delegationResponses": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  }
}

UnbondingDelegation

Full method

Copied!
cosmos.staking.v1beta1.Query/UnbondingDelegation

Request

Copied!
{
  "delegatorAddr": "cosmos1DELEGATOR",
  "validatorAddr": "cosmosvaloper1VALIDATOR"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"delegatorAddr":"cosmos1DELEGATOR","validatorAddr":"cosmosvaloper1VALIDATOR"}' \
  'atom-grpc.nownodes.io' \
  cosmos.staking.v1beta1.Query/UnbondingDelegation

Example response

Copied!
{
  "unbond": {
    "delegatorAddress": "cosmos1DELEGATOR",
    "validatorAddress": "cosmosvaloper1VALIDATOR",
    "entries": []
  }
}

DelegatorUnbondingDelegations

Full method

Copied!
cosmos.staking.v1beta1.Query/DelegatorUnbondingDelegations

Request

Copied!
{
  "delegatorAddr": "cosmos1DELEGATOR",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"delegatorAddr":"cosmos1DELEGATOR","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.staking.v1beta1.Query/DelegatorUnbondingDelegations

Example response

Copied!
{
  "unbondingResponses": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  }
}

Redelegations

Full method

Copied!
cosmos.staking.v1beta1.Query/Redelegations

Request

Copied!
{
  "delegatorAddr": "cosmos1DELEGATOR",
  "srcValidatorAddr": "cosmosvaloper1SRC",
  "dstValidatorAddr": "cosmosvaloper1DST",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"delegatorAddr":"cosmos1DELEGATOR","srcValidatorAddr":"cosmosvaloper1SRC","dstValidatorAddr":"cosmosvaloper1DST","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.staking.v1beta1.Query/Redelegations

Example response

Copied!
{
  "redelegationResponses": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  }
}

DelegatorValidators

Full method

Copied!
cosmos.staking.v1beta1.Query/DelegatorValidators

Request

Copied!
{
  "delegatorAddr": "cosmos1DELEGATOR",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"delegatorAddr":"cosmos1DELEGATOR","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.staking.v1beta1.Query/DelegatorValidators

Example response

Copied!
{
  "validators": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  }
}

DelegatorValidator

Full method

Copied!
cosmos.staking.v1beta1.Query/DelegatorValidator

Request

Copied!
{
  "delegatorAddr": "cosmos1DELEGATOR",
  "validatorAddr": "cosmosvaloper1VALIDATOR"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"delegatorAddr":"cosmos1DELEGATOR","validatorAddr":"cosmosvaloper1VALIDATOR"}' \
  'atom-grpc.nownodes.io' \
  cosmos.staking.v1beta1.Query/DelegatorValidator

Example response

Copied!
{
  "validator": {
    "operatorAddress": "cosmosvaloper1VALIDATOR",
    "status": "BOND_STATUS_BONDED",
    "tokens": "1000000"
  }
}

HistoricalInfo

Full method

Copied!
cosmos.staking.v1beta1.Query/HistoricalInfo

Request

Copied!
{
  "height": "25000000"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"height":"25000000"}' \
  'atom-grpc.nownodes.io' \
  cosmos.staking.v1beta1.Query/HistoricalInfo

Example response

Copied!
{
  "hist": {
    "header": {
      "chainId": "cosmoshub-4",
      "height": "25000000"
    },
    "valset": []
  }
}

Pool

Full method

Copied!
cosmos.staking.v1beta1.Query/Pool

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  cosmos.staking.v1beta1.Query/Pool

Example response

Copied!
{
  "pool": {
    "notBondedTokens": "1000000",
    "bondedTokens": "2000000"
  }
}

Params

Full method

Copied!
cosmos.staking.v1beta1.Query/Params

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  cosmos.staking.v1beta1.Query/Params

Example response

Copied!
{
  "params": {
    "unbondingTime": "1814400s",
    "maxValidators": 180,
    "maxEntries": 7,
    "historicalEntries": 10000,
    "bondDenoms": [
      "uatom"
    ],
    "minCommissionRate": "0.050000000000000000"
  }
}

cosmos.tx.v1beta1.Service

Transaction simulation, lookup, search, encoding and broadcast.

Methods

Simulate

Full method

Copied!
cosmos.tx.v1beta1.Service/Simulate

Request

Copied!
{
  "txBytes": "BASE64_TX_BYTES"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"txBytes":"BASE64_TX_BYTES"}' \
  'atom-grpc.nownodes.io' \
  cosmos.tx.v1beta1.Service/Simulate

Example response

Copied!
{
  "gasInfo": {
    "gasWanted": "200000",
    "gasUsed": "150000"
  },
  "result": {
    "data": "",
    "log": "",
    "events": [],
    "msgResponses": []
  }
}

GetTx

Full method

Copied!
cosmos.tx.v1beta1.Service/GetTx

Request

Copied!
{
  "hash": "TRANSACTION_HASH"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"hash":"TRANSACTION_HASH"}' \
  'atom-grpc.nownodes.io' \
  cosmos.tx.v1beta1.Service/GetTx

Example response

Copied!
{
  "tx": {
    "body": {
      "messages": [],
      "memo": "",
      "timeoutHeight": "0",
      "extensionOptions": [],
      "nonCriticalExtensionOptions": []
    },
    "authInfo": {
      "signerInfos": [],
      "fee": {
        "amount": [
          {
            "denom": "uatom",
            "amount": "5000"
          }
        ],
        "gasLimit": "200000",
        "payer": "",
        "granter": ""
      }
    },
    "signatures": []
  },
  "txResponse": {
    "height": "25000000",
    "txhash": "TRANSACTION_HASH",
    "codespace": "",
    "code": 0,
    "data": "",
    "rawLog": "",
    "logs": [],
    "info": "",
    "gasWanted": "200000",
    "gasUsed": "150000",
    "tx": null,
    "timestamp": "2026-07-15T08:00:00Z",
    "events": []
  }
}

BroadcastTx

Full method

Copied!
cosmos.tx.v1beta1.Service/BroadcastTx

Request

Copied!
{
  "txBytes": "BASE64_SIGNED_TX_BYTES",
  "mode": "BROADCAST_MODE_SYNC"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"txBytes":"BASE64_SIGNED_TX_BYTES","mode":"BROADCAST_MODE_SYNC"}' \
  'atom-grpc.nownodes.io' \
  cosmos.tx.v1beta1.Service/BroadcastTx

Example response

Copied!
{
  "txResponse": {
    "height": "0",
    "txhash": "TRANSACTION_HASH",
    "codespace": "",
    "code": 0,
    "data": "",
    "rawLog": "",
    "logs": [],
    "info": "",
    "gasWanted": "0",
    "gasUsed": "0",
    "tx": null,
    "timestamp": "",
    "events": []
  }
}

GetTxsEvent

Full method

Copied!
cosmos.tx.v1beta1.Service/GetTxsEvent

Request

Copied!
{
  "events": [
    "message.sender='cosmos1ADDRESS'"
  ],
  "pagination": {
    "limit": "100"
  },
  "orderBy": "ORDER_BY_DESC",
  "page": "1",
  "limit": "100"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"events":["message.sender='"'"'cosmos1ADDRESS'"'"'"],"pagination":{"limit":"100"},"orderBy":"ORDER_BY_DESC","page":"1","limit":"100"}' \
  'atom-grpc.nownodes.io' \
  cosmos.tx.v1beta1.Service/GetTxsEvent

Example response

Copied!
{
  "txs": [],
  "txResponses": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  },
  "total": "0"
}

GetBlockWithTxs

Full method

Copied!
cosmos.tx.v1beta1.Service/GetBlockWithTxs

Request

Copied!
{
  "height": "25000000",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"height":"25000000","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  cosmos.tx.v1beta1.Service/GetBlockWithTxs

Example response

Copied!
{
  "txs": [],
  "blockId": {
    "hash": "BASE64_BLOCK_HASH",
    "partSetHeader": {
      "total": 1,
      "hash": "BASE64_PARTS_HASH"
    }
  },
  "block": {
    "header": {
      "chainId": "cosmoshub-4",
      "height": "25000000"
    }
  },
  "pagination": {
    "nextKey": "",
    "total": "0"
  }
}

TxDecode

Full method

Copied!
cosmos.tx.v1beta1.Service/TxDecode

Request

Copied!
{
  "txBytes": "BASE64_TX_BYTES"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"txBytes":"BASE64_TX_BYTES"}' \
  'atom-grpc.nownodes.io' \
  cosmos.tx.v1beta1.Service/TxDecode

Example response

Copied!
{
  "tx": {
    "body": {
      "messages": [],
      "memo": ""
    },
    "authInfo": {
      "signerInfos": [],
      "fee": {
        "amount": [],
        "gasLimit": "0"
      }
    },
    "signatures": []
  }
}

TxEncode

Full method

Copied!
cosmos.tx.v1beta1.Service/TxEncode

Request

Copied!
{
  "tx": {
    "body": {
      "messages": [],
      "memo": ""
    },
    "authInfo": {
      "signerInfos": [],
      "fee": {
        "amount": [],
        "gasLimit": "0"
      }
    },
    "signatures": []
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"tx":{"body":{"messages":[],"memo":""},"authInfo":{"signerInfos":[],"fee":{"amount":[],"gasLimit":"0"}},"signatures":[]}}' \
  'atom-grpc.nownodes.io' \
  cosmos.tx.v1beta1.Service/TxEncode

Example response

Copied!
{
  "txBytes": "BASE64_TX_BYTES"
}

TxEncodeAmino

Full method

Copied!
cosmos.tx.v1beta1.Service/TxEncodeAmino

Request

Copied!
{
  "aminoJson": "AMINO_JSON_STRING"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"aminoJson":"AMINO_JSON_STRING"}' \
  'atom-grpc.nownodes.io' \
  cosmos.tx.v1beta1.Service/TxEncodeAmino

Example response

Copied!
{
  "aminoBinary": "BASE64_AMINO_BINARY"
}

TxDecodeAmino

Full method

Copied!
cosmos.tx.v1beta1.Service/TxDecodeAmino

Request

Copied!
{
  "aminoBinary": "BASE64_AMINO_BINARY"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"aminoBinary":"BASE64_AMINO_BINARY"}' \
  'atom-grpc.nownodes.io' \
  cosmos.tx.v1beta1.Service/TxDecodeAmino

Example response

Copied!
{
  "aminoJson": "AMINO_JSON_STRING"
}

cosmos.upgrade.v1beta1.Query

Software upgrade plans and module versions.

Methods

CurrentPlan

Full method

Copied!
cosmos.upgrade.v1beta1.Query/CurrentPlan

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  cosmos.upgrade.v1beta1.Query/CurrentPlan

Example response

Copied!
{
  "plan": {
    "name": "upgrade-name",
    "time": "0001-01-01T00:00:00Z",
    "height": "26000000",
    "info": ""
  }
}

AppliedPlan

Full method

Copied!
cosmos.upgrade.v1beta1.Query/AppliedPlan

Request

Copied!
{
  "name": "upgrade-name"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"name":"upgrade-name"}' \
  'atom-grpc.nownodes.io' \
  cosmos.upgrade.v1beta1.Query/AppliedPlan

Example response

Copied!
{
  "height": "26000000"
}

UpgradedConsensusState

Full method

Copied!
cosmos.upgrade.v1beta1.Query/UpgradedConsensusState

Request

Copied!
{
  "lastHeight": "25999999"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"lastHeight":"25999999"}' \
  'atom-grpc.nownodes.io' \
  cosmos.upgrade.v1beta1.Query/UpgradedConsensusState

Example response

Copied!
{
  "upgradedConsensusState": "BASE64_CONSENSUS_STATE"
}

ModuleVersions

Full method

Copied!
cosmos.upgrade.v1beta1.Query/ModuleVersions

Request

Copied!
{
  "moduleName": ""
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"moduleName":""}' \
  'atom-grpc.nownodes.io' \
  cosmos.upgrade.v1beta1.Query/ModuleVersions

Example response

Copied!
{
  "moduleVersions": [
    {
      "name": "auth",
      "version": "4"
    },
    {
      "name": "bank",
      "version": "4"
    }
  ]
}

Authority

Full method

Copied!
cosmos.upgrade.v1beta1.Query/Authority

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  cosmos.upgrade.v1beta1.Query/Authority

Example response

Copied!
{
  "address": "cosmos1GOVERNANCE_AUTHORITY"
}

ibc.applications.transfer.v1.Query

IBC token-transfer state.

Methods

DenomTrace

Full method

Copied!
ibc.applications.transfer.v1.Query/DenomTrace

Request

Copied!
{
  "hash": "IBC_DENOM_HASH"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"hash":"IBC_DENOM_HASH"}' \
  'atom-grpc.nownodes.io' \
  ibc.applications.transfer.v1.Query/DenomTrace

Example response

Copied!
{
  "denomTrace": {
    "path": "transfer/channel-0",
    "baseDenom": "uatom"
  }
}

DenomTraces

Full method

Copied!
ibc.applications.transfer.v1.Query/DenomTraces

Request

Copied!
{
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  ibc.applications.transfer.v1.Query/DenomTraces

Example response

Copied!
{
  "denomTraces": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  }
}

Params

Full method

Copied!
ibc.applications.transfer.v1.Query/Params

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  ibc.applications.transfer.v1.Query/Params

Example response

Copied!
{
  "params": {
    "sendEnabled": true,
    "receiveEnabled": true
  }
}

DenomHash

Full method

Copied!
ibc.applications.transfer.v1.Query/DenomHash

Request

Copied!
{
  "trace": "transfer/channel-0/uatom"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"trace":"transfer/channel-0/uatom"}' \
  'atom-grpc.nownodes.io' \
  ibc.applications.transfer.v1.Query/DenomHash

Example response

Copied!
{
  "hash": "IBC_DENOM_HASH"
}

EscrowAddress

Full method

Copied!
ibc.applications.transfer.v1.Query/EscrowAddress

Request

Copied!
{
  "portId": "transfer",
  "channelId": "channel-0"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"portId":"transfer","channelId":"channel-0"}' \
  'atom-grpc.nownodes.io' \
  ibc.applications.transfer.v1.Query/EscrowAddress

Example response

Copied!
{
  "escrowAddress": "cosmos1ESCROW"
}

TotalEscrowForDenom

Full method

Copied!
ibc.applications.transfer.v1.Query/TotalEscrowForDenom

Request

Copied!
{
  "denom": "uatom"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"denom":"uatom"}' \
  'atom-grpc.nownodes.io' \
  ibc.applications.transfer.v1.Query/TotalEscrowForDenom

Example response

Copied!
{
  "amount": {
    "denom": "uatom",
    "amount": "1000000"
  }
}

ibc.core.client.v1.Query

IBC clients and consensus states.

Methods

ClientState

Full method

Copied!
ibc.core.client.v1.Query/ClientState

Request

Copied!
{
  "clientId": "07-tendermint-0"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"clientId":"07-tendermint-0"}' \
  'atom-grpc.nownodes.io' \
  ibc.core.client.v1.Query/ClientState

Example response

Copied!
{
  "clientState": {
    "@type": "/ibc.lightclients.tendermint.v1.ClientState",
    "chainId": "other-chain",
    "latestHeight": {
      "revisionNumber": "1",
      "revisionHeight": "100"
    }
  },
  "proof": "BASE64_PROOF",
  "proofHeight": {
    "revisionNumber": "4",
    "revisionHeight": "25000000"
  }
}

ClientStates

Full method

Copied!
ibc.core.client.v1.Query/ClientStates

Request

Copied!
{
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  ibc.core.client.v1.Query/ClientStates

Example response

Copied!
{
  "clientStates": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  }
}

ConsensusState

Full method

Copied!
ibc.core.client.v1.Query/ConsensusState

Request

Copied!
{
  "clientId": "07-tendermint-0",
  "revisionNumber": "1",
  "revisionHeight": "100",
  "latestHeight": false
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"clientId":"07-tendermint-0","revisionNumber":"1","revisionHeight":"100","latestHeight":false}' \
  'atom-grpc.nownodes.io' \
  ibc.core.client.v1.Query/ConsensusState

Example response

Copied!
{
  "consensusState": {
    "@type": "/ibc.lightclients.tendermint.v1.ConsensusState",
    "timestamp": "2026-01-01T00:00:00Z",
    "root": {
      "hash": "BASE64_ROOT"
    }
  },
  "proof": "BASE64_PROOF",
  "proofHeight": {
    "revisionNumber": "4",
    "revisionHeight": "25000000"
  }
}

ConsensusStates

Full method

Copied!
ibc.core.client.v1.Query/ConsensusStates

Request

Copied!
{
  "clientId": "07-tendermint-0",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"clientId":"07-tendermint-0","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  ibc.core.client.v1.Query/ConsensusStates

Example response

Copied!
{
  "consensusStates": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  }
}

ConsensusStateHeights

Full method

Copied!
ibc.core.client.v1.Query/ConsensusStateHeights

Request

Copied!
{
  "clientId": "07-tendermint-0",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"clientId":"07-tendermint-0","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  ibc.core.client.v1.Query/ConsensusStateHeights

Example response

Copied!
{
  "consensusStateHeights": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  }
}

ClientStatus

Full method

Copied!
ibc.core.client.v1.Query/ClientStatus

Request

Copied!
{
  "clientId": "07-tendermint-0"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"clientId":"07-tendermint-0"}' \
  'atom-grpc.nownodes.io' \
  ibc.core.client.v1.Query/ClientStatus

Example response

Copied!
{
  "status": "Active"
}

ClientParams

Full method

Copied!
ibc.core.client.v1.Query/ClientParams

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  ibc.core.client.v1.Query/ClientParams

Example response

Copied!
{
  "params": {
    "allowedClients": [
      "06-solomachine",
      "07-tendermint"
    ]
  }
}

UpgradedClientState

Full method

Copied!
ibc.core.client.v1.Query/UpgradedClientState

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  ibc.core.client.v1.Query/UpgradedClientState

Example response

Copied!
{
  "upgradedClientState": {
    "@type": "/ibc.lightclients.tendermint.v1.ClientState"
  }
}

UpgradedConsensusState

Full method

Copied!
ibc.core.client.v1.Query/UpgradedConsensusState

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  ibc.core.client.v1.Query/UpgradedConsensusState

Example response

Copied!
{
  "upgradedConsensusState": {
    "@type": "/ibc.lightclients.tendermint.v1.ConsensusState"
  }
}

ibc.core.connection.v1.Query

IBC connections.

Methods

Connection

Full method

Copied!
ibc.core.connection.v1.Query/Connection

Request

Copied!
{
  "connectionId": "connection-0"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"connectionId":"connection-0"}' \
  'atom-grpc.nownodes.io' \
  ibc.core.connection.v1.Query/Connection

Example response

Copied!
{
  "connection": {
    "clientId": "07-tendermint-0",
    "versions": [
      {
        "identifier": "1",
        "features": [
          "ORDER_ORDERED",
          "ORDER_UNORDERED"
        ]
      }
    ],
    "state": "STATE_OPEN",
    "counterparty": {
      "clientId": "07-tendermint-1",
      "connectionId": "connection-1",
      "prefix": {
        "keyPrefix": "BASE64_PREFIX"
      }
    },
    "delayPeriod": "0"
  },
  "proof": "BASE64_PROOF",
  "proofHeight": {
    "revisionNumber": "4",
    "revisionHeight": "25000000"
  }
}

Connections

Full method

Copied!
ibc.core.connection.v1.Query/Connections

Request

Copied!
{
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  ibc.core.connection.v1.Query/Connections

Example response

Copied!
{
  "connections": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  },
  "height": {
    "revisionNumber": "4",
    "revisionHeight": "25000000"
  }
}

ClientConnections

Full method

Copied!
ibc.core.connection.v1.Query/ClientConnections

Request

Copied!
{
  "clientId": "07-tendermint-0"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"clientId":"07-tendermint-0"}' \
  'atom-grpc.nownodes.io' \
  ibc.core.connection.v1.Query/ClientConnections

Example response

Copied!
{
  "connectionPaths": [
    "connection-0"
  ],
  "proof": "BASE64_PROOF",
  "proofHeight": {
    "revisionNumber": "4",
    "revisionHeight": "25000000"
  }
}

ConnectionClientState

Full method

Copied!
ibc.core.connection.v1.Query/ConnectionClientState

Request

Copied!
{
  "connectionId": "connection-0"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"connectionId":"connection-0"}' \
  'atom-grpc.nownodes.io' \
  ibc.core.connection.v1.Query/ConnectionClientState

Example response

Copied!
{
  "identifiedClientState": {
    "clientId": "07-tendermint-0",
    "clientState": {
      "@type": "/ibc.lightclients.tendermint.v1.ClientState"
    }
  },
  "proof": "BASE64_PROOF",
  "proofHeight": {
    "revisionNumber": "4",
    "revisionHeight": "25000000"
  }
}

ConnectionConsensusState

Full method

Copied!
ibc.core.connection.v1.Query/ConnectionConsensusState

Request

Copied!
{
  "connectionId": "connection-0",
  "revisionNumber": "1",
  "revisionHeight": "100"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"connectionId":"connection-0","revisionNumber":"1","revisionHeight":"100"}' \
  'atom-grpc.nownodes.io' \
  ibc.core.connection.v1.Query/ConnectionConsensusState

Example response

Copied!
{
  "consensusState": {
    "@type": "/ibc.lightclients.tendermint.v1.ConsensusState"
  },
  "clientId": "07-tendermint-0",
  "proof": "BASE64_PROOF",
  "proofHeight": {
    "revisionNumber": "4",
    "revisionHeight": "25000000"
  }
}

ConnectionParams

Full method

Copied!
ibc.core.connection.v1.Query/ConnectionParams

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  ibc.core.connection.v1.Query/ConnectionParams

Example response

Copied!
{
  "params": {
    "maxExpectedTimePerBlock": "30000000000"
  }
}

ibc.core.channel.v1.Query

IBC channels and packet state.

Methods

Channel

Full method

Copied!
ibc.core.channel.v1.Query/Channel

Request

Copied!
{
  "portId": "transfer",
  "channelId": "channel-0"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"portId":"transfer","channelId":"channel-0"}' \
  'atom-grpc.nownodes.io' \
  ibc.core.channel.v1.Query/Channel

Example response

Copied!
{
  "channel": {
    "state": "STATE_OPEN",
    "ordering": "ORDER_UNORDERED",
    "counterparty": {
      "portId": "transfer",
      "channelId": "channel-1"
    },
    "connectionHops": [
      "connection-0"
    ],
    "version": "ics20-1"
  },
  "proof": "BASE64_PROOF",
  "proofHeight": {
    "revisionNumber": "4",
    "revisionHeight": "25000000"
  }
}

Channels

Full method

Copied!
ibc.core.channel.v1.Query/Channels

Request

Copied!
{
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  ibc.core.channel.v1.Query/Channels

Example response

Copied!
{
  "channels": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  },
  "height": {
    "revisionNumber": "4",
    "revisionHeight": "25000000"
  }
}

ConnectionChannels

Full method

Copied!
ibc.core.channel.v1.Query/ConnectionChannels

Request

Copied!
{
  "connection": "connection-0",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"connection":"connection-0","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  ibc.core.channel.v1.Query/ConnectionChannels

Example response

Copied!
{
  "channels": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  },
  "height": {
    "revisionNumber": "4",
    "revisionHeight": "25000000"
  }
}

ChannelClientState

Full method

Copied!
ibc.core.channel.v1.Query/ChannelClientState

Request

Copied!
{
  "portId": "transfer",
  "channelId": "channel-0"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"portId":"transfer","channelId":"channel-0"}' \
  'atom-grpc.nownodes.io' \
  ibc.core.channel.v1.Query/ChannelClientState

Example response

Copied!
{
  "identifiedClientState": {
    "clientId": "07-tendermint-0",
    "clientState": {
      "@type": "/ibc.lightclients.tendermint.v1.ClientState"
    }
  },
  "proof": "BASE64_PROOF",
  "proofHeight": {
    "revisionNumber": "4",
    "revisionHeight": "25000000"
  }
}

ChannelConsensusState

Full method

Copied!
ibc.core.channel.v1.Query/ChannelConsensusState

Request

Copied!
{
  "portId": "transfer",
  "channelId": "channel-0",
  "revisionNumber": "1",
  "revisionHeight": "100"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"portId":"transfer","channelId":"channel-0","revisionNumber":"1","revisionHeight":"100"}' \
  'atom-grpc.nownodes.io' \
  ibc.core.channel.v1.Query/ChannelConsensusState

Example response

Copied!
{
  "consensusState": {
    "@type": "/ibc.lightclients.tendermint.v1.ConsensusState"
  },
  "clientId": "07-tendermint-0",
  "proof": "BASE64_PROOF",
  "proofHeight": {
    "revisionNumber": "4",
    "revisionHeight": "25000000"
  }
}

PacketCommitment

Full method

Copied!
ibc.core.channel.v1.Query/PacketCommitment

Request

Copied!
{
  "portId": "transfer",
  "channelId": "channel-0",
  "sequence": "1"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"portId":"transfer","channelId":"channel-0","sequence":"1"}' \
  'atom-grpc.nownodes.io' \
  ibc.core.channel.v1.Query/PacketCommitment

Example response

Copied!
{
  "commitment": "BASE64_COMMITMENT",
  "proof": "BASE64_PROOF",
  "proofHeight": {
    "revisionNumber": "4",
    "revisionHeight": "25000000"
  }
}

PacketCommitments

Full method

Copied!
ibc.core.channel.v1.Query/PacketCommitments

Request

Copied!
{
  "portId": "transfer",
  "channelId": "channel-0",
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"portId":"transfer","channelId":"channel-0","pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  ibc.core.channel.v1.Query/PacketCommitments

Example response

Copied!
{
  "commitments": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  },
  "height": {
    "revisionNumber": "4",
    "revisionHeight": "25000000"
  }
}

PacketReceipt

Full method

Copied!
ibc.core.channel.v1.Query/PacketReceipt

Request

Copied!
{
  "portId": "transfer",
  "channelId": "channel-0",
  "sequence": "1"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"portId":"transfer","channelId":"channel-0","sequence":"1"}' \
  'atom-grpc.nownodes.io' \
  ibc.core.channel.v1.Query/PacketReceipt

Example response

Copied!
{
  "received": true,
  "proof": "BASE64_PROOF",
  "proofHeight": {
    "revisionNumber": "4",
    "revisionHeight": "25000000"
  }
}

PacketAcknowledgement

Full method

Copied!
ibc.core.channel.v1.Query/PacketAcknowledgement

Request

Copied!
{
  "portId": "transfer",
  "channelId": "channel-0",
  "sequence": "1"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"portId":"transfer","channelId":"channel-0","sequence":"1"}' \
  'atom-grpc.nownodes.io' \
  ibc.core.channel.v1.Query/PacketAcknowledgement

Example response

Copied!
{
  "acknowledgement": "BASE64_ACK",
  "proof": "BASE64_PROOF",
  "proofHeight": {
    "revisionNumber": "4",
    "revisionHeight": "25000000"
  }
}

PacketAcknowledgements

Full method

Copied!
ibc.core.channel.v1.Query/PacketAcknowledgements

Request

Copied!
{
  "portId": "transfer",
  "channelId": "channel-0",
  "packetCommitmentSequences": [
    "1"
  ],
  "pagination": {
    "limit": "100"
  }
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"portId":"transfer","channelId":"channel-0","packetCommitmentSequences":["1"],"pagination":{"limit":"100"}}' \
  'atom-grpc.nownodes.io' \
  ibc.core.channel.v1.Query/PacketAcknowledgements

Example response

Copied!
{
  "acknowledgements": [],
  "pagination": {
    "nextKey": "",
    "total": "0"
  },
  "height": {
    "revisionNumber": "4",
    "revisionHeight": "25000000"
  }
}

UnreceivedPackets

Full method

Copied!
ibc.core.channel.v1.Query/UnreceivedPackets

Request

Copied!
{
  "portId": "transfer",
  "channelId": "channel-0",
  "packetCommitmentSequences": [
    "1",
    "2"
  ]
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"portId":"transfer","channelId":"channel-0","packetCommitmentSequences":["1","2"]}' \
  'atom-grpc.nownodes.io' \
  ibc.core.channel.v1.Query/UnreceivedPackets

Example response

Copied!
{
  "sequences": [
    "2"
  ],
  "height": {
    "revisionNumber": "4",
    "revisionHeight": "25000000"
  }
}

UnreceivedAcks

Full method

Copied!
ibc.core.channel.v1.Query/UnreceivedAcks

Request

Copied!
{
  "portId": "transfer",
  "channelId": "channel-0",
  "packetAckSequences": [
    "1",
    "2"
  ]
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"portId":"transfer","channelId":"channel-0","packetAckSequences":["1","2"]}' \
  'atom-grpc.nownodes.io' \
  ibc.core.channel.v1.Query/UnreceivedAcks

Example response

Copied!
{
  "sequences": [
    "2"
  ],
  "height": {
    "revisionNumber": "4",
    "revisionHeight": "25000000"
  }
}

NextSequenceReceive

Full method

Copied!
ibc.core.channel.v1.Query/NextSequenceReceive

Request

Copied!
{
  "portId": "transfer",
  "channelId": "channel-0"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"portId":"transfer","channelId":"channel-0"}' \
  'atom-grpc.nownodes.io' \
  ibc.core.channel.v1.Query/NextSequenceReceive

Example response

Copied!
{
  "nextSequenceReceive": "1",
  "proof": "BASE64_PROOF",
  "proofHeight": {
    "revisionNumber": "4",
    "revisionHeight": "25000000"
  }
}

ibc.applications.interchain_accounts.controller.v1.Query

Interchain Accounts controller queries.

Methods

InterchainAccount

Full method

Copied!
ibc.applications.interchain_accounts.controller.v1.Query/InterchainAccount

Request

Copied!
{
  "owner": "cosmos1OWNER",
  "connectionId": "connection-0"
}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{"owner":"cosmos1OWNER","connectionId":"connection-0"}' \
  'atom-grpc.nownodes.io' \
  ibc.applications.interchain_accounts.controller.v1.Query/InterchainAccount

Example response

Copied!
{
  "address": "cosmos1INTERCHAIN_ACCOUNT"
}

Params

Full method

Copied!
ibc.applications.interchain_accounts.controller.v1.Query/Params

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  ibc.applications.interchain_accounts.controller.v1.Query/Params

Example response

Copied!
{
  "params": {
    "controllerEnabled": true
  }
}

ibc.applications.interchain_accounts.host.v1.Query

Interchain Accounts host queries.

Methods

Params

Full method

Copied!
ibc.applications.interchain_accounts.host.v1.Query/Params

Request

{}

Example request

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -d '{}' \
  'atom-grpc.nownodes.io' \
  ibc.applications.interchain_accounts.host.v1.Query/Params

Example response

Copied!
{
  "params": {
    "hostEnabled": true,
    "allowMessages": [
      "/cosmos.bank.v1beta1.MsgSend"
    ]
  }
}

Pagination

Many list methods accept cosmos.base.query.v1beta1.PageRequest:

Copied!
{
  "pagination": {
    "key": "",
    "offset": "0",
    "limit": "100",
    "countTotal": true,
    "reverse": false
  }
}

key and nextKey are protobuf bytes fields and are Base64 encoded in protobuf JSON.

Historical state

To query state at a historical block height, clients may send the standard Cosmos SDK metadata header:

Copied!
x-cosmos-block-height: BLOCK_HEIGHT

Example

Copied!
grpcurl \
  -insecure \
  -H 'api-key: YOUR_API_KEY' \
  -H 'x-cosmos-block-height: 25000000' \
  -d '{"address":"cosmos1ADDRESS","denom":"uatom"}' \
  'atom-grpc.nownodes.io' \
  cosmos.bank.v1beta1.Query/Balance

Historical state is available only when the backend retains the requested version. A pruned node can return an unavailable-version error.

Address and denomination formats

Bytes and Any fields

Protobuf bytes fields must be Base64 encoded in JSON. Polymorphic google.protobuf.Any objects use an @type field. Cosmos SDK type URLs normally begin with /, for example:

Copied!
{
  "@type": "/cosmos.auth.v1beta1.BaseAccount"
}

Postman setup

Select New → gRPC Request. Enter atom-grpc.nownodes.io. Use server reflection or import proto files matching the Gaia release. Select a service and method. Add metadata:

Copied!
api-key: YOUR_API_KEY

Add the JSON request and click Invoke.

Common errors

UNAUTHENTICATED

The API key is missing or invalid.

Copied!
api-key: YOUR_API_KEY

Server does not support reflection

Import matching Gaia, Cosmos SDK, IBC-Go and CometBFT proto files manually.

Method not found

The deployed Gaia version may expose a different service version or may not register the module. Check reflection before using a method.

Invalid Bech32 address

Use the correct Cosmos Hub address prefix for the requested field.

Invalid denomination

Use uatom for the Cosmos Hub native base denomination unless querying another native or IBC denomination.

Failed to parse bytes

Encode protobuf bytes fields as Base64, not hexadecimal, unless the field is explicitly defined as a string.

Transaction not found

The hash can be invalid, the transaction may not yet be indexed, or the node may not retain the relevant history.

Version does not exist

The backend is pruned or does not have state for the requested historical height.

Unknown field

The request JSON does not match the proto version deployed by the endpoint. Use grpcurl describe to inspect the exact request type.

Copied!