Skip to Content

Cosmos

Spectrum supports these Cosmos SDK chains: cosmoshub, osmosis, axelar, noble, and agoric. Want another chain supported? Contact us.

Standard methods

These methods share request and response shapes with the rest of the API; the examples below are shown for cosmoshub. On any Cosmos chain, pass a base denom (e.g. uatom) or an IBC hash (ibc/...) anywhere an ERC-20 contract address would normally go.

getBlockHeight

Returns the latest block number for EVM/Bitcoin or slot for Solana.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getBlockHeight",
  "params": {
    "chain": "cosmoshub"
  },
  "id": 1
}

Parameters

NameRequiredDescription
chainyesNetwork slug

Response Fields

FieldType
dataobject
chainstring
heightinteger

Supported Networks

EthereumPolygonBNB ChainOptimismBaseAvalancheArbitrumGnosisMoonbeamLineaHyperliquidBerachainMonadScrollPlasmaX LayerSolanaBitcoinStarknetCosmos HubOsmosisAxelarNobleAgoric
Try It
{
  "jsonrpc": "2.0",
  "method": "getBlockHeight",
  "params": {
    "chain": "cosmoshub"
  },
  "id": 1
}

getBlockTransactions

Returns all transactions in a specific block. On EVM the response includes full transaction objects (from, to, value, input data, gas). On Starknet the transactions come from `starknet_getBlockWithTxs`. On Cosmos SDK chains they are decoded from the LCD `txs/block/{n}` endpoint (sdk 0.50+).

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getBlockTransactions",
  "params": {
    "chain": "cosmoshub",
    "blockNumber": 21000000
  },
  "id": 1
}

Parameters

NameRequiredDescription
chainyesNetwork slug
blockNumberyesBlock number to fetch transactions from
e.g. 21000000

Response Fields

FieldType
dataobject
chainstring
blockNumberinteger
hashstring
timestampstring
transactionCountinteger
transactionsobject[]
txhashstring
heightstring
codeinteger
gas_wantedstring
gas_usedstring

Supported Networks

EthereumPolygonBNB ChainOptimismBaseAvalancheArbitrumGnosisMoonbeamLineaHyperliquidBerachainMonadScrollPlasmaX LayerStarknetCosmos HubOsmosisAxelarNobleAgoric
Try It
{
  "jsonrpc": "2.0",
  "method": "getBlockTransactions",
  "params": {
    "chain": "cosmoshub",
    "blockNumber": 21000000
  },
  "id": 1
}

getReceipt

Returns the full transaction receipt. EVM responses include gas used, status, contract creation address, logs, and decoded event names. Starknet receipts are returned in their native Cairo shape. Cosmos chains return a decoded `tx_response` from the LCD.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getReceipt",
  "params": {
    "chain": "cosmoshub",
    "hash": "C8E5A3B1F0D74926A8C3E5B7D9F1A2C4E6B8D0F2A4C6E8B0D2F4A6C8E0B2D4F6"
  },
  "id": 1
}
Decoded Events (EVM)
TransferApprovalSwapSyncDepositWithdrawal

Parameters

NameRequiredDescription
chainyesNetwork slug
hashyesTransaction hash (0x + 64 hex)
e.g. C8E5A3B1F0D74926A8C3E5B7D9F1A2C4E6B8D0F2A4C6E8B0D2F4A6C8E0B2D4F6

Response Fields

FieldType
dataobject
chainstring
txobject
@typestring
bodyobject
messagesobject[]
tx_responseobject
heightstring
txhashstring
codeinteger
gas_wantedstring
gas_usedstring
timestampstring
raw_logstring

Supported Networks

EthereumPolygonBNB ChainOptimismBaseAvalancheArbitrumGnosisMoonbeamLineaHyperliquidBerachainMonadScrollPlasmaX LayerStarknetCosmos HubOsmosisAxelarNobleAgoric
Try It
{
  "jsonrpc": "2.0",
  "method": "getReceipt",
  "params": {
    "chain": "cosmoshub",
    "hash": "C8E5A3B1F0D74926A8C3E5B7D9F1A2C4E6B8D0F2A4C6E8B0D2F4A6C8E0B2D4F6"
  },
  "id": 1
}

getTokenBalance

