---
title: "QueryParams returns all current values of provider parameters"
method: GET
path: "/interchain_security/ccv/provider/params"
tags: ["Query"]
---

# QueryParams returns all current values of provider parameters

`GET /interchain_security/ccv/provider/params`

## Request

- Base URL: `https://api.mantrachain.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.mantrachain.io/interchain_security/ccv/provider/params`
- Auth: none declared

## Response `200`

A successful response.

- object
  - `params` object
    - `template_client` object: ClientState from Tendermint tracks the current validator set, latest height, and a possible frozen height.
      - `chain_id` string
      - `trust_level` object: Fraction defines the protobuf message type for tmmath.Fraction that only supports positive values.
        - `numerator` string, uint64
        - `denominator` string, uint64
      - `trusting_period` string
      - `unbonding_period` string
      - `max_clock_drift` string: defines how much new (untrusted) header's Time can drift into the future.
      - `frozen_height` object: Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset Please note that json tags for generated Go code are overridden to explicitly exclude the omitempty jsontag. This enforces the Go json marshaller to always emit zero values for both revision_number and revision_height.
        - `revision_number` string, uint64
        - `revision_height` string, uint64
      - `latest_height` object: Normally the RevisionHeight is incremented at each height while keeping RevisionNumber the same. However some consensus algorithms may choose to reset the height in certain conditions e.g. hard forks, state-machine breaking changes In these cases, the RevisionNumber is incremented so that height continues to be monitonically increasing even as the RevisionHeight gets reset Please note that json tags for generated Go code are overridden to explicitly exclude the omitempty jsontag. This enforces the Go json marshaller to always emit zero values for both revision_number and revision_height.
        - `revision_number` string, uint64
        - `revision_height` string, uint64
      - `proof_specs` object[]
        - `leaf_spec` object: * LeafOp represents the raw key-value data we wish to prove, and must be flexible to represent the internal transformation from the original key-value pairs into the basis hash, for many existing merkle trees. key and value are passed in. So that the signature of this operation is: leafOp(key, value) -> output To process this, first prehash the keys and values if needed (ANY means no hash in this case): hkey = prehashKey(key) hvalue = prehashValue(value) Then combine the bytes, and hash it output = hash(prefix || length(hkey) || hkey || length(hvalue) || hvalue)
          - `hash` 'NO_HASH' | 'SHA256' | 'SHA512' | 'KECCAK256' | 'RIPEMD160' | 'BITCOIN' | 'SHA512_256' | 'BLAKE2B_512' | 'BLAKE2S_256' | 'BLAKE3': - NO_HASH: NO_HASH is the default if no data passed. Note this is an illegal argument some places.
          - `prehash_key` 'NO_HASH' | 'SHA256' | 'SHA512' | 'KECCAK256' | 'RIPEMD160' | 'BITCOIN' | 'SHA512_256' | 'BLAKE2B_512' | 'BLAKE2S_256' | 'BLAKE3': - NO_HASH: NO_HASH is the default if no data passed. Note this is an illegal argument some places.
          - `prehash_value` 'NO_HASH' | 'SHA256' | 'SHA512' | 'KECCAK256' | 'RIPEMD160' | 'BITCOIN' | 'SHA512_256' | 'BLAKE2B_512' | 'BLAKE2S_256' | 'BLAKE3': - NO_HASH: NO_HASH is the default if no data passed. Note this is an illegal argument some places.
          - `length` 'NO_PREFIX' | 'VAR_PROTO' | 'VAR_RLP' | 'FIXED32_BIG' | 'FIXED32_LITTLE' | 'FIXED64_BIG' | 'FIXED64_LITTLE' | 'REQUIRE_32_BYTES' | 'REQUIRE_64_BYTES': - NO_PREFIX: NO_PREFIX don't include any length info - VAR_PROTO: VAR_PROTO uses protobuf (and go-amino) varint encoding of the length - VAR_RLP: VAR_RLP uses rlp int encoding of the length - FIXED32_BIG: FIXED32_BIG uses big-endian encoding of the length as a 32 bit integer - FIXED32_LITTLE: FIXED32_LITTLE uses little-endian encoding of the length as a 32 bit integer - FIXED64_BIG: FIXED64_BIG uses big-endian encoding of the length as a 64 bit integer - FIXED64_LITTLE: FIXED64_LITTLE uses little-endian encoding of the length as a 64 bit integer - REQUIRE_32_BYTES: REQUIRE_32_BYTES is like NONE, but will fail if the input is not exactly 32 bytes (sha256 output) - REQUIRE_64_BYTES: REQUIRE_64_BYTES is like NONE, but will fail if the input is not exactly 64 bytes (sha512 output)
          - `prefix` string, byte: prefix is a fixed bytes that may optionally be included at the beginning to differentiate a leaf node from an inner node.
        - `inner_spec` object: InnerSpec contains all store-specific structure info to determine if two proofs from a given store are neighbors. This enables: isLeftMost(spec: InnerSpec, op: InnerOp) isRightMost(spec: InnerSpec, op: InnerOp) isLeftNeighbor(spec: InnerSpec, left: InnerOp, right: InnerOp)
          - `child_order` integer[]
          - `child_size` integer
          - `min_prefix_length` integer
          - `max_prefix_length` integer
          - `empty_child` string, byte
          - `hash` 'NO_HASH' | 'SHA256' | 'SHA512' | 'KECCAK256' | 'RIPEMD160' | 'BITCOIN' | 'SHA512_256' | 'BLAKE2B_512' | 'BLAKE2S_256' | 'BLAKE3': - NO_HASH: NO_HASH is the default if no data passed. Note this is an illegal argument some places.
        - `max_depth` integer
        - `min_depth` integer
        - `prehash_key_before_comparison` boolean: prehash_key_before_comparison is a flag that indicates whether to use the prehash_key specified by LeafOp to compare lexical ordering of keys for non-existence proofs.
      - `upgrade_path` string[]
      - `allow_update_after_expiry` boolean
      - `allow_update_after_misbehaviour` boolean
    - `trusting_period_fraction` string
    - `ccv_timeout_period` string
    - `slash_meter_replenish_period` string
    - `slash_meter_replenish_fraction` string: The fraction of total voting power that is replenished to the slash meter every replenish period. This param also serves as a maximum fraction of total voting power that the slash meter can hold.
    - `consumer_reward_denom_registration_fee` object: Coin defines a token with a denomination and an amount. NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto.
      - `denom` string
      - `amount` string
    - `blocks_per_epoch` string, int64: The number of blocks that comprise an epoch.
    - `number_of_epochs_to_start_receiving_rewards` string, int64: The number of epochs a validator has to validate a consumer chain in order to start receiving rewards from that chain.
    - `max_provider_consensus_validators` string, int64: The maximal number of validators that will be passed to the consensus engine on the provider.

## Other responses

- `default`: An unexpected error response.

---

[API](https://skmtc.dev/mantrachain/apis/mantra-grpc-gateway-docs.md) - [All operations](https://skmtc.dev/mantrachain/apis/mantra-grpc-gateway-docs/llms.txt) - [OpenAPI document](https://skmtc.dev/mantrachain/apis/mantra-grpc-gateway-docs/revisions/641ce457f7fd?raw)