Returns the balance of a specific ERC-20 or SPL token. Pass the token contract (or mint) address. Response includes the decimal-adjusted `balance`, the on-chain integer `balanceRaw`, and the token `decimals` so integrators can do their own arithmetic without a separate metadata call.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getTokenBalance",
  "params": {
    "chain": "cosmoshub",
    "address": "cosmos1qphf0ferqcch0jca9hlqfm3x0eds3dpkac4g9j",
    "token": "uatom",
    "blockHeight": 19834521
  },
  "id": 1
}

Parameters

NameRequiredDescription
chainyesNetwork slug
addressyesWallet address
e.g. cosmos1qphf0ferqcch0jca9hlqfm3x0eds3dpkac4g9j
tokenyesToken contract address
e.g. uatom
blockHeightnoHistorical EVM block number (archive nodes only)
e.g. 19834521

Response Fields

FieldType
dataobject
chainstring
addressstring
tokenstring
balancestring
balanceRawstring

Supported Networks

EthereumPolygonBNB ChainOptimismBaseAvalancheArbitrumGnosisMoonbeamLineaHyperliquidBerachainMonadScrollPlasmaX LayerSolanaStarknetCosmos HubOsmosisAxelarNobleAgoric
Try It
{
  "jsonrpc": "2.0",
  "method": "getTokenBalance",
  "params": {
    "chain": "cosmoshub",
    "address": "cosmos1qphf0ferqcch0jca9hlqfm3x0eds3dpkac4g9j",
    "token": "uatom",
    "blockHeight": 19834521
  },
  "id": 1
}

getTokenMetadata

Returns name, symbol, decimals, and total supply for an ERC-20 token (EVM), a denom (Cosmos SDK), or an SPL mint (Solana). Responses are cached for 1 hour. On Cosmos chains pass a base denom (e.g. `uatom`) or an IBC hash; on Solana pass the SPL mint — `name`/`symbol`/`uri` come from Metaplex or the Token-2022 metadata extension.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getTokenMetadata",
  "params": {
    "chain": "cosmoshub",
    "address": "uatom",
    "blockHeight": 19834521
  },
  "id": 1
}

Parameters

NameRequiredDescription
chainyesNetwork slug
addressyesToken contract address (0x...)
e.g. uatom
blockHeightnoHistorical EVM block number (archive nodes only)
e.g. 19834521

Response Fields

FieldType
dataobject
chainstring
addressstring
metadataobject
descriptionstring
denom_unitsobject[]
denomstring
exponentinteger
basestring
displaystring
namestring
symbolstring

Supported Networks

EthereumPolygonBNB ChainOptimismBaseAvalancheArbitrumGnosisMoonbeamLineaHyperliquidBerachainMonadScrollPlasmaX LayerCosmos HubOsmosisAxelarNobleAgoricSolana
Try It
{
  "jsonrpc": "2.0",
  "method": "getTokenMetadata",
  "params": {
    "chain": "cosmoshub",
    "address": "uatom",
    "blockHeight": 19834521
  },
  "id": 1
}

getDenomSupply

Returns the total bank supply for a denom on a Cosmos SDK chain. Pass a base denom (e.g. `uatom`) or an IBC hash (`ibc/...`). Cosmos chains only; for EVM total supply use `getTokenMetadata` (the `totalSupply` field).

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getDenomSupply",
  "params": {
    "chain": "cosmoshub",
    "denom": "uatom"
  },
  "id": 1
}

Parameters

NameRequiredDescription
chainyesCosmos SDK chain slug
denomyesBase denom (e.g. `uatom`) or IBC hash (`ibc/...`)
e.g. uatom

Response Fields

FieldType
dataobject
chainstring
denomstring
amountobject
denomstring
amountstring

Supported Networks

Cosmos HubOsmosisAxelarNobleAgoric
Try It
{
  "jsonrpc": "2.0",
  "method": "getDenomSupply",
  "params": {
    "chain": "cosmoshub",
    "denom": "uatom"
  },
  "id": 1
}

getChainHealth

Pings the chain's RPC node and returns status, current block height, and response latency in milliseconds. Returns HTTP 503 with status "degraded" or "down" if the RPC is unreachable.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getChainHealth",
  "params": {
    "chain": "cosmoshub"
  },
  "id": 1
}

Parameters

NameRequiredDescription
chainyesNetwork slug

Response Fields

FieldType
dataobject
chainstring
statusstring
typestring
blockHeightinteger
timestampstring

Supported Networks

EthereumPolygonBNB ChainOptimismBaseAvalancheArbitrumGnosisMoonbeamLineaHyperliquidBerachainMonadScrollPlasmaX LayerSolanaBitcoinStarknetCosmos HubOsmosisAxelarNobleAgoric
Try It
{
  "jsonrpc": "2.0",
  "method": "getChainHealth",
  "params": {
    "chain": "cosmoshub"
  },
  "id": 1
}

Also available on Cosmos chains: getBlockByNumber and getBlockByHash (see Blocks), getTransactionByHash (see Transactions). Native getBalance is not available on Cosmos. Read balances with getTokenBalance and a denom.

Cosmos-specific methods

These methods are unique to Cosmos SDK chains. They are backed by each chain’s REST (LCD) endpoint and surface the staking, distribution, and auth modules through Spectrum’s normalized envelope.


getAccount

Returns account info (account number, sequence, pubkey) for a Cosmos address. Backed by the auth module (`cosmos/auth/v1beta1/accounts/{address}`).

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getAccount",
  "params": {
    "chain": "cosmoshub",
    "address": "cosmos1..."
  },
  "id": 1
}

Parameters

NameRequiredDescription
chainyesCosmos SDK chain slug
addressyesBech32 account address
e.g. cosmos1...

Response Fields

FieldType
dataobject
chainstring
addressstring
accountobject
@typestring
addressstring
pub_keynull
account_numberstring
sequencestring

Supported Networks

Cosmos HubOsmosisAxelarNobleAgoric
Try It
{
  "jsonrpc": "2.0",
  "method": "getAccount",
  "params": {
    "chain": "cosmoshub",
    "address": "cosmos1..."
  },
  "id": 1
}

getDelegations

Returns active delegations for a delegator. Backed by `cosmos/staking/v1beta1/delegations/{delegator_addr}`.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getDelegations",
  "params": {
    "chain": "cosmoshub",
    "delegator": "cosmos1..."
  },
  "id": 1
}

Parameters

NameRequiredDescription
chainyesCosmos SDK chain slug
delegatoryesDelegator bech32 address
e.g. cosmos1...

Response Fields

FieldType
dataobject
chainstring
delegatorstring
delegation_responsesobject[]
delegationobject
delegator_addressstring
validator_addressstring
sharesstring
balanceobject
denomstring
amountstring

Supported Networks

Cosmos HubOsmosisAxelarNobleAgoric
Try It
{
  "jsonrpc": "2.0",
  "method": "getDelegations",
  "params": {
    "chain": "cosmoshub",
    "delegator": "cosmos1..."
  },
  "id": 1
}

getUnbondingDelegations

Returns in-flight unbonding delegations for a delegator. Backed by `cosmos/staking/v1beta1/delegators/{delegator_addr}/unbonding_delegations`.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getUnbondingDelegations",
  "params": {
    "chain": "cosmoshub",
    "delegator": "cosmos1..."
  },
  "id": 1
}

Parameters

NameRequiredDescription
chainyesCosmos SDK chain slug
delegatoryesDelegator bech32 address
e.g. cosmos1...

Response Fields

FieldType
dataobject
chainstring
delegatorstring
unbonding_responsesobject[]
delegator_addressstring
validator_addressstring
entriesobject[]
creation_heightstring
completion_timestring
initial_balancestring
balancestring

Supported Networks

Cosmos HubOsmosisAxelarNobleAgoric
Try It
{
  "jsonrpc": "2.0",
  "method": "getUnbondingDelegations",
  "params": {
    "chain": "cosmoshub",
    "delegator": "cosmos1..."
  },
  "id": 1
}

getStakingRewards

Returns outstanding staking rewards across all validators for a delegator. Backed by the distribution module (`cosmos/distribution/v1beta1/delegators/{delegator_addr}/rewards`). Not available on `noble`, which does not expose the distribution module.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getStakingRewards",
  "params": {
    "chain": "cosmoshub",
    "delegator": "cosmos1..."
  },
  "id": 1
}

Parameters

NameRequiredDescription
chainyesCosmos SDK chain slug
delegatoryesDelegator bech32 address
e.g. cosmos1...

Response Fields

FieldType
dataobject
chainstring
delegatorstring
rewardsobject[]
validator_addressstring
rewardobject[]
denomstring
amountstring
totalobject[]
denomstring
amountstring

Supported Networks

Cosmos HubOsmosisAxelarAgoric
Try It
{
  "jsonrpc": "2.0",
  "method": "getStakingRewards",
  "params": {
    "chain": "cosmoshub",
    "delegator": "cosmos1..."
  },
  "id": 1
}

getValidators

Returns the validator set for the chain. Backed by `cosmos/staking/v1beta1/validators`.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getValidators",
  "params": {
    "chain": "cosmoshub"
  },
  "id": 1
}

Parameters

NameRequiredDescription
chainyesCosmos SDK chain slug

Response Fields

FieldType
dataobject
chainstring
validatorsobject[]
operator_addressstring
jailedboolean
statusstring
tokensstring
delegator_sharesstring
descriptionobject
monikerstring

Supported Networks

Cosmos HubOsmosisAxelarNobleAgoric
Try It
{
  "jsonrpc": "2.0",
  "method": "getValidators",
  "params": {
    "chain": "cosmoshub"
  },
  "id": 1
}

getValidator

Returns a single validator by operator address. Backed by `cosmos/staking/v1beta1/validators/{validator_addr}`.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getValidator",
  "params": {
    "chain": "cosmoshub",
    "validatorAddr": "cosmosvaloper1..."
  },
  "id": 1
}

Parameters

NameRequiredDescription
chainyesCosmos SDK chain slug
validatorAddryesValidator operator address
e.g. cosmosvaloper1...

Response Fields

FieldType
dataobject
chainstring
validatorAddrstring
validatorobject
operator_addressstring
jailedboolean
statusstring
tokensstring
descriptionobject
monikerstring
commissionobject
commission_ratesobject

Supported Networks

Cosmos HubOsmosisAxelarNobleAgoric
Try It
{
  "jsonrpc": "2.0",
  "method": "getValidator",
  "params": {
    "chain": "cosmoshub",
    "validatorAddr": "cosmosvaloper1..."
  },
  "id": 1
}

getStakingPool

Returns the staking pool totals (`bonded_tokens` and `not_bonded_tokens`). Backed by `cosmos/staking/v1beta1/pool`.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getStakingPool",
  "params": {
    "chain": "cosmoshub"
  },
  "id": 1
}

Parameters

NameRequiredDescription
chainyesCosmos SDK chain slug

Response Fields

FieldType
dataobject
chainstring
poolobject
not_bonded_tokensstring
bonded_tokensstring

Supported Networks

Cosmos HubOsmosisAxelarNobleAgoric
Try It
{
  "jsonrpc": "2.0",
  "method": "getStakingPool",
  "params": {
    "chain": "cosmoshub"
  },
  "id": 1
}

getBlockResults

Returns Tendermint `block_results` for a height: begin/end-block events, per-transaction results (gas, code, events), validator updates, and consensus param changes. Fetched via the chain's Tendermint RPC.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getBlockResults",
  "params": {
    "chain": "cosmoshub",
    "block": 21345678
  },
  "id": 1
}

Parameters

NameRequiredDescription
chainyesCosmos SDK chain slug
blockyesBlock height
e.g. 21345678

Response Fields

FieldType
dataobject
chainstring
blockinteger
resultsobject
heightstring
txs_resultsobject[]
codeinteger
gas_wantedstring
gas_usedstring
finalize_block_eventsarray
validator_updatesarray
consensus_param_updatesobject

Supported Networks

Cosmos HubOsmosisAxelarNobleAgoric
Try It
{
  "jsonrpc": "2.0",
  "method": "getBlockResults",
  "params": {
    "chain": "cosmoshub",
    "block": 21345678
  },
  "id": 1
}

Address conventions

Cosmos SDK uses three bech32 address types:

  • cosmos1...: account addresses (delegators, recipients)
  • cosmosvaloper1...: validator operator addresses (used by getValidator)
  • cosmosvalcons1...: validator consensus addresses

The HRP (cosmos, osmo, axelar, noble, agoric) varies per chain. Substitute the chain’s own prefix for the cosmos shown in the examples above.